Isabelle 给出一个定理";P(t)和"x27F6 ;;"""x.P(x)";有了对象逻辑的含义,为什么证明目标是;P(t)和"x27F9 ;;"""x.P(x)";给出了元逻辑的含义?
我只是从Isabelle/HOL开始,试图证明一个简单的HOL语句“p(t)⟶ (∃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
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
这看起来有点奇怪:我引入了这个含义,只是为了在下一步消除它
我现在的问题是:
proof
时,它会朝着你的目标迈出简单的一步。在您的情况下,它将应用规则impI
。如果您不想这样做,请使用proof-
但是您可能确实希望在这里使用隐式规则impI
。请注意,它会改变您的目标,您可以只写:
proof
assume "P(t)"
then show "∃ x . P(x)" by (rule exI)
qed
这回答了你的第二个问题