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 q k r s. k = q * r + s -> (exists mdr_gap_quotient_source. mdr_gap_quotient_source + S (k) = (q * q)) -> (exists mdr_gap_quotient_row. mdr_gap_quotient_row + S (r) = (q))Constructive proof overview
Generated structural guide
A genuine row-major index below q squared has row coordinate below q, including the vacuous zero-width boundary.
The unchanged tactic script uses 5 declared prerequisites and contains 30 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_or_lt Stable theorem; checked-use authorized mul_le_mul_left Stable theorem; checked-use authorized le_add_right Stable theorem; checked-use authorized le_trans Stable theorem; checked-use authorized lt_not_le 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–6
02Use earlier factsL7–8
03Separate the logical casesL9–10
04Establish hreverseL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L11
have hreverse : exists mdr_gap_quotient_reverse. mdr_gap_quotient_reverse + (q * q) = (k) - L12
rewrite hk - L13
specialize le_trans (q * q) - L14
specialize le_trans (q * r) - L15
specialize le_trans (q * r + s) - L16
apply le_trans - L17
specialize mul_le_mul_left (q) - L18
specialize mul_le_mul_left (r) - L19
specialize mul_le_mul_left (q) - L20
apply mul_le_mul_left
05Use earlier factsL21–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 30 lines
- 0001
intro q - 0002
intro k - 0003
intro r - 0004
intro s - 0005
intro hk - 0006
intro hbound - 0007
specialize le_or_lt q - 0008
specialize le_or_lt r - 0009
cases le_or_lt - 0010
exfalso - 0011
have hreverse : exists mdr_gap_quotient_reverse. mdr_gap_quotient_reverse + (q * q) = (k) - 0012
rewrite hk - 0013
specialize le_trans (q * q) - 0014
specialize le_trans (q * r) - 0015
specialize le_trans (q * r + s) - 0016
apply le_trans - 0017
specialize mul_le_mul_left (q) - 0018
specialize mul_le_mul_left (r) - 0019
specialize mul_le_mul_left (q) - 0020
apply mul_le_mul_left - 0021
exact le_or_lt_left - 0022
specialize le_add_right (q * r) - 0023
specialize le_add_right (s) - 0024
apply le_add_right - 0025
specialize lt_not_le (k) - 0026
specialize lt_not_le (q * q) - 0027
apply lt_not_le - 0028
exact hbound - 0029
exact hreverse - 0030
exact le_or_lt_right