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
∀ a. ∀ b. Le(a,b) ∨ Lt(b,a)Every 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
2 occurrences
In local proof propositions
0 occurrences
Exact expanded native-PA statement
forall a b. (exists k. k + a = b) \/ exists k. k + S b = aProof 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.
01Induction on aL1–2
02Separate the logical casesL3–3
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L3
left
03Construct an explicit witnessL4–4
Supply the displayed value, then prove that it has the required property.
- L4
exists b
04Use earlier factsL5–5
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L5
apply PA3
05Induction on bL6–6
Split the argument into the base and successor obligations. The induction hypothesis is available only in the successor branch.
- L6
induction b
06Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
right
07Construct an explicit witnessL8–8
Supply the displayed value, then prove that it has the required property.
- L8
exists a
08Calculate and transport equalitiesL9–9
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L9
trans S (a + 0)
09Use earlier factsL10–10
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
apply PA4
10Calculate and transport equalitiesL11–11
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L11
congr
11Use earlier factsL12–13
12Separate the logical casesL14–16
13Construct an explicit witnessL17–17
Supply the displayed value, then prove that it has the required property.
- L17
exists x
14Calculate and transport equalitiesL18–19
15Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact IH_left_witness
16Separate the logical casesL21–22
17Construct an explicit witnessL23–23
Supply the displayed value, then prove that it has the required property.
- L23
exists x
18Calculate and transport equalitiesL24–25
19Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
exact IH_right_witness
Original defined command ledger · 26 lines
- 0001
induction a - 0002
intro b - 0003
left - 0004
exists b - 0005
apply PA3 - 0006
induction b - 0007
right - 0008
exists a - 0009
trans S (a + 0) - 0010
apply PA4 - 0011
congr - 0012
apply PA3 - 0013
specialize IH b - 0014
cases IH - 0015
left - 0016
cases IH_left - 0017
exists x - 0018
rewrite PA4 - 0019
congr - 0020
exact IH_left_witness - 0021
right - 0022
cases IH_right - 0023
exists x - 0024
rewrite PA4 - 0025
congr - 0026
exact IH_right_witness