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, ...`. "