- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我注意到,在使用 Isabelle/HOL Isar 时,有几种方法可以处理通用量化。我正在尝试以适合本科生理解和重现的风格编写一些证明(这就是我使用 Isar 的原因!),我对如何以一种好的方式表达全称量化感到困惑。
例如,在 Coq 中,我可以写 forall x, P(x)
然后我可以说“归纳 x”,它会根据相应的归纳原理自动生成目标。然而,在 Isabelle/HOL Isar 中,如果我想直接应用归纳原理,我必须在没有任何量化的情况下陈述定理,如下所示:
lemma foo: P(x)
proof (induct x)
\<And>
和
\<forall>
.但是,如果我以这种方式陈述引理,我不能直接应用归纳原理,我必须首先修复普遍量化的变量......从教育的角度来看,这似乎也不方便:
lemma foo: \<And>x. P(x)
proof -
fix x
show "P(x)"
proof (induct x)
最佳答案
您可以使用 induct_tac
, case_tac
等。这些是 induct
的旧变体/induction
和 cases
在适当的 Isar 中使用的方法。它们可以在目标状态下对绑定(bind)的元通用量化变量进行操作,例如 x
在你的第二个例子中:
lemma foo: "⋀x. P(x :: nat)"
proof (induct_tac x)
induct_tac
的一个缺点超过
induction
是它不提供案例,所以你不能只写
case (Suc x)
然后
from Suc.IH
和
show ?case
在你的证明中。另一个缺点是寻址绑定(bind)变量通常相当脆弱,因为它们的名称通常由 Isabelle 自动生成,并且可能在 Isabelle 更改时更改。 (当然不是你上面显示的情况)
⋀
目标语句中的运算符(即
have
/
show
;它们仍然出现在
assume
中)。
xs @ (ys @ zs) = (xs @ ys) @ zs
更为自然。而不是
∀xs ys zs. xs @ (ys @ zs) = (xs @ ys) @ zs
.
关于proof - Isabelle/HOL 中的通用量化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34486551/
我在 Isabelle/HOL 中有一些定义和定理,需要在 HOL 中使用这些相同的定义和定理。手动翻译代码当然是可能的,但很麻烦。有没有(半)自动执行这种翻译的程序? 如果由于某种原因这是不可能的,
我将从 Isabelle/HOL 开始,并完成发行版中包含的 prog-prove.pdf 教程。我被第 4.4.5 节“规则反转”难住了。本教程(本质上)给出了以下示例: theory Struct
我看过很多关于 Isabelle 的语法和证明策略的文档。然而,我对它的基础知之甚少。我有几个问题,如果有人能花时间回答,我将不胜感激: 为什么 Isabelle/HOL 不承认不终止的函数?许多其他
我注意到,在使用 Isabelle/HOL Isar 时,有几种方法可以处理通用量化。我正在尝试以适合本科生理解和重现的风格编写一些证明(这就是我使用 Isar 的原因!),我对如何以一种好的方式表达
我看到了构造 THE x. A在 Isabelle/HOL 标准库的源代码中。这个构造表示什么?好像和SOME x. A差不多. 最佳答案 THE是一个描述运算符,如 SOME ,但具有较弱的公理化。
我试图在 Isabelle/HOL 中证明这个引理。 引理“(0::nat) ≠ undefined” 但是挑剔的人找到了这个和它的否定的反例 引理“(0::nat) = undefined” 这怎么
根据我对 Isabelle 文件的扫描,Sledgehammer 工具仅适用于 Isabelle/HOL。我很好奇伊莎贝尔其他理论的自动化。例如: 伊莎贝尔/采埃孚 伊莎贝尔/FOL 他们是否支持:
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 6 年前。
我试图证明一个引理在某个部分有一个错误的假设。在 Coq 中,我曾经写过“一致”,它会摆脱目标。但是,我不确定如何在 Isabelle Isar 中进行。我试图证明关于我的 le 的引理功能: pri
考虑以下简单过程语言的 Isabelle/HOL 定义: typedecl channel datatype process = Put channel char process | Get "cha
HTTP2 如何解决线头阻塞 (HOL) 问题? 这个问题在http1.1中很常见,不过听说HTTP2已经修复了这个问题。有人可以解释 HTTP2 究竟是如何解决这个问题的吗? 最佳答案 HTTP 线
我有这个 C 代码: while(p->next) p = p->next; 我想证明不管list有多长,当这个循环结束时,p->next等于NULL,EIP指的是下一条指令在这个循环之后。 但是
问题 Isabelle/HOL验证器的核心算法是什么? 我正在寻找计划元循环评估器级别的东西。 澄清 我只对 Verifier 感兴趣,而不是自动定理证明的策略。 语境 我想从头开始实现一个简单的证明
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
我正在阅读 "Concrete semantics with Isabelle/HOL"我对高阶逻辑非常感兴趣。我知道普通的一阶逻辑和一些模态逻辑,但我以前几乎没有接触过高阶逻辑及其元理论,所以我想填
我很难理解为什么下面的每个示例都有效或无效,更抽象地说,归纳法与战术 vs Isar 是如何相互作用的。我正在使用最新的 Isabelle/HOL (2016-1) 在 Windows 10 上使用
我需要在一篇论文中做一个演示,该论文在某些时候使用了 Isabelle/Isar 和 Isabelle/HOL。 我尝试在线研究 Isabelle/HOL 和 Isabelle/Isar,以便能够在一
在 Isabelle/HOL 中,我可以用 (SOME _. True) 表示任何类型的任意(但固定)值。有没有更简洁的表示法? 最佳答案 未定义 (我希望我可以只写上面的内容,但答案必须超过 9 个
我正在阅读 Isabelle 教程,并试图阐明我使用 primrec 和 fun 的概念。到目前为止我搜索过的内容,包括答案 here ;我知道 primrec 中的构造函数只能有一个方程,而 pri
我是一名优秀的程序员,十分优秀!