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 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)Structural proof guide
A quotient below p places the dividend strictly below 3*p.
Direct prerequisites: division_block_upper, mul_le_mul_left, lt_of_lt_of_le, mul_succ_left, one_mul. The authored body proceeds by case analysis (1), intermediate claims (6), equality transport (4).
Proof neighborhood
Direct dependencies
BT001R division_block_upper BT001L mul_le_mul_left BT001D lt_of_lt_of_le BT0005 mul_succ_left BT0009 one_mulDirect 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–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.
04Establish hblock_alignedL14–16
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.
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 exact 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 : 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 : 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 : 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 : 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