饮酒者原则

时间:2019-10-31 07:47:13

标签: predicate isabelle

我在Isabelle / HOL中遇到了一个证明饮酒者原则的证据。我确实了解整个证明;但是,我对饮酒者原则证明中的下一个证明案例不太了解:

  assume "∀x. drunk x"
  then have "drunk a ⟶ (∀x. drunk x)" for a ..
  then show ?thesis ..

为什么证明还证明“ 醉⟶(∀x。drunk 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

1 个答案:

答案 0 :(得分:1)

  

我认为足够了。喝醉了x以显示∃x。醉x。

这就是我们实际上正在做的:语句末尾的for a

then have "drunk a ⟶ (∀x. drunk x)" for a ..
伊萨尔(Isar)所说的是,有一个证人“喝醉了⟶(∀x。drunk x)”。然后,证明的下一行使用它来证明具有存在前提的语句的版本。