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 m p a t. (exists hpl_gap_bound. hpl_gap_bound + S (a) = (m)) -> (exists hpl_gap_bound. hpl_gap_bound + S (t) = (p)) -> (exists hpl_gap_bound. hpl_gap_bound + S (a + m * t) = (p * m))Constructive proof overview
Generated structural guide
A bounded old representative and bounded correction digit give the exact next-modulus bound.
The unchanged tactic script uses 5 declared prerequisites and contains 26 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
division_block_upper Stable theorem; checked-use authorized mul_le_mul_left Stable theorem; checked-use authorized lt_of_lt_of_le Stable theorem; checked-use authorized add_comm 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–6
02Establish hsumL7–9
03Establish hproductL10–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul comm.
- L10
have hproduct : p * m = m * p - L11
apply mul_comm - L12
rewrite hproduct - L13
specialize lt_of_lt_of_le (m * t + a) - L14
specialize lt_of_lt_of_le (m * S t) - L15
specialize lt_of_lt_of_le (m * p) - L16
apply lt_of_lt_of_le - L17
specialize division_block_upper m - L18
specialize division_block_upper t - L19
specialize division_block_upper a
Original exact command ledger · 26 lines
- 0001
intro m - 0002
intro p - 0003
intro a - 0004
intro t - 0005
intro ha - 0006
intro ht - 0007
have hsum : a + m * t = m * t + a - 0008
apply add_comm - 0009
rewrite hsum - 0010
have hproduct : p * m = m * p - 0011
apply mul_comm - 0012
rewrite hproduct - 0013
specialize lt_of_lt_of_le (m * t + a) - 0014
specialize lt_of_lt_of_le (m * S t) - 0015
specialize lt_of_lt_of_le (m * p) - 0016
apply lt_of_lt_of_le - 0017
specialize division_block_upper m - 0018
specialize division_block_upper t - 0019
specialize division_block_upper a - 0020
apply division_block_upper - 0021
exact ha - 0022
specialize mul_le_mul_left (S t) - 0023
specialize mul_le_mul_left p - 0024
specialize mul_le_mul_left m - 0025
apply mul_le_mul_left - 0026
exact ht