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. ∀ c. ∀ s. ∀ p. ∀ q. ∀ t. ZPairAdd(b,c,s) → GMul(a,b,p) → GMul(a,c,q) → GMul(a,s,t) → ZPairAdd(p,q,t)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 52 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hAS
03Establish htotalL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian add exists.
- L12
have htotal : ∃ u. ZPairAdd(p,q,u)Definitions: ZPairAdd(p,q,u)Original native command in the exact edition - L13
specialize gaussian_add_exists (p) - L14
specialize gaussian_add_exists (q) - L15
apply gaussian_add_exists - L16
specialize gaussian_multiply_output_valid (a) - L17
specialize gaussian_multiply_output_valid (b) - L18
specialize gaussian_multiply_output_valid (p) - L19
apply gaussian_multiply_output_valid - L20
exact hAB - L21
specialize gaussian_multiply_output_valid (a)
04Use earlier factsL22–25
05Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases htotal
06Establish heqL27–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian multiply functional.
- L27
have heq : x=t - L28
specialize gaussian_multiply_functional (a) - L29
specialize gaussian_multiply_functional (s) - L30
specialize gaussian_multiply_functional (x) - L31
specialize gaussian_multiply_functional (t) - L32
apply gaussian_multiply_functional - L33
specialize gaussian_multiply_add_compose (a) - L34
specialize gaussian_multiply_add_compose (b) - L35
specialize gaussian_multiply_add_compose (c) - L36
specialize gaussian_multiply_add_compose (s)
07Use earlier factsL37–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Use earlier factsL47–52
Original defined command ledger · 52 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro s - 0005
intro p - 0006
intro q - 0007
intro t - 0008
intro hBC - 0009
intro hAB - 0010
intro hAC - 0011
intro hAS - 0012
have htotal : ∃ u. ZPairAdd(p,q,u) - 0013
specialize gaussian_add_exists (p) - 0014
specialize gaussian_add_exists (q) - 0015
apply gaussian_add_exists - 0016
specialize gaussian_multiply_output_valid (a) - 0017
specialize gaussian_multiply_output_valid (b) - 0018
specialize gaussian_multiply_output_valid (p) - 0019
apply gaussian_multiply_output_valid - 0020
exact hAB - 0021
specialize gaussian_multiply_output_valid (a) - 0022
specialize gaussian_multiply_output_valid (c) - 0023
specialize gaussian_multiply_output_valid (q) - 0024
apply gaussian_multiply_output_valid - 0025
exact hAC - 0026
cases htotal - 0027
have heq : x=t - 0028
specialize gaussian_multiply_functional (a) - 0029
specialize gaussian_multiply_functional (s) - 0030
specialize gaussian_multiply_functional (x) - 0031
specialize gaussian_multiply_functional (t) - 0032
apply gaussian_multiply_functional - 0033
specialize gaussian_multiply_add_compose (a) - 0034
specialize gaussian_multiply_add_compose (b) - 0035
specialize gaussian_multiply_add_compose (c) - 0036
specialize gaussian_multiply_add_compose (s) - 0037
specialize gaussian_multiply_add_compose (p) - 0038
specialize gaussian_multiply_add_compose (q) - 0039
specialize gaussian_multiply_add_compose (x) - 0040
apply gaussian_multiply_add_compose - 0041
exact hBC - 0042
exact hAB - 0043
exact hAC - 0044
exact htotal_witness - 0045
exact hAS - 0046
specialize gaussian_add_output_transport (p) - 0047
specialize gaussian_add_output_transport (q) - 0048
specialize gaussian_add_output_transport (x) - 0049
specialize gaussian_add_output_transport (t) - 0050
apply gaussian_add_output_transport - 0051
exact heq - 0052
exact htotal_witness