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
∀ z. GNorm(z,1) → GUnit(z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 62 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)
01Fix variables and assumptionsL1–2
02Separate the logical casesL3–7
03Establish hinverseL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian representation exists.
- L8
have hinverse : ∃ u. ZPairRep(u,x,x1,x3,x2)Definitions: ZPairRep(u,x,x1,x3,x2)Original native command in the exact edition - L9
specialize gaussian_representation_exists (x) - L10
specialize gaussian_representation_exists (x1) - L11
specialize gaussian_representation_exists (x3) - L12
specialize gaussian_representation_exists (x2) - L13
apply gaussian_representation_exists
04Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
cases hinverse
05Establish honeL15–24
Establish this local claim before using it. It is not an additional assumption.
- L15
have hone : ZPairRep(6,x · x + x1 · x1 + (x3 · x3 + x2 · x2),x · x1 + x1 · x + (x3 · x2 + x2 · x3),x · x2 + x1 · x3 + (x3 · x + x2 · x1),x · x3 + x1 · x2 + (x3 · x1 + x2 · x))Definitions: ZPairRep(6,x · x + x1 · x1 + (x3 · x3 + x2 · x2),x · x1 + x1 · x + (x3 · x2 + x2 · x3),x · x2 + x1 · x3 + (x3 · x + x2 · x1),x · x3 + x1 · x2 + (x3 · x1 + x2 · x))Original native command in the exact edition - L16
specialize gaussian_representation_integer_transport (6) - L17
specialize gaussian_representation_integer_transport (1) - L18
specialize gaussian_representation_integer_transport (0) - L19
specialize gaussian_representation_integer_transport (0) - L20
specialize gaussian_representation_integer_transport (0) - L21
specialize gaussian_representation_integer_transport (((((((x) * (x))) + (((x1) * (x1))))) + (((((x3) * (x3))) + (((x2) * (x2))))))) - L22
specialize gaussian_representation_integer_transport (((((((x) * (x1))) + (((x1) * (x))))) + (((((x3) * (x2))) + (((x2) * (x3))))))) - L23
specialize gaussian_representation_integer_transport (((((((x) * (x2))) + (((x1) * (x3))))) + (((((x3) * (x))) + (((x2) * (x1))))))) - L24
specialize gaussian_representation_integer_transport (((((((x) * (x3))) + (((x1) * (x2))))) + (((((x3) * (x1))) + (((x2) * (x)))))))
06Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
apply gaussian_representation_integer_transport - L26
specialize gaussian_equal_symmetric (((((((x) * (x))) + (((x1) * (x1))))) + (((((x3) * (x3))) + (((x2) * (x2))))))) - L27
specialize gaussian_equal_symmetric (((((((x) * (x1))) + (((x1) * (x))))) + (((((x3) * (x2))) + (((x2) * (x3))))))) - L28
specialize gaussian_equal_symmetric (((((((x) * (x2))) + (((x1) * (x3))))) + (((((x3) * (x))) + (((x2) * (x1))))))) - L29
specialize gaussian_equal_symmetric (((((((x) * (x3))) + (((x1) * (x2))))) + (((((x3) * (x1))) + (((x2) * (x))))))) - L30
specialize gaussian_equal_symmetric (1) - L31
specialize gaussian_equal_symmetric (0) - L32
specialize gaussian_equal_symmetric (0) - L33
specialize gaussian_equal_symmetric (0) - L34
apply gaussian_equal_symmetric
07Use earlier factsL35–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize gaussian_conjugate_product_is_norm (x) - L36
specialize gaussian_conjugate_product_is_norm (x1) - L37
specialize gaussian_conjugate_product_is_norm (x2) - L38
specialize gaussian_conjugate_product_is_norm (x3) - L39
specialize gaussian_conjugate_product_is_norm (1) - L40
apply gaussian_conjugate_product_is_norm - L41
exact h_witness_witness_witness_witness_right - L42
exact gaussian_one_representation
08Construct an explicit witnessL43–43
Supply the displayed value, then prove that it has the required property.
- L43
exists (x4)
09Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
specialize gaussian_multiply_commutative (x4) - L45
specialize gaussian_multiply_commutative (z) - L46
specialize gaussian_multiply_commutative (6) - L47
apply gaussian_multiply_commutative - L48
specialize gaussian_multiply_of_representations (x4) - L49
specialize gaussian_multiply_of_representations (z) - L50
specialize gaussian_multiply_of_representations (6) - L51
specialize gaussian_multiply_of_representations (x) - L52
specialize gaussian_multiply_of_representations (x1) - L53
specialize gaussian_multiply_of_representations (x3)
10Use earlier factsL54–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize gaussian_multiply_of_representations (x2) - L55
specialize gaussian_multiply_of_representations (x) - L56
specialize gaussian_multiply_of_representations (x1) - L57
specialize gaussian_multiply_of_representations (x2) - L58
specialize gaussian_multiply_of_representations (x3) - L59
apply gaussian_multiply_of_representations - L60
exact hinverse_witness - L61
exact h_witness_witness_witness_witness_left - L62
exact hone
Original defined command ledger · 62 lines
- 0001
intro z - 0002
intro h - 0003
cases h - 0004
cases h_witness - 0005
cases h_witness_witness - 0006
cases h_witness_witness_witness - 0007
cases h_witness_witness_witness_witness - 0008
have hinverse : ∃ u. ZPairRep(u,x,x1,x3,x2) - 0009
specialize gaussian_representation_exists (x) - 0010
specialize gaussian_representation_exists (x1) - 0011
specialize gaussian_representation_exists (x3) - 0012
specialize gaussian_representation_exists (x2) - 0013
apply gaussian_representation_exists - 0014
cases hinverse - 0015
have hone : ZPairRep(6,x · x + x1 · x1 + (x3 · x3 + x2 · x2),x · x1 + x1 · x + (x3 · x2 + x2 · x3),x · x2 + x1 · x3 + (x3 · x + x2 · x1),x · x3 + x1 · x2 + (x3 · x1 + x2 · x)) - 0016
specialize gaussian_representation_integer_transport (6) - 0017
specialize gaussian_representation_integer_transport (1) - 0018
specialize gaussian_representation_integer_transport (0) - 0019
specialize gaussian_representation_integer_transport (0) - 0020
specialize gaussian_representation_integer_transport (0) - 0021
specialize gaussian_representation_integer_transport (((((((x) * (x))) + (((x1) * (x1))))) + (((((x3) * (x3))) + (((x2) * (x2))))))) - 0022
specialize gaussian_representation_integer_transport (((((((x) * (x1))) + (((x1) * (x))))) + (((((x3) * (x2))) + (((x2) * (x3))))))) - 0023
specialize gaussian_representation_integer_transport (((((((x) * (x2))) + (((x1) * (x3))))) + (((((x3) * (x))) + (((x2) * (x1))))))) - 0024
specialize gaussian_representation_integer_transport (((((((x) * (x3))) + (((x1) * (x2))))) + (((((x3) * (x1))) + (((x2) * (x))))))) - 0025
apply gaussian_representation_integer_transport - 0026
specialize gaussian_equal_symmetric (((((((x) * (x))) + (((x1) * (x1))))) + (((((x3) * (x3))) + (((x2) * (x2))))))) - 0027
specialize gaussian_equal_symmetric (((((((x) * (x1))) + (((x1) * (x))))) + (((((x3) * (x2))) + (((x2) * (x3))))))) - 0028
specialize gaussian_equal_symmetric (((((((x) * (x2))) + (((x1) * (x3))))) + (((((x3) * (x))) + (((x2) * (x1))))))) - 0029
specialize gaussian_equal_symmetric (((((((x) * (x3))) + (((x1) * (x2))))) + (((((x3) * (x1))) + (((x2) * (x))))))) - 0030
specialize gaussian_equal_symmetric (1) - 0031
specialize gaussian_equal_symmetric (0) - 0032
specialize gaussian_equal_symmetric (0) - 0033
specialize gaussian_equal_symmetric (0) - 0034
apply gaussian_equal_symmetric - 0035
specialize gaussian_conjugate_product_is_norm (x) - 0036
specialize gaussian_conjugate_product_is_norm (x1) - 0037
specialize gaussian_conjugate_product_is_norm (x2) - 0038
specialize gaussian_conjugate_product_is_norm (x3) - 0039
specialize gaussian_conjugate_product_is_norm (1) - 0040
apply gaussian_conjugate_product_is_norm - 0041
exact h_witness_witness_witness_witness_right - 0042
exact gaussian_one_representation - 0043
exists (x4) - 0044
specialize gaussian_multiply_commutative (x4) - 0045
specialize gaussian_multiply_commutative (z) - 0046
specialize gaussian_multiply_commutative (6) - 0047
apply gaussian_multiply_commutative - 0048
specialize gaussian_multiply_of_representations (x4) - 0049
specialize gaussian_multiply_of_representations (z) - 0050
specialize gaussian_multiply_of_representations (6) - 0051
specialize gaussian_multiply_of_representations (x) - 0052
specialize gaussian_multiply_of_representations (x1) - 0053
specialize gaussian_multiply_of_representations (x3) - 0054
specialize gaussian_multiply_of_representations (x2) - 0055
specialize gaussian_multiply_of_representations (x) - 0056
specialize gaussian_multiply_of_representations (x1) - 0057
specialize gaussian_multiply_of_representations (x2) - 0058
specialize gaussian_multiply_of_representations (x3) - 0059
apply gaussian_multiply_of_representations - 0060
exact hinverse_witness - 0061
exact h_witness_witness_witness_witness_left - 0062
exact hone