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 k. (((exists bcs_lower_gap_shift_source. bcs_lower_gap_shift_source + (x) = 6 * (e)) /\ exists bcs_upper_gap_shift_source. bcs_upper_gap_shift_source + S (6 * (e)) = (x) + 6)) -> (((exists bcs_lower_gap_shift_target. bcs_lower_gap_shift_target + (x + 6 * k) = 6 * (e + k)) /\ exists bcs_upper_gap_shift_target. bcs_upper_gap_shift_target + S (6 * (e + k)) = (x + 6 * k) + 6))Structural proof guide
Ceiling by six commutes with adding an explicit multiple of six.
Direct prerequisites: mul_add, add_assoc, add_comm, add_succ_left. The authored body proceeds by case analysis (3), intermediate claims (1), equality transport (4).
Proof neighborhood
Direct dependencies
Direct 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 (4)
01Fix variables and assumptionsL1–4
02Establish hmulL5–9
03Separate the logical casesL10–12
04Construct an explicit witnessL13–13
Supply the displayed value, then prove that it has the required property.
- L13
exists x1
05Calculate and transport equalitiesL14–16
06Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply add_assoc
07Calculate and transport equalitiesL18–19
08Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases h_right
09Construct an explicit witnessL21–21
Supply the displayed value, then prove that it has the required property.
- L21
exists x1
10Calculate and transport equalitiesL22–26
11Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
apply add_succ_left
12Calculate and transport equalitiesL28–29
13Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
apply add_assoc
14Calculate and transport equalitiesL31–32
15Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
apply add_assoc
16Calculate and transport equalitiesL34–36
17Use earlier factsL37–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L37
apply add_comm
18Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
symm
19Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
apply add_assoc
Original exact command ledger · 39 lines
- 0001
intro x - 0002
intro e - 0003
intro k - 0004
intro h - 0005
have hmul : 6 * (e + k) = 6 * e + 6 * k - 0006
specialize mul_add 6 - 0007
specialize mul_add e - 0008
specialize mul_add k - 0009
exact mul_add - 0010
cases h - 0011
split - 0012
cases h_left - 0013
exists x1 - 0014
rewrite hmul - 0015
trans (x1 + x) + 6 * k - 0016
symm - 0017
apply add_assoc - 0018
rewrite h_left_witness - 0019
refl - 0020
cases h_right - 0021
exists x1 - 0022
rewrite hmul - 0023
trans x1 + (S (6 * e) + 6 * k) - 0024
congr - 0025
refl - 0026
symm - 0027
apply add_succ_left - 0028
trans (x1 + S (6 * e)) + 6 * k - 0029
symm - 0030
apply add_assoc - 0031
rewrite h_right_witness - 0032
trans x + (6 + 6 * k) - 0033
apply add_assoc - 0034
trans x + (6 * k + 6) - 0035
congr - 0036
refl - 0037
apply add_comm - 0038
symm - 0039
apply add_assoc