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 PA statement
forall x e c. (((exists bcs_lower_gap_upper_source. bcs_lower_gap_upper_source + (x) = 6 * (e)) /\ exists bcs_upper_gap_upper_source. bcs_upper_gap_upper_source + S (6 * (e)) = (x) + 6)) -> (exists k. k + x = 6 * c) -> exists k. k + e = cStructural proof guide
Any six-multiple upper bound also bounds the ceiling quotient.
Direct prerequisites: le_or_lt, add_le_add_right, mul_le_mul_left, lt_of_lt_of_le, lt_irrefl_expanded. The authored body proceeds by case analysis (2), intermediate claims (5), equality transport (1).
Proof neighborhood
Direct dependencies
BT001G le_or_lt BT0014 add_le_add_right BT001L mul_le_mul_left BT001D lt_of_lt_of_le BT001B lt_irrefl_expandedDirect dependents
Formal native tactic body
Dependencies are hypotheses of the historical Alpha-v12 body receipt. The complete historical Alpha-v18 proof bundle independently checks every dependency; current Alpha v25 preserves that checked theorem use without changing 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 (5)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–6
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
cases he
03Use earlier factsL7–8
04Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases le_or_lt
05Use earlier factsL10–10
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
exact le_or_lt_left
06Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
exfalso
07Establish hx6L12–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add right.
08Establish hscaledL18–20
09Establish hsuccL21–23
10Establish hfirstL24–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
11Establish hloopL31–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
Original exact command ledger · 40 lines
- 0001
intro x - 0002
intro e - 0003
intro c - 0004
intro he - 0005
intro hxc - 0006
cases he - 0007
specialize le_or_lt e - 0008
specialize le_or_lt c - 0009
cases le_or_lt - 0010
exact le_or_lt_left - 0011
exfalso - 0012
have hx6 : exists k. k + (x + 6) = 6 * c + 6 - 0013
specialize add_le_add_right x - 0014
specialize add_le_add_right (6 * c) - 0015
specialize add_le_add_right 6 - 0016
apply add_le_add_right - 0017
exact hxc - 0018
have hscaled : exists k. k + 6 * S c = 6 * e - 0019
apply mul_le_mul_left - 0020
exact le_or_lt_right - 0021
have hsucc : 6 * S c = 6 * c + 6 - 0022
apply PA6 - 0023
rewrite hsucc at hscaled - 0024
have hfirst : exists k. k + S (6 * e) = 6 * c + 6 - 0025
specialize lt_of_lt_of_le (6 * e) - 0026
specialize lt_of_lt_of_le (x + 6) - 0027
specialize lt_of_lt_of_le (6 * c + 6) - 0028
apply lt_of_lt_of_le - 0029
exact he_right - 0030
exact hx6 - 0031
have hloop : exists k. k + S (6 * e) = 6 * e - 0032
specialize lt_of_lt_of_le (6 * e) - 0033
specialize lt_of_lt_of_le (6 * c + 6) - 0034
specialize lt_of_lt_of_le (6 * e) - 0035
apply lt_of_lt_of_le - 0036
exact hfirst - 0037
exact hscaled - 0038
specialize lt_irrefl_expanded (6 * e) - 0039
apply lt_irrefl_expanded - 0040
exact hloop