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 expanded first-order arithmetic statement
forall a m i. ~(m=0) -> exists r. (exists eut_gap_eu_residue_bound. eut_gap_eu_residue_bound + S (r) = (m)) /\ (exists eu_mod_left_residue_congruence eu_mod_right_residue_congruence. (a*i) + (m) * eu_mod_left_residue_congruence = (r) + (m) * eu_mod_right_residue_congruence)Constructive proof overview
Generated structural guide
Actual Euclidean division constructs a canonical residue of every multiplied index, including index zero.
The unchanged tactic script uses 3 declared prerequisites and contains 27 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
division_remainder_exists Stable theorem; checked-use authorized remainder_decomposition_to_mod_eq Stable theorem; checked-use authorized mul_comm 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.
01Fix variables and assumptionsL1–4
02Use earlier factsL5–6
03Establish hdL7–9
04Separate the logical casesL10–12
05Construct an explicit witnessL13–13
Supply the displayed value, then prove that it has the required property.
- L13
exists x1
06Separate the logical casesL14–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L14
split
07Use earlier factsL15–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
08Calculate and transport equalitiesL21–21
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L21
trans m*x+x1
09Use earlier factsL22–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L22
exact hd_witness_witness_left
10Calculate and transport equalitiesL23–23
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L23
congr
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
refl
Original exact command ledger · 27 lines
- 0001
intro a - 0002
intro m - 0003
intro i - 0004
intro hm - 0005
specialize division_remainder_exists m - 0006
specialize division_remainder_exists (a*i) - 0007
have hd : exists q r. a*i=m*q+r /\ (exists eut_gap_eu_actual_division. eut_gap_eu_actual_division + S (r) = (m)) - 0008
apply division_remainder_exists - 0009
exact hm - 0010
cases hd - 0011
cases hd_witness - 0012
cases hd_witness_witness - 0013
exists x1 - 0014
split - 0015
exact hd_witness_witness_right - 0016
specialize remainder_decomposition_to_mod_eq (m) - 0017
specialize remainder_decomposition_to_mod_eq (a*i) - 0018
specialize remainder_decomposition_to_mod_eq (x) - 0019
specialize remainder_decomposition_to_mod_eq (x1) - 0020
apply remainder_decomposition_to_mod_eq - 0021
trans m*x+x1 - 0022
exact hd_witness_witness_left - 0023
congr - 0024
specialize mul_comm (m) - 0025
specialize mul_comm (x) - 0026
apply mul_comm - 0027
refl