Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.
Exact theorem in conservative defined notation
∀ L. ∀ M. ∀ N. ∀ K. PolynomialProductLength(L,M,N) → ¬L = 0 → ¬M = 0 → PolynomialProductLength(L,S M,K) → K = S N
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 39 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
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–8
02Separate the logical casesL9–12
03Use earlier factsL13–14
04Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
exfalso
05Use earlier factsL16–17
06Separate the logical casesL18–23
07Use earlier factsL24–25
08Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
exfalso
09Use earlier factsL27–29
10Separate the logical casesL30–31
11Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
apply PA2
12Calculate and transport equalitiesL33–34
13Use earlier factsL35–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
exact hnew_right_right_right
14Calculate and transport equalitiesL36–36
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L36
trans S (L+M)
15Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply PA4
16Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
congr
17Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hold_right_right_right
Original defined command ledger · 39 lines
- 0001
intro L - 0002
intro M - 0003
intro N - 0004
intro K - 0005
intro hold - 0006
intro hL - 0007
intro hM - 0008
intro hnew - 0009
cases hold - 0010
cases hold_left - 0011
cases hold_left_left - 0012
exfalso - 0013
apply hL - 0014
exact hold_left_left_left - 0015
exfalso - 0016
apply hM - 0017
exact hold_left_left_right - 0018
cases hold_right - 0019
cases hold_right_right - 0020
cases hnew - 0021
cases hnew_left - 0022
cases hnew_left_left - 0023
exfalso - 0024
apply hL - 0025
exact hnew_left_left_left - 0026
exfalso - 0027
specialize succ_ne_zero (M) - 0028
apply succ_ne_zero - 0029
exact hnew_left_left_right - 0030
cases hnew_right - 0031
cases hnew_right_right - 0032
apply PA2 - 0033
trans L+S M - 0034
symm - 0035
exact hnew_right_right_right - 0036
trans S (L+M) - 0037
apply PA4 - 0038
congr - 0039
exact hold_right_right_right