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. GProduct(b,c,l,P) → ZPairValid(P)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 33 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 (4)
01Induction on lL1–5
02Establish heqL6–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian product empty value.
03Fix variables and assumptionsL16–17
04Establish hsL18–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian product successor decompose.
- L18
have hs : ∃ a. ∃ Q. BetaAt(b,c,l,a) ∧ (GProduct(b,c,l,Q) ∧ GMul(Q,a,P))Definitions: BetaAt(b,c,l,a)GProduct(b,c,l,Q)GMul(Q,a,P)Original native command in the exact edition - L19
specialize gaussian_product_successor_decompose (b) - L20
specialize gaussian_product_successor_decompose (c) - L21
specialize gaussian_product_successor_decompose (l) - L22
specialize gaussian_product_successor_decompose (P) - L23
apply gaussian_product_successor_decompose - L24
exact hp
05Separate the logical casesL25–28
06Use earlier factsL29–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 33 lines
- 0001
induction l - 0002
intro b - 0003
intro c - 0004
intro P - 0005
intro hp - 0006
have heq : P=6 - 0007
specialize gaussian_product_empty_value (b) - 0008
specialize gaussian_product_empty_value (c) - 0009
specialize gaussian_product_empty_value (P) - 0010
apply gaussian_product_empty_value - 0011
exact hp - 0012
rewrite heq - 0013
exact gaussian_one_valid - 0014
intro b - 0015
intro c - 0016
intro P - 0017
intro hp - 0018
have hs : ∃ a. ∃ Q. BetaAt(b,c,l,a) ∧ (GProduct(b,c,l,Q) ∧ GMul(Q,a,P)) - 0019
specialize gaussian_product_successor_decompose (b) - 0020
specialize gaussian_product_successor_decompose (c) - 0021
specialize gaussian_product_successor_decompose (l) - 0022
specialize gaussian_product_successor_decompose (P) - 0023
apply gaussian_product_successor_decompose - 0024
exact hp - 0025
cases hs - 0026
cases hs_witness - 0027
cases hs_witness_witness - 0028
cases hs_witness_witness_right - 0029
specialize gaussian_multiply_output_valid (x1) - 0030
specialize gaussian_multiply_output_valid (x) - 0031
specialize gaussian_multiply_output_valid (P) - 0032
apply gaussian_multiply_output_valid - 0033
exact hs_witness_witness_right_right