Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Statement with defined notation
∀ r. ∀ m. ∀ a. ∀ b. Lt(r,m) → ¬r = a + m + bEvery purple notation token opens its conservative definition. This is a reading surface; the compiler expands the statement before the unchanged kernel checks it.
Definitions used by this theorem
In the theorem statement
1 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall r m a b. (exists k. k + S r = m) -> ~(r = (a + m) + b)Proof neighborhood
Direct theorem prerequisites
Direct theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. The untrusted compiler re-expands each one before the original tactic script is replayed; defined notation is never accepted by the kernel. Open the exact replay line beneath every changed command.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Establish hbadL1–2
02Induction on zL3–12
03Use earlier factsL13–13
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
specialize add_succ_left b
04Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
rewrite add_succ_left at hz
05Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hz
06Fix variables and assumptionsL16–19
07Use earlier factsL20–24
08Calculate and transport equalitiesL25–26
09Use earlier factsL27–28
10Calculate and transport equalitiesL29–29
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L29
rewrite add_succ_left at hz
11Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hz
12Fix variables and assumptionsL31–36
13Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hr
14Use earlier factsL38–42
15Calculate and transport equalitiesL43–43
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L43
rewrite <- hr_witness at heq
16Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
exact heq
Original defined command ledger · 44 lines
- 0001
have hbad : forall z a w b. ~(z = (a + (w + S z)) + b) - 0002
intro z - 0003
induction z - 0004
intro a - 0005
intro w - 0006
intro b - 0007
intro hz - 0008
apply PA1 - 0009
symm - 0010
rewrite PA4 at hz - 0011
rewrite PA4 at hz - 0012
specialize add_succ_left (a + (w + 0)) - 0013
specialize add_succ_left b - 0014
rewrite add_succ_left at hz - 0015
exact hz - 0016
intro a - 0017
intro w - 0018
intro b - 0019
intro hz - 0020
specialize IH a - 0021
specialize IH w - 0022
specialize IH b - 0023
apply IH - 0024
apply PA2 - 0025
rewrite PA4 at hz - 0026
rewrite PA4 at hz - 0027
specialize add_succ_left (a + (w + S z)) - 0028
specialize add_succ_left b - 0029
rewrite add_succ_left at hz - 0030
exact hz - 0031
intro r - 0032
intro m - 0033
intro a - 0034
intro b - 0035
intro hr - 0036
intro heq - 0037
cases hr - 0038
specialize hbad r - 0039
specialize hbad a - 0040
specialize hbad x - 0041
specialize hbad b - 0042
apply hbad - 0043
rewrite <- hr_witness at heq - 0044
exact heq