Isabelle 给出一个定理";P(t)和"x27F6 ;;"""x.P(x)";有了对象逻辑的含义,为什么证明目标是;P(t)和"x27F9 ;;"""x.P(x)";给出了元逻辑的含义?

Isabelle 给出一个定理";P(t)和"x27F6 ;;"""x.P(x)";有了对象逻辑的含义,为什么证明目标是;P(t)和"x27F9 ;;"""x.P(x)";给出了元逻辑的含义?,isabelle,Isabelle,我只是从Isabelle/HOL开始,试图证明一个简单的HOL语句“p(t)⟶ (∃x.P(x))“具有自然演绎规则。我从一个理论文件开始,其中只包含一个定理: theory simple imports Main begin lemma T: shows "P(t) ⟶ (∃x . P(x))" proof (* x *) qed end 在注释中标记为x的位置,当前目标已经是“p(t)⟹ (∃即逻辑蕴涵已经简化为元逻辑蕴涵 通过反复试验,我得到了以下证据: proof as

我只是从Isabelle/HOL开始,试图证明一个简单的HOL语句“p(t)⟶ (∃x.P(x))“具有自然演绎规则。我从一个理论文件开始,其中只包含一个定理:

theory simple imports Main
begin

lemma T: shows "P(t) ⟶ (∃x . P(x))"
proof
  (* x *)
qed  

end
在注释中标记为x的位置,当前目标已经是“p(t)⟹ (∃即逻辑蕴涵已经简化为元逻辑蕴涵

通过反复试验,我得到了以下证据:

proof
  assume "P(t)" then
  have "∃ x . P(x)" by (rule exI) then
  have "P(t) ⟶ (∃x . P(x))" by (rule impI)
  then show "P(t) ⟹ (∃x . P(x))" by (rule impE)
qed
这看起来有点奇怪:我引入了这个含义,只是为了在下一步消除它

我现在的问题是:

  • 改写我的目标是从哪里来的?我在哪里可以找到更多关于它的信息
  • 我如何简化证明(不使用auto绕过ND)
  • 改写我的目标是从哪里来的?我在哪里可以找到更多关于它的信息

    当你像那样使用
    proof
    时,它会朝着你的目标迈出简单的一步。在您的情况下,它将应用
    规则impI
    。如果您不想这样做,请使用
    proof-

    但是您可能确实希望在这里使用隐式
    规则impI
    。请注意,它会改变您的目标,您可以只写:

    proof
      assume "P(t)"
      then show "∃ x . P(x)" by (rule exI)
    qed
    
    这回答了你的第二个问题