|
|
import NNG.Metadata
|
|
|
import NNG.MyNat.Addition
|
|
|
|
|
|
Game "NNG"
|
|
|
World "AdvProposition"
|
|
|
Level 10
|
|
|
Title "The law of the excluded middle."
|
|
|
|
|
|
open MyNat
|
|
|
|
|
|
Introduction
|
|
|
"
|
|
|
We proved earlier that `(P → Q) → (¬ Q → ¬ P)`. The converse,
|
|
|
that `(¬ Q → ¬ P) → (P → Q)` is certainly true, but trying to prove
|
|
|
it using what we've learnt so far is impossible (because it is not provable in
|
|
|
constructive logic).
|
|
|
|
|
|
"
|
|
|
|
|
|
Statement
|
|
|
"If $P$ and $Q$ are true/false statements, then
|
|
|
$$(\\lnot Q\\implies \\lnot P)\\implies(P\\implies Q).$$
|
|
|
"
|
|
|
(P Q : Prop) : (¬ Q → ¬ P) → (P → Q) := by
|
|
|
Hint "For example, you could start as always with
|
|
|
|
|
|
```
|
|
|
intro h p
|
|
|
```
|
|
|
"
|
|
|
intro h p
|
|
|
Hint "From here there is no way to continue with the tactics you've learned so far.
|
|
|
|
|
|
Instead you can call `by_cases q : Q`. This creates **two goals**, once under the assumption
|
|
|
that `Q` is true, once assuming `Q` is false."
|
|
|
by_cases q : Q
|
|
|
Hint "This first case is trivial."
|
|
|
exact q
|
|
|
Hint "The second case needs a bit more work, but you can get there with the tactics you've already
|
|
|
learned beforehand!"
|
|
|
have j := h q
|
|
|
exfalso
|
|
|
apply j
|
|
|
exact p
|
|
|
|
|
|
NewTactic by_cases
|
|
|
|
|
|
Conclusion
|
|
|
"
|
|
|
This approach assumed that `P ∨ ¬ P` is true, which is called \"law of excluded middle\".
|
|
|
It cannot be proven using just tactics like `intro` or `apply`.
|
|
|
`by_cases p : P` just does `rcases` on this result `P ∨ ¬ P`.
|
|
|
|
|
|
|
|
|
OK that's enough logic -- now perhaps it's time to go on to Advanced Addition World!
|
|
|
Get to it via the main menu.
|
|
|
"
|
|
|
|
|
|
-- TODO: I cannot really import `tauto` because of the notation `ℕ` that's used
|
|
|
-- for `MyNat`.
|
|
|
-- ## Pro tip
|
|
|
|
|
|
-- In fact the tactic `tauto` just kills this goal (and many other logic goals) immediately. You'll be
|
|
|
-- able to use it from now on.
|
|
|
|