Isabelle 我怎样才能证明;(&"x22C0;x.PROP?px)和&"x27F9;“P?x”号提案;在伊莎贝尔?
这是引理Isabelle 我怎样才能证明;(&"x22C0;x.PROP?px)和&"x27F9;“P?x”号提案;在伊莎贝尔?,isabelle,Isabelle,这是引理meta_spec来自理论Pure.thy。事实证明: lemma meta_spec: assumes "⋀x. PROP P x" shows "PROP P x" by(rule ‹⋀x. PROP P x›) 我的问题是这个方法规则如何工作。它是否超越了参数,然后与假设相统一?这实际上是如何执行的?我不认为使用了内核的定理for all_elim。我决定发表我的评论作为答案,试图关闭这个线程。当然,我很高兴任何更了解情况的人能
meta_spec
来自理论Pure.thy
。事实证明:
lemma meta_spec:
assumes "⋀x. PROP P x"
shows "PROP P x"
by(rule ‹⋀x. PROP P x›)
我的问题是这个方法
规则如何工作。它是否超越了参数,然后与假设相统一?这实际上是如何执行的?我不认为使用了内核的定理for all_elim
。我决定发表我的评论作为答案,试图关闭这个线程。当然,我很高兴任何更了解情况的人能够提供修改/进一步信息
Pure.规则
类似于经典的规则
,两者都在Isar ref文件中进行了描述(更具体地说,请参见Isar ref第6.4.3节和第9.4.3节)。进一步的解释也可以在托比亚斯·尼普科、劳伦斯·保尔森和马库斯·温泽尔(Markus Wenzel)编写的(略显过时)教科书《高阶逻辑的证明助手》(A Proof Assistant for Higher Order Logic)中找到
事实上,正如您所说,规则应用程序的工作原理是将子目标与规则的结论统一起来(但是,我不熟悉实现的所有细节)。此外,据我所知,在方法的实现中,外部元量词并不是通过使用图解变量来隐式的。因此,当然,在实现中不需要为all_elim
调用。事实上,如果你要提供定理⋀十,。PROP P x
直接指向该方法,它将无法实现您的目标PROP P x
然而,我认为,你提出问题的原因不是对方法规则应用背后的主要原则缺乏理解,而是与字面事实形式相关的混淆⋀十,。道具P x›
。
在应用程序的上下文中,这个文字事实对应于相关上下文中的定理PROP P?x
。您可以通过键入thmè来验证这一点⋀十,。道具P x›
如下:
lemma meta_spec:
assumes "⋀x. PROP P x"
shows "PROP P x"
thm ‹⋀x. PROP P x› (*PROP P ?x*)
by(rule ‹⋀x. PROP P x›)
因此,从规则应用程序的角度来看,这个用例没有什么特别之处,因为?x
是PROP p?x
@user9716869中的示意图,所以每个元量化都会转换成一个示意图变量?