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
∀ n. ∀ q. ∀ c. ∀ d. Lt(q,n · c) → S n · d = 2 · S (n + n) · c → Lt(q · 4,S n · d)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
2 occurrences
In local proof propositions
4 occurrences
Exact expanded native-PA statement
forall n q c d. (exists bcf_lt_gap_bfpcrs_source. bcf_lt_gap_bfpcrs_source + S (q) = n * c) -> S n * d = (2 * S (n + n)) * c -> (exists bcf_lt_gap_bfpcrs_result. bcf_lt_gap_bfpcrs_result + S (q * 4) = S n * d)Proof neighborhood
Direct theorem prerequisites
BT000L add_eq_zero_right BT0002 add_comm BT0006 mul_comm BT0008 mul_assoc BT0007 mul_add BT000B add_mul BT00TY mul_lt_mul_right_nonzero BT001F lt_transDirect 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 (8)
01Fix variables and assumptionsL1–6
02Establish hcL7–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hstrict
04Use earlier factsL10–13
05Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
trans n * c
06Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hstrict_witness
07Calculate and transport equalitiesL16–16
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L16
rewrite hc_zero
08Use earlier factsL17–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L17
apply PA5
09Establish hscaledL18–26
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul lt mul right nonzero.
- L18
have hscaled : Lt(q · 4,n · c · 4)Definitions: Lt(q · 4,n · c · 4)Original native command in the exact edition - L19
specialize mul_lt_mul_right_nonzero q - L20
specialize mul_lt_mul_right_nonzero (n * c) - L21
specialize mul_lt_mul_right_nonzero 4 - L22
apply mul_lt_mul_right_nonzero - L23
exact hstrict - L24
intro hfour_zero - L25
apply PA1 - L26
exact hfour_zero
10Establish hfourL27–32
11Establish hcoefficientL33–33
Establish this local claim before using it. It is not an additional assumption.
- L33
have hcoefficient : Lt(4 · n,2 · S (n + n))Definitions: Lt(4 · n,2 · S (n + n))Original native command in the exact edition
12Construct an explicit witnessL34–34
Supply the displayed value, then prove that it has the required property.
- L34
exists 1
13Calculate and transport equalitiesL35–35
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L35
trans S (1 + 4 * n)
14Use earlier factsL36–36
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
apply PA4
15Calculate and transport equalitiesL37–38
16Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
apply add_comm
17Calculate and transport equalitiesL40–41
18Use earlier factsL42–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L42
apply PA4
19Calculate and transport equalitiesL43–44
20Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact hfour
21Calculate and transport equalitiesL46–49
22Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
apply mul_add
23Calculate and transport equalitiesL51–52
24Use earlier factsL53–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L53
apply PA6
25Establish hcoefficient_productL54–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul lt mul right nonzero.
- L54
have hcoefficient_product : Lt(4 · n · c,2 · S (n + n) · c)Definitions: Lt(4 · n · c,2 · S (n + n) · c)Original native command in the exact edition - L55
specialize mul_lt_mul_right_nonzero (4 * n) - L56
specialize mul_lt_mul_right_nonzero (2 * S (n + n)) - L57
specialize mul_lt_mul_right_nonzero c - L58
apply mul_lt_mul_right_nonzero - L59
exact hcoefficient - L60
exact hc
26Establish hshuffleL61–65
27Establish hgapL66–75
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt trans.
- L66
have hgap : Lt(n · c · 4,S n · d)Definitions: Lt(n · c · 4,S n · d)Original native command in the exact edition - L67
rewrite hshuffle - L68
rewrite hrecurrence - L69
exact hcoefficient_product - L70
specialize lt_trans (q * 4) - L71
specialize lt_trans ((n * c) * 4) - L72
specialize lt_trans (S n * d) - L73
apply lt_trans - L74
exact hscaled - L75
exact hgap
Original defined command ledger · 75 lines
- 0001
intro n - 0002
intro q - 0003
intro c - 0004
intro d - 0005
intro hstrict - 0006
intro hrecurrence - 0007
have hc : ~(c = 0) - 0008
intro hc_zero - 0009
cases hstrict - 0010
apply PA1 - 0011
specialize add_eq_zero_right x - 0012
specialize add_eq_zero_right (S q) - 0013
apply add_eq_zero_right - 0014
trans n * c - 0015
exact hstrict_witness - 0016
rewrite hc_zero - 0017
apply PA5 - 0018
have hscaled : Lt(q · 4,n · c · 4)Exact native replay line
have hscaled : exists bcf_lt_gap_bfpcrs_scaled. bcf_lt_gap_bfpcrs_scaled + S (q * 4) = (n * c) * 4 - 0019
specialize mul_lt_mul_right_nonzero q - 0020
specialize mul_lt_mul_right_nonzero (n * c) - 0021
specialize mul_lt_mul_right_nonzero 4 - 0022
apply mul_lt_mul_right_nonzero - 0023
exact hstrict - 0024
intro hfour_zero - 0025
apply PA1 - 0026
exact hfour_zero - 0027
have hfour : 4 * n = 2 * n + 2 * n - 0028
trans (2 + 2) * n - 0029
congr - 0030
norm_num - 0031
refl - 0032
apply add_mul - 0033
have hcoefficient : Lt(4 · n,2 · S (n + n))Exact native replay line
have hcoefficient : exists bcf_lt_gap_bfpcrs_coefficient. bcf_lt_gap_bfpcrs_coefficient + S (4 * n) = 2 * S (n + n) - 0034
exists 1 - 0035
trans S (1 + 4 * n) - 0036
apply PA4 - 0037
trans S (4 * n + 1) - 0038
congr - 0039
apply add_comm - 0040
trans 4 * n + 2 - 0041
symm - 0042
apply PA4 - 0043
trans (2 * n + 2 * n) + 2 - 0044
congr - 0045
exact hfour - 0046
refl - 0047
trans 2 * (n + n) + 2 - 0048
congr - 0049
symm - 0050
apply mul_add - 0051
refl - 0052
symm - 0053
apply PA6 - 0054
have hcoefficient_product : Lt(4 · n · c,2 · S (n + n) · c)Exact native replay line
have hcoefficient_product : exists bcf_lt_gap_bfpcrs_coefficient_product. bcf_lt_gap_bfpcrs_coefficient_product + S ((4 * n) * c) = (2 * S (n + n)) * c - 0055
specialize mul_lt_mul_right_nonzero (4 * n) - 0056
specialize mul_lt_mul_right_nonzero (2 * S (n + n)) - 0057
specialize mul_lt_mul_right_nonzero c - 0058
apply mul_lt_mul_right_nonzero - 0059
exact hcoefficient - 0060
exact hc - 0061
have hshuffle : (n * c) * 4 = (4 * n) * c - 0062
trans 4 * (n * c) - 0063
apply mul_comm - 0064
symm - 0065
apply mul_assoc - 0066
have hgap : Lt(n · c · 4,S n · d)Exact native replay line
have hgap : exists bcf_lt_gap_bfpcrs_gap. bcf_lt_gap_bfpcrs_gap + S ((n * c) * 4) = S n * d - 0067
rewrite hshuffle - 0068
rewrite hrecurrence - 0069
exact hcoefficient_product - 0070
specialize lt_trans (q * 4) - 0071
specialize lt_trans ((n * c) * 4) - 0072
specialize lt_trans (S n * d) - 0073
apply lt_trans - 0074
exact hscaled - 0075
exact hgap