You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
1.7 KiB
Plaintext
50 lines
1.7 KiB
Plaintext
import NNG.Metadata
|
|
|
|
Game "NNG"
|
|
World "Function"
|
|
Level 8
|
|
Title "(P → Q) → ((Q → empty) → (P → empty))"
|
|
|
|
open MyNat
|
|
|
|
Introduction
|
|
"
|
|
Level 8 is the same as level 7, except we have replaced the
|
|
set $F$ with the empty set $\\emptyset$. The same proof will work (after all, our
|
|
previous proof worked for all sets, and the empty set is a set).
|
|
"
|
|
|
|
Statement
|
|
"Whatever the sets $P$ and $Q$ are, we
|
|
make an element of $\\operatorname{Hom}(\\operatorname{Hom}(P,Q),
|
|
\\operatorname{Hom}(\\operatorname{Hom}(Q,\\emptyset),\\operatorname{Hom}(P,\\emptyset)))$."
|
|
(P Q : Type) : (P → Q) → ((Q → Empty) → (P → Empty)) := by
|
|
Hint (hidden := true) "Maybe start again with `intro`."
|
|
intros f h p
|
|
Hint "
|
|
Note that now your job is to construct an element of the empty set!
|
|
This on the face of it seems hard, but what is going on is that
|
|
our hypotheses (we have an element of $P$, and functions $P\\to Q$
|
|
and $Q\\to\\emptyset$) are themselves contradictory, so
|
|
I guess we are doing some kind of proof by contradiction at this point? However,
|
|
if your next line is
|
|
|
|
```
|
|
apply {h}
|
|
```
|
|
|
|
then all of a sudden the goal
|
|
seems like it might be possible again. If this is confusing, note
|
|
that the proof of the previous world worked for all sets $F$, so in particular
|
|
it worked for the empty set, you just probably weren't really thinking about
|
|
this case explicitly beforehand. [Technical note to constructivists: I know
|
|
that we are not doing a proof by contradiction. But how else do you explain
|
|
to a classical mathematician that their goal is to prove something false
|
|
and this is OK because their hypotheses don't add up?]
|
|
"
|
|
apply h
|
|
apply f
|
|
exact p
|
|
|
|
Conclusion ""
|