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 f. (((exists bcs_lower_gap_functional_left. bcs_lower_gap_functional_left + (x) = 6 * (e)) /\ exists bcs_upper_gap_functional_left. bcs_upper_gap_functional_left + S (6 * (e)) = (x) + 6)) -> (((exists bcs_lower_gap_functional_right. bcs_lower_gap_functional_right + (x) = 6 * (f)) /\ exists bcs_upper_gap_functional_right. bcs_upper_gap_functional_right + S (6 * (f)) = (x) + 6)) -> e = fStructural proof guide
The two witness inequalities determine a unique ceiling quotient.
Direct prerequisites: lt_trichotomy, add_le_add_right, mul_le_mul_left, lt_of_lt_of_le, lt_irrefl_expanded. The authored body proceeds by case analysis (4), intermediate claims (10), equality transport (2).
Proof neighborhood
Direct dependencies
BT001H lt_trichotomy 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–7
03Use earlier factsL8–9
04Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
cases lt_trichotomy
05Use earlier factsL11–11
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L11
exact lt_trichotomy_left
06Separate the logical casesL12–13
07Establish hx6L14–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add right.
08Establish hscaledL20–22
09Establish hsucceL23–25
10Establish hfirstL26–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
11Establish hloopL33–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
12Separate the logical casesL43–43
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L43
exfalso
13Establish hx6L44–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply add le add right.
14Establish hscaledL50–52
15Establish hsuccfL53–55
16Establish hfirstL56–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
17Establish hloopL63–72
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 · 72 lines
- 0001
intro x - 0002
intro e - 0003
intro f - 0004
intro he - 0005
intro hf - 0006
cases he - 0007
cases hf - 0008
specialize lt_trichotomy e - 0009
specialize lt_trichotomy f - 0010
cases lt_trichotomy - 0011
exact lt_trichotomy_left - 0012
cases lt_trichotomy_right - 0013
exfalso - 0014
have hx6 : exists k. k + (x + 6) = 6 * e + 6 - 0015
specialize add_le_add_right x - 0016
specialize add_le_add_right (6 * e) - 0017
specialize add_le_add_right 6 - 0018
apply add_le_add_right - 0019
exact he_left - 0020
have hscaled : exists k. k + 6 * S e = 6 * f - 0021
apply mul_le_mul_left - 0022
exact lt_trichotomy_right_left - 0023
have hsucce : 6 * S e = 6 * e + 6 - 0024
apply PA6 - 0025
rewrite hsucce at hscaled - 0026
have hfirst : exists k. k + S (6 * f) = 6 * e + 6 - 0027
specialize lt_of_lt_of_le (6 * f) - 0028
specialize lt_of_lt_of_le (x + 6) - 0029
specialize lt_of_lt_of_le (6 * e + 6) - 0030
apply lt_of_lt_of_le - 0031
exact hf_right - 0032
exact hx6 - 0033
have hloop : exists k. k + S (6 * f) = 6 * f - 0034
specialize lt_of_lt_of_le (6 * f) - 0035
specialize lt_of_lt_of_le (6 * e + 6) - 0036
specialize lt_of_lt_of_le (6 * f) - 0037
apply lt_of_lt_of_le - 0038
exact hfirst - 0039
exact hscaled - 0040
specialize lt_irrefl_expanded (6 * f) - 0041
apply lt_irrefl_expanded - 0042
exact hloop - 0043
exfalso - 0044
have hx6 : exists k. k + (x + 6) = 6 * f + 6 - 0045
specialize add_le_add_right x - 0046
specialize add_le_add_right (6 * f) - 0047
specialize add_le_add_right 6 - 0048
apply add_le_add_right - 0049
exact hf_left - 0050
have hscaled : exists k. k + 6 * S f = 6 * e - 0051
apply mul_le_mul_left - 0052
exact lt_trichotomy_right_right - 0053
have hsuccf : 6 * S f = 6 * f + 6 - 0054
apply PA6 - 0055
rewrite hsuccf at hscaled - 0056
have hfirst : exists k. k + S (6 * e) = 6 * f + 6 - 0057
specialize lt_of_lt_of_le (6 * e) - 0058
specialize lt_of_lt_of_le (x + 6) - 0059
specialize lt_of_lt_of_le (6 * f + 6) - 0060
apply lt_of_lt_of_le - 0061
exact he_right - 0062
exact hx6 - 0063
have hloop : exists k. k + S (6 * e) = 6 * e - 0064
specialize lt_of_lt_of_le (6 * e) - 0065
specialize lt_of_lt_of_le (6 * f + 6) - 0066
specialize lt_of_lt_of_le (6 * e) - 0067
apply lt_of_lt_of_le - 0068
exact hfirst - 0069
exact hscaled - 0070
specialize lt_irrefl_expanded (6 * e) - 0071
apply lt_irrefl_expanded - 0072
exact hloop