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 w r s. (exists mdr_gap_flat_row. mdr_gap_flat_row + S (r) = (w)) -> (exists mdr_gap_flat_column. mdr_gap_flat_column + S (s) = (w)) -> (exists mdr_gap_flat_result. mdr_gap_flat_result + S (r * w + s) = (w * w))Constructive proof overview
Generated structural guide
Every in-range row and column has an actual flattened index below the square matrix length.
The unchanged tactic script uses 4 declared prerequisites and contains 24 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
DL0019 matrix_recursive_lt_add_left mul_le_mul_right Stable theorem; checked-use authorized mul_succ_left Stable theorem; checked-use authorized lt_of_lt_of_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.
Named ingredients (1)
01Fix variables and assumptionsL1–5
02Establish heqL6–7
03Establish hrowendL8–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul right.
- L8
have hrowend : exists mdr_gap_flat_row_end. mdr_gap_flat_row_end + ((S r) * w) = (w * w) - L9
specialize mul_le_mul_right (S r) - L10
specialize mul_le_mul_right (w) - L11
specialize mul_le_mul_right (w) - L12
apply mul_le_mul_right - L13
exact hr - L14
rewrite heq at hrowend - L15
specialize lt_of_lt_of_le (r * w + s) - L16
specialize lt_of_lt_of_le (r * w + w) - L17
specialize lt_of_lt_of_le (w * w)
04Use earlier factsL18–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 24 lines
- 0001
intro w - 0002
intro r - 0003
intro s - 0004
intro hr - 0005
intro hs - 0006
have heq : (S r) * w = r * w + w - 0007
apply mul_succ_left - 0008
have hrowend : exists mdr_gap_flat_row_end. mdr_gap_flat_row_end + ((S r) * w) = (w * w) - 0009
specialize mul_le_mul_right (S r) - 0010
specialize mul_le_mul_right (w) - 0011
specialize mul_le_mul_right (w) - 0012
apply mul_le_mul_right - 0013
exact hr - 0014
rewrite heq at hrowend - 0015
specialize lt_of_lt_of_le (r * w + s) - 0016
specialize lt_of_lt_of_le (r * w + w) - 0017
specialize lt_of_lt_of_le (w * w) - 0018
apply lt_of_lt_of_le - 0019
specialize matrix_recursive_lt_add_left (s) - 0020
specialize matrix_recursive_lt_add_left (w) - 0021
specialize matrix_recursive_lt_add_left (r * w) - 0022
apply matrix_recursive_lt_add_left - 0023
exact hs - 0024
exact hrowend