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. ∀ U. ∀ V. (∃ x. GMul(b,q,x) ∧ ZPairAdd(x,r,a)) → GNorm(r,U) → GNorm(b,V) → Lt(U,V) → GDvd(b,a) → r = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 66 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 (6)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hdiv
03Establish hremL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian common divisor euclidean backward.
- L12
- L13
specialize gaussian_common_divisor_euclidean_backward (b) - L14
specialize gaussian_common_divisor_euclidean_backward (a) - L15
specialize gaussian_common_divisor_euclidean_backward (b) - L16
specialize gaussian_common_divisor_euclidean_backward (q) - L17
specialize gaussian_common_divisor_euclidean_backward (r) - L18
apply gaussian_common_divisor_euclidean_backward - L19
exact heq - L20
exact hdiv - L21
specialize gaussian_divides_reflexive (b)
04Use earlier factsL22–26
05Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hrem
06Establish hML28–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm exists.
07Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hM
08Establish hvalueL37–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian norm functional.
- L37
have hvalue : U=V*x1 - L38
specialize gaussian_norm_functional (r) - L39
specialize gaussian_norm_functional (U) - L40
specialize gaussian_norm_functional (V*x1) - L41
apply gaussian_norm_functional - L42
exact hr - L43
specialize gaussian_norm_multiply (b) - L44
specialize gaussian_norm_multiply (x) - L45
specialize gaussian_norm_multiply (r) - L46
specialize gaussian_norm_multiply (V)
09Use earlier factsL47–51
10Establish hzeroL52–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square bounded multiple is zero.
11Construct an explicit witnessL57–57
Supply the displayed value, then prove that it has the required property.
- L57
exists (x1)
12Use earlier factsL58–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
exact hvalue - L59
specialize gaussian_norm_zero_implies_code_zero (r) - L60
apply gaussian_norm_zero_implies_code_zero - L61
specialize gaussian_norm_value_transport (r) - L62
specialize gaussian_norm_value_transport (U) - L63
specialize gaussian_norm_value_transport (0) - L64
apply gaussian_norm_value_transport - L65
exact hzero - L66
exact hr
Original defined command ledger · 66 lines
- 0001
intro a - 0002
intro b - 0003
intro q - 0004
intro r - 0005
intro U - 0006
intro V - 0007
intro heq - 0008
intro hr - 0009
intro hb - 0010
intro hlt - 0011
intro hdiv - 0012
have hrem : GDvd(b,r) - 0013
specialize gaussian_common_divisor_euclidean_backward (b) - 0014
specialize gaussian_common_divisor_euclidean_backward (a) - 0015
specialize gaussian_common_divisor_euclidean_backward (b) - 0016
specialize gaussian_common_divisor_euclidean_backward (q) - 0017
specialize gaussian_common_divisor_euclidean_backward (r) - 0018
apply gaussian_common_divisor_euclidean_backward - 0019
exact heq - 0020
exact hdiv - 0021
specialize gaussian_divides_reflexive (b) - 0022
apply gaussian_divides_reflexive - 0023
specialize gaussian_norm_input_valid (b) - 0024
specialize gaussian_norm_input_valid (V) - 0025
apply gaussian_norm_input_valid - 0026
exact hb - 0027
cases hrem - 0028
have hM : ∃ M. GNorm(x,M) - 0029
specialize gaussian_norm_exists (x) - 0030
apply gaussian_norm_exists - 0031
specialize gaussian_multiply_input_right_valid (b) - 0032
specialize gaussian_multiply_input_right_valid (x) - 0033
specialize gaussian_multiply_input_right_valid (r) - 0034
apply gaussian_multiply_input_right_valid - 0035
exact hrem_witness - 0036
cases hM - 0037
have hvalue : U=V*x1 - 0038
specialize gaussian_norm_functional (r) - 0039
specialize gaussian_norm_functional (U) - 0040
specialize gaussian_norm_functional (V*x1) - 0041
apply gaussian_norm_functional - 0042
exact hr - 0043
specialize gaussian_norm_multiply (b) - 0044
specialize gaussian_norm_multiply (x) - 0045
specialize gaussian_norm_multiply (r) - 0046
specialize gaussian_norm_multiply (V) - 0047
specialize gaussian_norm_multiply (x1) - 0048
apply gaussian_norm_multiply - 0049
exact hb - 0050
exact hM_witness - 0051
exact hrem_witness - 0052
have hzero : U=0 - 0053
specialize four_square_bounded_multiple_is_zero (V) - 0054
specialize four_square_bounded_multiple_is_zero (U) - 0055
apply four_square_bounded_multiple_is_zero - 0056
exact hlt - 0057
exists (x1) - 0058
exact hvalue - 0059
specialize gaussian_norm_zero_implies_code_zero (r) - 0060
apply gaussian_norm_zero_implies_code_zero - 0061
specialize gaussian_norm_value_transport (r) - 0062
specialize gaussian_norm_value_transport (U) - 0063
specialize gaussian_norm_value_transport (0) - 0064
apply gaussian_norm_value_transport - 0065
exact hzero - 0066
exact hr