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 xp xn m. ~(m = 0) -> exists qp qn r. (((xp) + (m) * (qn) = ((xn) + (m) * (qp)) + (r) /\ exists sif_gap_pair_total. sif_gap_pair_total + S (r) = (m)))Constructive proof overview
Generated structural guide
Every signed pair admits an actual floor quotient and strict remainder for every nonzero natural divisor; one ordinary natural division suffices.
The unchanged tactic script uses 5 declared prerequisites and contains 30 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
nonzero_is_succ Stable theorem; checked-use authorized division_remainder_exists Stable theorem; checked-use authorized mul_succ_left Stable theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized add_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
02Establish hpredL5–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hpred
04Establish hdivL10–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
05Separate the logical casesL15–17
06Construct an explicit witnessL18–20
07Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
split
08Calculate and transport equalitiesL22–26
09Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hdiv_witness_witness_left
10Calculate and transport equalitiesL28–29
11Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hdiv_witness_witness_right
Original exact command ledger · 30 lines
- 0001
intro xp - 0002
intro xn - 0003
intro m - 0004
intro hm - 0005
have hpred : exists h. m = S h - 0006
specialize nonzero_is_succ m - 0007
apply nonzero_is_succ - 0008
exact hm - 0009
cases hpred - 0010
have hdiv : exists q r. xp + x * xn = m * q + r /\ (exists k. k + S r = m) - 0011
specialize division_remainder_exists m - 0012
specialize division_remainder_exists (xp + x * xn) - 0013
apply division_remainder_exists - 0014
exact hm - 0015
cases hdiv - 0016
cases hdiv_witness - 0017
cases hdiv_witness_witness - 0018
exists x1 - 0019
exists xn - 0020
exists x2 - 0021
split - 0022
trans (xp + x * xn) + xn - 0023
rewrite hpred_witness - 0024
simp [mul_succ_left, add_assoc] - 0025
trans (m * x1 + x2) + xn - 0026
congr - 0027
exact hdiv_witness_witness_left - 0028
refl - 0029
simp [add_assoc, add_comm] - 0030
exact hdiv_witness_witness_right