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
∀ d. ∀ z. ZPairValid(d) → ZPairValid(z) → GDvd(d,z) ∨ ¬GDvd(d,z)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 72 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 (5)
01Fix variables and assumptionsL1–4
02Establish hdcL5–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hdc
04Establish hzcL10–13
05Separate the logical casesL14–15
06Construct an explicit witnessL16–16
Supply the displayed value, then prove that it has the required property.
- L16
exists (0)
07Calculate and transport equalitiesL17–18
08Use earlier factsL19–21
09Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
right
10Fix variables and assumptionsL23–23
Work with arbitrary variables or the premises of the current implication.
- L23
intro hdiv
11Use earlier factsL24–26
12Calculate and transport equalitiesL27–27
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L27
rewrite hdc_left at hdiv
13Use earlier factsL28–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
exact hdiv
14Establish hexL29–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian euclidean division exists.
- L29
have hex : ∃ q. ∃ r. ∃ U. ∃ V. ZPairValid(q) ∧ (ZPairValid(r) ∧ ((∃ x. GMul(d,q,x) ∧ ZPairAdd(x,r,z)) ∧ (GNorm(r,U) ∧ (GNorm(d,V) ∧ Lt(U,V)))))Definitions: ZPairValid(q)ZPairValid(r)GMul(d,q,x)ZPairAdd(x,r,z)GNorm(r,U)GNorm(d,V)Lt(U,V)Original native command in the exact edition - L30
specialize gaussian_euclidean_division_exists (z) - L31
specialize gaussian_euclidean_division_exists (d) - L32
apply gaussian_euclidean_division_exists - L33
exact hz - L34
exact hd - L35
exact hdc_right
15Separate the logical casesL36–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hex - L37
cases hex_witness - L38
cases hex_witness_witness - L39
cases hex_witness_witness_witness - L40
cases hex_witness_witness_witness_witness - L41
cases hex_witness_witness_witness_witness_right - L42
cases hex_witness_witness_witness_witness_right_right - L43
cases hex_witness_witness_witness_witness_right_right_right - L44
cases hex_witness_witness_witness_witness_right_right_right_right
16Establish hrcL45–48
17Separate the logical casesL49–50
18Use earlier factsL51–57
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
specialize gaussian_division_zero_remainder_divides (z) - L52
specialize gaussian_division_zero_remainder_divides (d) - L53
specialize gaussian_division_zero_remainder_divides (x) - L54
specialize gaussian_division_zero_remainder_divides (x1) - L55
apply gaussian_division_zero_remainder_divides - L56
exact hex_witness_witness_witness_witness_right_right_left - L57
exact hrc_left
19Separate the logical casesL58–58
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L58
right
20Fix variables and assumptionsL59–59
Work with arbitrary variables or the premises of the current implication.
- L59
intro hdiv
21Use earlier factsL60–69
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
apply hrc_right - L61
specialize gaussian_division_divisible_remainder_zero (z) - L62
specialize gaussian_division_divisible_remainder_zero (d) - L63
specialize gaussian_division_divisible_remainder_zero (x) - L64
specialize gaussian_division_divisible_remainder_zero (x1) - L65
specialize gaussian_division_divisible_remainder_zero (x2) - L66
specialize gaussian_division_divisible_remainder_zero (x3) - L67
apply gaussian_division_divisible_remainder_zero - L68
exact hex_witness_witness_witness_witness_right_right_left - L69
exact hex_witness_witness_witness_witness_right_right_right_left
Original defined command ledger · 72 lines
- 0001
intro d - 0002
intro z - 0003
intro hd - 0004
intro hz - 0005
have hdc : d=0 \/ ~(d=0) - 0006
specialize eq_decidable (d) - 0007
specialize eq_decidable (0) - 0008
apply eq_decidable - 0009
cases hdc - 0010
have hzc : z=0 \/ ~(z=0) - 0011
specialize eq_decidable (z) - 0012
specialize eq_decidable (0) - 0013
apply eq_decidable - 0014
cases hzc - 0015
left - 0016
exists (0) - 0017
rewrite hdc_left - 0018
rewrite hzc_left - 0019
specialize gaussian_multiply_zero_right (0) - 0020
apply gaussian_multiply_zero_right - 0021
exact gaussian_zero_valid - 0022
right - 0023
intro hdiv - 0024
apply hzc_right - 0025
specialize gaussian_zero_divides_only_zero (z) - 0026
apply gaussian_zero_divides_only_zero - 0027
rewrite hdc_left at hdiv - 0028
exact hdiv - 0029
have hex : ∃ q. ∃ r. ∃ U. ∃ V. ZPairValid(q) ∧ (ZPairValid(r) ∧ ((∃ x. GMul(d,q,x) ∧ ZPairAdd(x,r,z)) ∧ (GNorm(r,U) ∧ (GNorm(d,V) ∧ Lt(U,V))))) - 0030
specialize gaussian_euclidean_division_exists (z) - 0031
specialize gaussian_euclidean_division_exists (d) - 0032
apply gaussian_euclidean_division_exists - 0033
exact hz - 0034
exact hd - 0035
exact hdc_right - 0036
cases hex - 0037
cases hex_witness - 0038
cases hex_witness_witness - 0039
cases hex_witness_witness_witness - 0040
cases hex_witness_witness_witness_witness - 0041
cases hex_witness_witness_witness_witness_right - 0042
cases hex_witness_witness_witness_witness_right_right - 0043
cases hex_witness_witness_witness_witness_right_right_right - 0044
cases hex_witness_witness_witness_witness_right_right_right_right - 0045
have hrc : x1=0 \/ ~(x1=0) - 0046
specialize eq_decidable (x1) - 0047
specialize eq_decidable (0) - 0048
apply eq_decidable - 0049
cases hrc - 0050
left - 0051
specialize gaussian_division_zero_remainder_divides (z) - 0052
specialize gaussian_division_zero_remainder_divides (d) - 0053
specialize gaussian_division_zero_remainder_divides (x) - 0054
specialize gaussian_division_zero_remainder_divides (x1) - 0055
apply gaussian_division_zero_remainder_divides - 0056
exact hex_witness_witness_witness_witness_right_right_left - 0057
exact hrc_left - 0058
right - 0059
intro hdiv - 0060
apply hrc_right - 0061
specialize gaussian_division_divisible_remainder_zero (z) - 0062
specialize gaussian_division_divisible_remainder_zero (d) - 0063
specialize gaussian_division_divisible_remainder_zero (x) - 0064
specialize gaussian_division_divisible_remainder_zero (x1) - 0065
specialize gaussian_division_divisible_remainder_zero (x2) - 0066
specialize gaussian_division_divisible_remainder_zero (x3) - 0067
apply gaussian_division_divisible_remainder_zero - 0068
exact hex_witness_witness_witness_witness_right_right_left - 0069
exact hex_witness_witness_witness_witness_right_right_right_left - 0070
exact hex_witness_witness_witness_witness_right_right_right_right_left - 0071
exact hex_witness_witness_witness_witness_right_right_right_right_right - 0072
exact hdiv