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.
lean4game/server/nng/NNG/Levels/Inequality.lean

50 lines
1.7 KiB
Plaintext

import NNG.Levels.Inequality.Level_1
-- import NNG.Levels.Inequality.Level_2
-- import NNG.Levels.Inequality.Level_3
-- import NNG.Levels.Inequality.Level_4
-- import NNG.Levels.Inequality.Level_5
-- import NNG.Levels.Inequality.Level_6
-- import NNG.Levels.Inequality.Level_7
-- import NNG.Levels.Inequality.Level_8
-- import NNG.Levels.Inequality.Level_9
-- import NNG.Levels.Inequality.Level_10
-- import NNG.Levels.Inequality.Level_11
-- import NNG.Levels.Inequality.Level_12
-- import NNG.Levels.Inequality.Level_13
-- import NNG.Levels.Inequality.Level_14
-- import NNG.Levels.Inequality.Level_15
-- import NNG.Levels.Inequality.Level_16
-- import NNG.Levels.Inequality.Level_17
Game "NNG"
World "Inequality"
Title "Inequality World"
Introduction
"
A new import, giving us a new definition. If `a` and `b` are naturals,
`a ≤ b` is *defined* to mean
`∃ (c : mynat), b = a + c`
The upside-down E means \"there exists\". So in words, $a\\le b$
if and only if there exists a natural $c$ such that $b=a+c$.
If you really want to change an `a ≤ b` to `∃ c, b = a + c` then
you can do so with `rw le_iff_exists_add`:
```
le_iff_exists_add (a b : mynat) :
a ≤ b ↔ ∃ (c : mynat), b = a + c
```
But because `a ≤ b` is *defined as* `∃ (c : mynat), b = a + c`, you
do not need to `rw le_iff_exists_add`, you can just pretend when you see `a ≤ b`
that it says `∃ (c : mynat), b = a + c`. You will see a concrete
example of this below.
A new construction like `∃` means that we need to learn how to manipulate it.
There are two situations. Firstly we need to know how to solve a goal
of the form `⊢ ∃ c, ...`, and secondly we need to know how to use a hypothesis
of the form `∃ c, ...`.
"