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.
The natural-code carrier consists of genuine pairs of the existing signed integers; no new primitive arithmetic is trusted. The theorem constructs quotient, remainder, and actual norm witnesses. Gaussian gcd, unique factorization, and prime classification are separate targets.
Exact theorem in conservative defined notation
∀ p. ∀ n. ∀ N. ¬N = 0 → ∃ x. ∃ y. ∃ z. ∃ m. ∃ k. RoundedSignedDivision(p,n,N,x,y,z,m,k)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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 (1)
01Fix variables and assumptionsL1–4
02Establish hfloorL5–10
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed integer floor exists.
- L5
have hfloor : ∃ qp. ∃ qn. ∃ r. SignedFloor(p,n,N,qp,qn,r)Definitions: SignedFloor(p,n,N,qp,qn,r)Original native command in the exact edition - L6
specialize signed_integer_floor_exists p - L7
specialize signed_integer_floor_exists n - L8
specialize signed_integer_floor_exists N - L9
apply signed_integer_floor_exists - L10
exact hN
03Separate the logical casesL11–14
04Establish hcenterL15–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square descent centered signed remainder exists.
- L15
have hcenter : ∃ t. Le(t + t,N) ∧ ((∃ x. x2 = N · x + t) ∨ (∃ x. x2 + t = N · x))Definitions: Le(t + t,N)Original native command in the exact edition - L16
specialize four_square_descent_centered_signed_remainder_exists N - L17
specialize four_square_descent_centered_signed_remainder_exists x2 - L18
apply four_square_descent_centered_signed_remainder_exists - L19
exact hN
05Separate the logical casesL20–23
06Construct an explicit witnessL24–28
07Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
split
08Calculate and transport equalitiesL30–30
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L30
trans p + N * x1
09Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
apply PA3
10Calculate and transport equalitiesL32–32
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L32
trans (n + N * x) + x2
11Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hfloor_witness_witness_witness_left
12Calculate and transport equalitiesL34–35
13Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
split
14Calculate and transport equalitiesL37–37
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L37
simp [mul_zero_left, zero_add]
15Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hcenter_witness_left
16Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
cases hcenter_witness_right_right
17Construct an explicit witnessL40–44
18Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
split
19Calculate and transport equalitiesL46–47
20Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
exact hfloor_witness_witness_witness_left
21Calculate and transport equalitiesL49–50
22Use earlier factsL51–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
apply add_assoc
23Calculate and transport equalitiesL52–53
24Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
split
25Calculate and transport equalitiesL55–55
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L55
simp [mul_zero_left, zero_add]
26Use earlier factsL56–56
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L56
exact hcenter_witness_left
Original defined command ledger · 56 lines
- 0001
intro p - 0002
intro n - 0003
intro N - 0004
intro hN - 0005
have hfloor : ∃ qp. ∃ qn. ∃ r. SignedFloor(p,n,N,qp,qn,r) - 0006
specialize signed_integer_floor_exists p - 0007
specialize signed_integer_floor_exists n - 0008
specialize signed_integer_floor_exists N - 0009
apply signed_integer_floor_exists - 0010
exact hN - 0011
cases hfloor - 0012
cases hfloor_witness - 0013
cases hfloor_witness_witness - 0014
cases hfloor_witness_witness_witness - 0015
have hcenter : ∃ t. Le(t + t,N) ∧ ((∃ x. x2 = N · x + t) ∨ (∃ x. x2 + t = N · x)) - 0016
specialize four_square_descent_centered_signed_remainder_exists N - 0017
specialize four_square_descent_centered_signed_remainder_exists x2 - 0018
apply four_square_descent_centered_signed_remainder_exists - 0019
exact hN - 0020
cases hcenter - 0021
cases hcenter_witness - 0022
cases hcenter_witness_right - 0023
cases hcenter_witness_right_left - 0024
exists x + x4 - 0025
exists x1 - 0026
exists x3 - 0027
exists 0 - 0028
exists x3 - 0029
split - 0030
trans p + N * x1 - 0031
apply PA3 - 0032
trans (n + N * x) + x2 - 0033
exact hfloor_witness_witness_witness_left - 0034
rewrite hcenter_witness_right_left_witness - 0035
simp [mul_add, add_assoc] - 0036
split - 0037
simp [mul_zero_left, zero_add] - 0038
exact hcenter_witness_left - 0039
cases hcenter_witness_right_right - 0040
exists x + x4 - 0041
exists x1 - 0042
exists 0 - 0043
exists x3 - 0044
exists x3 - 0045
split - 0046
trans ((n + N * x) + x2) + x3 - 0047
congr - 0048
exact hfloor_witness_witness_witness_left - 0049
refl - 0050
trans (n + N * x) + (x2 + x3) - 0051
apply add_assoc - 0052
rewrite hcenter_witness_right_right_witness - 0053
simp [mul_add, add_assoc] - 0054
split - 0055
simp [mul_zero_left, zero_add] - 0056
exact hcenter_witness_left