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.
Statement with defined notation
∀ x. ∀ e. ∀ c. CeilDivSix(x,e) → Le(x,6 · c) → Le(e,c)Every purple notation token opens its conservative definition. Expanding the displayed statement recovers the exact first-order Peano-arithmetic formula checked by the unchanged kernel.
Definitions used by this theorem
In the theorem statement
3 occurrences
In local proof propositions
4 occurrences
Exact expanded native-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 = cProof neighborhood
Direct theorem prerequisites
BT001G le_or_lt BT0014 add_le_add_right BT001L mul_le_mul_left BT001D lt_of_lt_of_le BT001B lt_irrefl_expandedDirect theorem dependents
Definition-aware tactic body
Only local propositions introduced by have or suffices are compacted. Every changed line has an exact-AST conservative-expansion receipt; the kernel still receives the immutable original tactic script.
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.
- L12
have hx6 : Le(x + 6,6 · c + 6)Definitions: Le(x + 6,6 · c + 6)Original native command in the exact edition - L13
specialize add_le_add_right x - L14
specialize add_le_add_right (6 * c) - L15
specialize add_le_add_right 6 - L16
apply add_le_add_right - L17
exact hxc
08Establish hscaledL18–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul left.
- L18
have hscaled : Le(6 · S c,6 · e)Definitions: Le(6 · S c,6 · e)Original native command in the exact edition - L19
apply mul_le_mul_left - L20
exact le_or_lt_right
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.
- L24
have hfirst : Lt(6 · e,6 · c + 6)Definitions: Lt(6 · e,6 · c + 6)Original native command in the exact edition - L25
specialize lt_of_lt_of_le (6 * e) - L26
specialize lt_of_lt_of_le (x + 6) - L27
specialize lt_of_lt_of_le (6 * c + 6) - L28
apply lt_of_lt_of_le - L29
exact he_right - L30
exact hx6
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.
- L31
have hloop : Lt(6 · e,6 · e)Definitions: Lt(6 · e,6 · e)Original native command in the exact edition - L32
specialize lt_of_lt_of_le (6 * e) - L33
specialize lt_of_lt_of_le (6 * c + 6) - L34
specialize lt_of_lt_of_le (6 * e) - L35
apply lt_of_lt_of_le - L36
exact hfirst - L37
exact hscaled - L38
specialize lt_irrefl_expanded (6 * e) - L39
apply lt_irrefl_expanded - L40
exact hloop
Original defined 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 : Le(x + 6,6 · c + 6)Exact native replay line
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 : Le(6 · S c,6 · e)Exact native replay line
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 : Lt(6 · e,6 · c + 6)Exact native replay line
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 : Lt(6 · e,6 · e)Exact native replay line
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