coq - Coq:展开棘手的符号
问题描述
假设我想转换~X
为X -> False
使用unfold
策略。
我有两种选择: byunfold not
或 by unfold "~"
。第二种方法显然更方便,因为不需要记住符号后面的定义名称。
但是,在更复杂的情况下,我没有设法做到这一点:
Definition assn_sub X a P : Assertion :=
fun (st : state) =>
P (X !-> aeval st a ; st).
Notation "P [ X |-> a ]" := (assn_sub X a P)
(at level 10, X at next level).
我想在表达中展开它
((fun st0 : state => st0 Y = st0 X + st0 Z) [Z |-> Y - X]) st
不使用assn_sub
. 可能吗?
解决方案
带有下划线,它似乎工作。
unfold "_ [ _ |-> _ ]".
推荐阅读
- react-vis - 在 react-vis 中将颜色属性添加到径向图表
- kubernetes - Kubernetes DSE Cassandra CommitLogReplayer$CommitLogReplayException
- javascript - 如何复制json文件获取的文本?
- javascript - 更改对象的特定键的值
- javascript - 将 chrome 扩展从 manifest v2 迁移到 v3
- java - 有什么方法可以连接以在 .java 文件中提供 gremlin 代码的 AWS 海王星上执行操作
- python - Python-docx:结构问题。一个段落包含两个对象
- firebase - 如何针对firebase函数验证powershell脚本
- vue.js - 如果数据为空或为空,如何设置不显示?
- reactjs - 生产:main@HEAD 在“构建站点”阶段失败:构建脚本返回非零退出代码:1