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
∀ a. ∀ b. ∀ q. ∀ r. (∃ x. GMul(b,q,x) ∧ ZPairAdd(x,r,a)) → r = 0 → GDvd(b,a)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 32 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 (3)
01Fix variables and assumptionsL1–6
02Separate the logical casesL7–8
03Calculate and transport equalitiesL9–9
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L9
rewrite hr at heq_witness_right
04Establish houtputL10–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian add functional.
- L10
have houtput : a=x - L11
specialize gaussian_add_functional (x) - L12
specialize gaussian_add_functional (0) - L13
specialize gaussian_add_functional (a) - L14
specialize gaussian_add_functional (x) - L15
apply gaussian_add_functional - L16
exact heq_witness_right - L17
specialize gaussian_add_zero_right (x) - L18
apply gaussian_add_zero_right - L19
specialize gaussian_multiply_output_valid (b)
05Use earlier factsL20–23
06Construct an explicit witnessL24–24
Supply the displayed value, then prove that it has the required property.
- L24
exists (q)
07Use earlier factsL25–29
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
symm
Original defined command ledger · 32 lines
- 0001
intro a - 0002
intro b - 0003
intro q - 0004
intro r - 0005
intro heq - 0006
intro hr - 0007
cases heq - 0008
cases heq_witness - 0009
rewrite hr at heq_witness_right - 0010
have houtput : a=x - 0011
specialize gaussian_add_functional (x) - 0012
specialize gaussian_add_functional (0) - 0013
specialize gaussian_add_functional (a) - 0014
specialize gaussian_add_functional (x) - 0015
apply gaussian_add_functional - 0016
exact heq_witness_right - 0017
specialize gaussian_add_zero_right (x) - 0018
apply gaussian_add_zero_right - 0019
specialize gaussian_multiply_output_valid (b) - 0020
specialize gaussian_multiply_output_valid (q) - 0021
specialize gaussian_multiply_output_valid (x) - 0022
apply gaussian_multiply_output_valid - 0023
exact heq_witness_left - 0024
exists (q) - 0025
specialize gaussian_multiply_output_transport (b) - 0026
specialize gaussian_multiply_output_transport (q) - 0027
specialize gaussian_multiply_output_transport (x) - 0028
specialize gaussian_multiply_output_transport (a) - 0029
apply gaussian_multiply_output_transport - 0030
symm - 0031
exact houtput - 0032
exact heq_witness_left