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.
Exact expanded first-order arithmetic statement
forall p n N. ~(N = 0) -> exists qp qn ep en t. (((((p) + (N) * (qn)) + (en) = ((n) + (N) * (qp)) + (ep)) /\ ((((((ep) * (ep))) + (((en) * (en)))) = ((((t) * (t))) + (((((ep) * (en))) + (((en) * (ep))))))) /\ (exists ge_gap_nearesthalf_bound. ge_gap_nearesthalf_bound + (((t) + (t))) = (N)))))Constructive proof overview
Generated structural guide
Construct an actual nearest signed quotient, signed error, and half-bounded magnitude from one floor division and the checked centered natural remainder constructor.
The unchanged tactic script uses 6 declared prerequisites and contains 56 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
GI0002 signed_integer_floor_exists four_square_descent_centered_signed_remainder_exists Alpha theorem; checked-use authorized mul_add Stable theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized mul_zero_left Stable theorem; checked-use authorized zero_add Stable theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 : exists qp qn r. (p + N * qn = (n + N * qp) + r /\ (exists ge_gap_floor_bound. ge_gap_floor_bound + S (r) = (N))) - 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 : exists t. (((exists fsd_center_bound_gaussian_center. fsd_center_bound_gaussian_center + (t + t) = N) /\ ((exists fsd_center_lower_gaussian_center. x2 = N * fsd_center_lower_gaussian_center + t) \/ (exists fsd_center_upper_gaussian_center. x2 + t = N * fsd_center_upper_gaussian_center)))) - 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 exact command ledger · 56 lines
- 0001
intro p - 0002
intro n - 0003
intro N - 0004
intro hN - 0005
have hfloor : exists qp qn r. (p + N * qn = (n + N * qp) + r /\ (exists ge_gap_floor_bound. ge_gap_floor_bound + S (r) = (N))) - 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 : exists t. (((exists fsd_center_bound_gaussian_center. fsd_center_bound_gaussian_center + (t + t) = N) /\ ((exists fsd_center_lower_gaussian_center. x2 = N * fsd_center_lower_gaussian_center + t) \/ (exists fsd_center_upper_gaussian_center. x2 + t = N * fsd_center_upper_gaussian_center)))) - 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