coq - Coq 中布尔表达式的案例证明
问题描述
我有一个包含功能:
Fixpoint contains (l: list string) (x: string): bool :=
match l with
| [] => false
| h :: tl => (if (string_dec h x) then true else (contains tl x))
end.
它检查字符串是否在字符串列表中。我想通过对是否contains (vars e) y
成立进行案例分析来证明一个定理。但是,当我对这个布尔值进行破坏时,对于不同的子情况,我没有得到任何额外的假设。
我该如何解决这个问题?
解决方案
如果你想得到相应的假设,用“eqn”给它们起个名字。那是:
destruct (contains (vars e) y) eqn:name.
推荐阅读
- scala - java.lang.AssertionError:断言失败:HiveTableRelation 没有计划
- ios - 从文本文件中解码 SWIFT 模型类
- python - 如何将 xlsxwriter .add_table() 方法与数据框一起使用?
- html - Edge & IE11 未正确显示输入类型文件框
- python - 批量索引Elasticsearch python末尾的换行符
- python - 如何提取出现在特定模式之后的字符串?
- sendmail - 如何将 curl 转换为 http 或链接 - mailgun
- python - ValueError:更新环境时没有足够的值来解包(预期为 2,得到 1)
- ios - 从公共中心一起旋转一组 UIView
- firebase - Firebase 函数 onCreate 触发器错误:TypeError:无法读取未定义的属性“匹配”