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中的示意图,所以每个元量化都会转换成一个示意图变量?