我想证明
P ==> P
通过案例区分,了解后者。
lemma "P ⟹ P"
proof (cases P)
goal (2 subgoals):
1. P ⟹ P ⟹ P
2. P ⟹ ¬ P ⟹ P
我不太确定我是否想要这些。我想假设P是真的然后通过假设显示P是真的,然后假设不是P并且通过假设证明不是P.就像在真值表中一样。
第二个子目标中的非P看起来很奇怪,是否可以证明?
assume P then show P by assumption
Successful attempt to solve goal by exported rule:
(P) ⟹ P
next
goal (1 subgoal):
1. P ⟹ ¬ P ⟹ P
assume P assume "¬P" then show "¬P" by (rule HOL.FalseE)
这完全不好。
如何将P而不是P作为案例?
答案 0 :(得分:1)
P而非P已经 你的案件。如果你写“案例P”,Isabelle将当前目标复制到第一个假设和第二个新子目标的假设中。如果以这种方式使用,目标的右侧不受案例方法的影响。
在您的情况下,您不必在第二个子目标中证明¬P,但您可以将其用作案例命名引入的附加假设。
显然你无法在第二个子目标中证明P来自¬P。幸运的是,全局假设P仍然存在,因此这两个案例仍然从P证明P,这与在没有案例命运的情况下已经是正常的;)。
如果你想通过让Isabelle直接插入变量的可能值来证明某事,你可以尝试:
lemma "P ⟹ P"
proof (induct P)
goal (2 subgoals):
1. True ⟹ True
2. False ⟹ False