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 m n k i j. k=n*i+j -> (exists pvs_gap_quotient_source. pvs_gap_quotient_source + S (k) = (m*n)) -> (exists pvs_gap_quotient_result. pvs_gap_quotient_result + S (i) = (m))Constructive proof overview
Generated structural guide
An actual flattened index below a rectangular area has its quotient row below the height, including vacuous zero-area cases.
The unchanged tactic script uses 6 declared prerequisites and contains 36 exact native proof lines.
Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_or_lt Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized le_trans Stable theorem; checked-use authorized mul_le_mul_left Stable theorem; checked-use authorized le_add_right 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–7
02Establish hcaseL8–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le or lt.
03Separate the logical casesL12–13
04Establish hreverseL14–14
Establish this local claim before using it. It is not an additional assumption.
- L14
have hreverse : exists pvs_le_gap_quotient_reverse. pvs_le_gap_quotient_reverse + (m*n) = (k)
05Establish hcommL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
06Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 36 lines
- 0001
intro m - 0002
intro n - 0003
intro k - 0004
intro i - 0005
intro j - 0006
intro hk - 0007
intro hbound - 0008
have hcase : (exists pvs_le_gap_quotient_case. pvs_le_gap_quotient_case + (m) = (i)) \/ (exists pvs_gap_quotient_other. pvs_gap_quotient_other + S (i) = (m)) - 0009
specialize le_or_lt (m) - 0010
specialize le_or_lt (i) - 0011
apply le_or_lt - 0012
cases hcase - 0013
exfalso - 0014
have hreverse : exists pvs_le_gap_quotient_reverse. pvs_le_gap_quotient_reverse + (m*n) = (k) - 0015
have hcomm : m*n=n*m - 0016
apply mul_comm - 0017
rewrite hcomm - 0018
rewrite hk - 0019
specialize le_trans (n*m) - 0020
specialize le_trans (n*i) - 0021
specialize le_trans (n*i+j) - 0022
apply le_trans - 0023
specialize mul_le_mul_left (m) - 0024
specialize mul_le_mul_left (i) - 0025
specialize mul_le_mul_left (n) - 0026
apply mul_le_mul_left - 0027
exact hcase_left - 0028
specialize le_add_right (n*i) - 0029
specialize le_add_right (j) - 0030
apply le_add_right - 0031
specialize lt_not_le (k) - 0032
specialize lt_not_le (m*n) - 0033
apply lt_not_le - 0034
exact hbound - 0035
exact hreverse - 0036
exact hcase_right