饮酒者原则
Drinker's Principle
我在 Isabelle/HOL 中发现了一个证明饮酒者原理的证明。我确实理解整个证明;但是,我不太了解饮酒者原理证明中的下一个证明案例:
assume "∀x. drunk x"
then have "drunk a ⟶ (∀x. drunk x)" for a ..
then show ?thesis ..
为什么证明也证明了“醉了一个⟶(∀x.醉了x)”?我觉得够了∀x。醉了x来秀∃x。醉 x.
整个证明如下:
theorem Drinker's_Principle: "∃x. drunk x ⟶ (∀x. drunk x)"
proof cases
assume "∀x. drunk x"
then have "drunk a ⟶ (∀x. drunk x)" for a ..
then show ?thesis ..
next
assume "¬ (∀x. drunk x)"
then have "∃x. ¬ drunk x" by (rule de_Morgan)
then obtain a where "¬ drunk a" ..
have "drunk a ⟶ (∀x. drunk x)"
proof
assume "drunk a"
with ‹¬ drunk a› show "∀x. drunk x" by contradiction
qed
then show ?thesis ..
qed
I think it is enough ∀x. drunk x to show ∃x. drunk x.
这就是我们实际做的:语句末尾的 for a
then have "drunk a ⟶ (∀x. drunk x)" for a ..
是Isar的说法,有"drunk a ⟶ (∀x. drunk x)"的证人a。证明的下一行然后使用它来证明具有存在前提的语句版本。
我在 Isabelle/HOL 中发现了一个证明饮酒者原理的证明。我确实理解整个证明;但是,我不太了解饮酒者原理证明中的下一个证明案例:
assume "∀x. drunk x"
then have "drunk a ⟶ (∀x. drunk x)" for a ..
then show ?thesis ..
为什么证明也证明了“醉了一个⟶(∀x.醉了x)”?我觉得够了∀x。醉了x来秀∃x。醉 x.
整个证明如下:
theorem Drinker's_Principle: "∃x. drunk x ⟶ (∀x. drunk x)"
proof cases
assume "∀x. drunk x"
then have "drunk a ⟶ (∀x. drunk x)" for a ..
then show ?thesis ..
next
assume "¬ (∀x. drunk x)"
then have "∃x. ¬ drunk x" by (rule de_Morgan)
then obtain a where "¬ drunk a" ..
have "drunk a ⟶ (∀x. drunk x)"
proof
assume "drunk a"
with ‹¬ drunk a› show "∀x. drunk x" by contradiction
qed
then show ?thesis ..
qed
I think it is enough ∀x. drunk x to show ∃x. drunk x.
这就是我们实际做的:语句末尾的 for a
then have "drunk a ⟶ (∀x. drunk x)" for a ..
是Isar的说法,有"drunk a ⟶ (∀x. drunk x)"的证人a。证明的下一行然后使用它来证明具有存在前提的语句版本。