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 expanded first-order arithmetic statement
forall L M N t K. (((((L)=0 \/ (M)=0) /\ (((N)=0)))) \/ (((~((L)=0)) /\ (((~((M)=0)) /\ (((L)+(M)=S (N)))))))) -> (~(L=0)) -> (~(M=0)) -> (((((L)=0 \/ (t+M)=0) /\ (((K)=0)))) \/ (((~((L)=0)) /\ (((~((t+M)=0)) /\ (((L)+(t+M)=S (K)))))))) -> (K=t+N)Constructive proof overview
Generated structural guide
For two nonempty input representations, padding the right factor increases the actual product length by exactly the padding count; empty factors are excluded explicitly.
The unchanged tactic script uses 4 declared prerequisites and contains 44 exact native proof lines.
Alpha v34 checked-use · first admitted v33 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
add_eq_zero_right Alpha theorem; checked-use authorized succ_injective Alpha theorem; checked-use authorized add_assoc Alpha theorem; checked-use authorized add_comm Alpha 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.
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–13
03Use earlier factsL14–15
04Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
exfalso
05Use earlier factsL17–18
06Separate the logical casesL19–24
07Use earlier factsL25–26
08Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
exfalso
09Use earlier factsL28–32
10Separate the logical casesL33–34
11Use earlier factsL35–37
12Calculate and transport equalitiesL38–39
13Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hnew_right_right_right
Original exact command ledger · 44 lines
- 0001
intro L - 0002
intro M - 0003
intro N - 0004
intro t - 0005
intro K - 0006
intro hold - 0007
intro hL - 0008
intro hM - 0009
intro hnew - 0010
cases hold - 0011
cases hold_left - 0012
cases hold_left_left - 0013
exfalso - 0014
apply hL - 0015
exact hold_left_left_left - 0016
exfalso - 0017
apply hM - 0018
exact hold_left_left_right - 0019
cases hold_right - 0020
cases hold_right_right - 0021
cases hnew - 0022
cases hnew_left - 0023
cases hnew_left_left - 0024
exfalso - 0025
apply hL - 0026
exact hnew_left_left_left - 0027
exfalso - 0028
apply hM - 0029
specialize add_eq_zero_right (t) - 0030
specialize add_eq_zero_right (M) - 0031
apply add_eq_zero_right - 0032
exact hnew_left_left_right - 0033
cases hnew_right - 0034
cases hnew_right_right - 0035
specialize succ_injective (K) - 0036
specialize succ_injective (t+N) - 0037
apply succ_injective - 0038
trans (L)+(t+M) - 0039
symm - 0040
exact hnew_right_right_right - 0041
trans t+(L+M) - 0042
simp [add_assoc,add_comm] - 0043
rewrite hold_right_right_right - 0044
simp