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.
Inputs are genuine canonical signed-pair codes, not arbitrary naturals. Products start at the actual Gaussian identity, whose code is six. The factor list uses the proved prime-divisor property; irreducibility alone is not silently renamed primality. Uniqueness supplies equal lengths, a bounded bijection, and an actual unit at each match, including repeated factors. Units have empty factorizations and zero is excluded. Sorted primary representatives, Gaussian prime classification, and Eisenstein factorization are separate targets.
Exact theorem in conservative defined notation
∀ l. ∀ b. ∀ c. ∀ P. ∀ Q. GProduct(b,c,l,P) → GProduct(b,c,l,Q) → P = Q
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 75 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.
Named ingredients (2)
01Induction on lL1–10
02Use earlier factsL11–13
03Establish heqL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian product empty value.
04Fix variables and assumptionsL24–27
05Establish hsL28–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian product successor decompose.
- L28
have hs : ∃ a. ∃ R. BetaAt(b,c,l,a) ∧ (GProduct(b,c,l,R) ∧ GMul(R,a,P))Definitions: BetaAt(b,c,l,a)GProduct(b,c,l,R)GMul(R,a,P)Original native command in the exact edition - L29
specialize gaussian_product_successor_decompose (b) - L30
specialize gaussian_product_successor_decompose (c) - L31
specialize gaussian_product_successor_decompose (l) - L32
specialize gaussian_product_successor_decompose (P) - L33
apply gaussian_product_successor_decompose - L34
exact hP
06Separate the logical casesL35–38
07Establish htL39–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian product successor decompose.
- L39
have ht : ∃ a. ∃ R. BetaAt(b,c,l,a) ∧ (GProduct(b,c,l,R) ∧ GMul(R,a,Q))Definitions: BetaAt(b,c,l,a)GProduct(b,c,l,R)GMul(R,a,Q)Original native command in the exact edition - L40
specialize gaussian_product_successor_decompose (b) - L41
specialize gaussian_product_successor_decompose (c) - L42
specialize gaussian_product_successor_decompose (l) - L43
specialize gaussian_product_successor_decompose (Q) - L44
apply gaussian_product_successor_decompose - L45
exact hQ
08Separate the logical casesL46–49
09Establish hfactorL50–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
10Establish hprefixL59–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
11Use earlier factsL69–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L69
specialize gaussian_multiply_functional (x3) - L70
specialize gaussian_multiply_functional (x2) - L71
specialize gaussian_multiply_functional (P) - L72
specialize gaussian_multiply_functional (Q) - L73
apply gaussian_multiply_functional - L74
exact hs_witness_witness_right_right - L75
exact ht_witness_witness_right_right
Original defined command ledger · 75 lines
- 0001
induction l - 0002
intro b - 0003
intro c - 0004
intro P - 0005
intro Q - 0006
intro hP - 0007
intro hQ - 0008
trans 6 - 0009
specialize gaussian_product_empty_value (b) - 0010
specialize gaussian_product_empty_value (c) - 0011
specialize gaussian_product_empty_value (P) - 0012
apply gaussian_product_empty_value - 0013
exact hP - 0014
have heq : Q=6 - 0015
specialize gaussian_product_empty_value (b) - 0016
specialize gaussian_product_empty_value (c) - 0017
specialize gaussian_product_empty_value (Q) - 0018
apply gaussian_product_empty_value - 0019
exact hQ - 0020
symm - 0021
exact heq - 0022
intro b - 0023
intro c - 0024
intro P - 0025
intro Q - 0026
intro hP - 0027
intro hQ - 0028
have hs : ∃ a. ∃ R. BetaAt(b,c,l,a) ∧ (GProduct(b,c,l,R) ∧ GMul(R,a,P)) - 0029
specialize gaussian_product_successor_decompose (b) - 0030
specialize gaussian_product_successor_decompose (c) - 0031
specialize gaussian_product_successor_decompose (l) - 0032
specialize gaussian_product_successor_decompose (P) - 0033
apply gaussian_product_successor_decompose - 0034
exact hP - 0035
cases hs - 0036
cases hs_witness - 0037
cases hs_witness_witness - 0038
cases hs_witness_witness_right - 0039
have ht : ∃ a. ∃ R. BetaAt(b,c,l,a) ∧ (GProduct(b,c,l,R) ∧ GMul(R,a,Q)) - 0040
specialize gaussian_product_successor_decompose (b) - 0041
specialize gaussian_product_successor_decompose (c) - 0042
specialize gaussian_product_successor_decompose (l) - 0043
specialize gaussian_product_successor_decompose (Q) - 0044
apply gaussian_product_successor_decompose - 0045
exact hQ - 0046
cases ht - 0047
cases ht_witness - 0048
cases ht_witness_witness - 0049
cases ht_witness_witness_right - 0050
have hfactor : x=x2 - 0051
specialize beta_at_unique (b) - 0052
specialize beta_at_unique (c) - 0053
specialize beta_at_unique (l) - 0054
specialize beta_at_unique (x) - 0055
specialize beta_at_unique (x2) - 0056
apply beta_at_unique - 0057
exact hs_witness_witness_left - 0058
exact ht_witness_witness_left - 0059
have hprefix : x1=x3 - 0060
specialize IH (b) - 0061
specialize IH (c) - 0062
specialize IH (x1) - 0063
specialize IH (x3) - 0064
apply IH - 0065
exact hs_witness_witness_right_left - 0066
exact ht_witness_witness_right_left - 0067
rewrite hfactor at hs_witness_witness_right_right - 0068
rewrite hprefix at hs_witness_witness_right_right - 0069
specialize gaussian_multiply_functional (x3) - 0070
specialize gaussian_multiply_functional (x2) - 0071
specialize gaussian_multiply_functional (P) - 0072
specialize gaussian_multiply_functional (Q) - 0073
apply gaussian_multiply_functional - 0074
exact hs_witness_witness_right_right - 0075
exact ht_witness_witness_right_right