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.
Exact expanded first-order arithmetic statement
forall t p. (exists gap. gap + S (t + t) = p + p) -> exists gap. gap + S t = pConstructive proof overview
Generated structural guide
Strict comparison of two exact doubles constructively cancels the factor two.
The unchanged tactic script uses 5 declared prerequisites and contains 28 exact native proof lines.
Alpha v34 checked-use · first admitted v23 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_total Stable theorem; checked-use authorized le_eq_or_lt Stable theorem; checked-use authorized EL0001 euclidean_log_double_monotone lt_not_le Stable theorem; checked-use authorized lt_irrefl_expanded Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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)
01Fix variables and assumptionsL1–3
02Use earlier factsL4–5
03Separate the logical casesL6–7
04Use earlier factsL8–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Establish hcasesL18–20
06Separate the logical casesL21–22
07Use earlier factsL23–24
08Calculate and transport equalitiesL25–26
Original exact command ledger · 28 lines
- 0001
intro t - 0002
intro p - 0003
intro hstrict - 0004
specialize le_total p - 0005
specialize le_total t - 0006
cases le_total - 0007
exfalso - 0008
specialize lt_not_le (t + t) - 0009
specialize lt_not_le (p + p) - 0010
apply lt_not_le - 0011
exact hstrict - 0012
specialize euclidean_log_double_monotone p - 0013
specialize euclidean_log_double_monotone t - 0014
apply euclidean_log_double_monotone - 0015
exact le_total_left - 0016
specialize le_eq_or_lt t - 0017
specialize le_eq_or_lt p - 0018
have hcases : t = p \/ exists gap. gap + S t = p - 0019
apply le_eq_or_lt - 0020
exact le_total_right - 0021
cases hcases - 0022
exfalso - 0023
specialize lt_irrefl_expanded (p + p) - 0024
apply lt_irrefl_expanded - 0025
rewrite hcases_left at hstrict - 0026
rewrite hcases_left at hstrict - 0027
exact hstrict - 0028
exact hcases_right
Separate complete second-wave branches: Full T13 proof · Alpha v27.