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. ∀ r. ∀ p. DivRem(n + n,3,q,r) → Lt(q,p) → Lt(n + n,p + p + p)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 n q r p. (((n + n) = (3) * (q) + (r) /\ (exists bcf_lt_gap_bdtsuql_division_bound. bcf_lt_gap_bdtsuql_division_bound + S (r) = 3))) -> (exists bcf_lt_gap_bdtsuql_quotient. bcf_lt_gap_bdtsuql_quotient + S (q) = p) -> (exists bcf_lt_gap_bdtsuql_result. bcf_lt_gap_bdtsuql_result + S (n + n) = (p + p) + p)Proof neighborhood
Direct theorem prerequisites
BT001R division_block_upper BT001L mul_le_mul_left BT001D lt_of_lt_of_le BT0005 mul_succ_left BT0009 one_mulDirect 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–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hdivision
03Establish hblockL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division block upper.
- L8
have hblock : Lt(3 · q + r,3 · S q)Definitions: Lt(3 · q + r,3 · S q)Original native command in the exact edition - L9
specialize division_block_upper 3 - L10
specialize division_block_upper q - L11
specialize division_block_upper r - L12
apply division_block_upper - L13
exact hdivision_right
04Establish hblock_alignedL14–16
Establish this local claim before using it. It is not an additional assumption.
- L14
have hblock_aligned : Lt(n + n,3 · S q)Definitions: Lt(n + n,3 · S q)Original native command in the exact edition - L15
rewrite hdivision_left - L16
exact hblock
05Establish hscaledL17–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul left.
- L17
have hscaled : Le(3 · S q,3 · p)Definitions: Le(3 · S q,3 · p)Original native command in the exact edition - L18
specialize mul_le_mul_left (S q) - L19
specialize mul_le_mul_left p - L20
specialize mul_le_mul_left 3 - L21
apply mul_le_mul_left - L22
exact hquotient
06Establish hrawL23–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
07Establish hdoubleL30–37
08Establish htripleL38–46
Original defined command ledger · 46 lines
- 0001
intro n - 0002
intro q - 0003
intro r - 0004
intro p - 0005
intro hdivision - 0006
intro hquotient - 0007
cases hdivision - 0008
have hblock : Lt(3 · q + r,3 · S q)Exact native replay line
have hblock : exists bcf_lt_gap_bdtsuql_block. bcf_lt_gap_bdtsuql_block + S (3 * q + r) = 3 * S q - 0009
specialize division_block_upper 3 - 0010
specialize division_block_upper q - 0011
specialize division_block_upper r - 0012
apply division_block_upper - 0013
exact hdivision_right - 0014
have hblock_aligned : Lt(n + n,3 · S q)Exact native replay line
have hblock_aligned : exists bcf_lt_gap_bdtsuql_block_aligned. bcf_lt_gap_bdtsuql_block_aligned + S (n + n) = 3 * S q - 0015
rewrite hdivision_left - 0016
exact hblock - 0017
have hscaled : Le(3 · S q,3 · p)Exact native replay line
have hscaled : exists bcf_le_gap_bdtsuql_scaled. bcf_le_gap_bdtsuql_scaled + (3 * S q) = 3 * p - 0018
specialize mul_le_mul_left (S q) - 0019
specialize mul_le_mul_left p - 0020
specialize mul_le_mul_left 3 - 0021
apply mul_le_mul_left - 0022
exact hquotient - 0023
have hraw : Lt(n + n,3 · p)Exact native replay line
have hraw : exists bcf_lt_gap_bdtsuql_raw_result. bcf_lt_gap_bdtsuql_raw_result + S (n + n) = 3 * p - 0024
specialize lt_of_lt_of_le (n + n) - 0025
specialize lt_of_lt_of_le (3 * S q) - 0026
specialize lt_of_lt_of_le (3 * p) - 0027
apply lt_of_lt_of_le - 0028
exact hblock_aligned - 0029
exact hscaled - 0030
have hdouble : 2 * p = p + p - 0031
trans 1 * p + p - 0032
specialize mul_succ_left 1 - 0033
specialize mul_succ_left p - 0034
exact mul_succ_left - 0035
specialize one_mul p - 0036
rewrite one_mul - 0037
refl - 0038
have htriple : 3 * p = (p + p) + p - 0039
trans 2 * p + p - 0040
specialize mul_succ_left 2 - 0041
specialize mul_succ_left p - 0042
exact mul_succ_left - 0043
rewrite hdouble - 0044
refl - 0045
rewrite htriple at hraw - 0046
exact hraw