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. ∀ s. Lt(2,n) → FloorSqrt(n + n,s) → Lt(1,s)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
10 occurrences
Exact expanded native-PA statement
forall n s. (exists bcf_lt_gap_b5rbfstl_positive. bcf_lt_gap_b5rbfstl_positive + S (2) = n) -> (((exists bcs_sqrt_lower_gap_b5rbfstl_floor. bcs_sqrt_lower_gap_b5rbfstl_floor + (s) * (s) = (n + n)) /\ exists bcs_sqrt_upper_gap_b5rbfstl_floor. bcs_sqrt_upper_gap_b5rbfstl_floor + S (n + n) = S (s) * S (s))) -> (exists bcf_le_gap_b5rbfstl_result. bcf_le_gap_b5rbfstl_result + (2) = s)Proof neighborhood
Direct theorem prerequisites
BT001G le_or_lt BT000E le_refl BT0018 le_succ BT001D lt_of_lt_of_le BT0097 lt_three_cases BT00R7 floor_sqrt_strict_upper_bound BT010A two_lt_double_lower_six BT000F le_trans BT001I lt_not_le BT001B lt_irrefl_expandedDirect 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 (10)
01Fix variables and assumptionsL1–4
02Establish hcasesL5–8
03Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hcases
04Use earlier factsL10–10
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L10
exact hcases_left
05Establish htwo_threeL11–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le succ.
06Establish hthreeL17–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
07Establish hsmall_casesL24–27
08Establish hupperL28–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply floor sqrt strict upper bound.
- L28
have hupper : Lt(n + n,S s · S s)Definitions: Lt(n + n,S s · S s)Original native command in the exact edition - L29
specialize floor_sqrt_strict_upper_bound (n + n) - L30
specialize floor_sqrt_strict_upper_bound s - L31
apply floor_sqrt_strict_upper_bound - L32
exact hfloor
09Establish hlowerL33–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply two lt double lower six.
- L33
have hlower : Le(3 + 3,n + n)Definitions: Le(3 + 3,n + n)Original native command in the exact edition - L34
specialize two_lt_double_lower_six n - L35
apply two_lt_double_lower_six - L36
exact hpositive
10Separate the logical casesL37–38
11Calculate and transport equalitiesL39–40
12Establish hsmallL41–41
Establish this local claim before using it. It is not an additional assumption.
- L41
have hsmall : Le(1 · 1,3 + 3)Definitions: Le(1 · 1,3 + 3)Original native command in the exact edition
13Construct an explicit witnessL42–42
Supply the displayed value, then prove that it has the required property.
- L42
exists 5
14Calculate and transport equalitiesL43–43
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L43
norm_num
15Establish hreverseL44–50
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L44
have hreverse : Le(1 · 1,n + n)Definitions: Le(1 · 1,n + n)Original native command in the exact edition - L45
specialize le_trans (S 0 * S 0) - L46
specialize le_trans (3 + 3) - L47
specialize le_trans (n + n) - L48
apply le_trans - L49
exact hsmall - L50
exact hlower
16Separate the logical casesL51–51
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L51
exfalso
17Use earlier factsL52–56
18Calculate and transport equalitiesL57–58
19Establish hsmallL59–59
Establish this local claim before using it. It is not an additional assumption.
- L59
have hsmall : Le(2 · 2,3 + 3)Definitions: Le(2 · 2,3 + 3)Original native command in the exact edition
20Construct an explicit witnessL60–60
Supply the displayed value, then prove that it has the required property.
- L60
exists 2
21Calculate and transport equalitiesL61–61
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L61
norm_num
22Establish hreverseL62–68
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L62
have hreverse : Le(2 · 2,n + n)Definitions: Le(2 · 2,n + n)Original native command in the exact edition - L63
specialize le_trans (S 1 * S 1) - L64
specialize le_trans (3 + 3) - L65
specialize le_trans (n + n) - L66
apply le_trans - L67
exact hsmall - L68
exact hlower
23Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
exfalso
24Use earlier factsL70–74
25Calculate and transport equalitiesL75–75
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L75
rewrite hsmall_cases_right at hcases_right
26Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
exfalso
Original defined command ledger · 79 lines
- 0001
intro n - 0002
intro s - 0003
intro hpositive - 0004
intro hfloor - 0005
have hcases : Lt(1,s) ∨ Lt(s,2)Exact native replay line
have hcases : (exists bcf_le_gap_b5rbfstl_result. bcf_le_gap_b5rbfstl_result + (2) = s) \/ (exists bcf_lt_gap_b5rbfstl_reverse. bcf_lt_gap_b5rbfstl_reverse + S (s) = 2) - 0006
specialize le_or_lt 2 - 0007
specialize le_or_lt s - 0008
exact le_or_lt - 0009
cases hcases - 0010
exact hcases_left - 0011
have htwo_three : Lt(1,3)Exact native replay line
have htwo_three : exists k. k + 2 = 3 - 0012
specialize le_refl 2 - 0013
specialize le_succ 2 - 0014
specialize le_succ 2 - 0015
apply le_succ - 0016
exact le_refl - 0017
have hthree : Lt(s,3)Exact native replay line
have hthree : exists bcf_lt_gap_b5rbfstl_three. bcf_lt_gap_b5rbfstl_three + S (s) = 3 - 0018
specialize lt_of_lt_of_le s - 0019
specialize lt_of_lt_of_le 2 - 0020
specialize lt_of_lt_of_le 3 - 0021
apply lt_of_lt_of_le - 0022
exact hcases_right - 0023
exact htwo_three - 0024
have hsmall_cases : s = 0 \/ s = 1 \/ s = 2 - 0025
specialize lt_three_cases s - 0026
apply lt_three_cases - 0027
exact hthree - 0028
have hupper : Lt(n + n,S s · S s)Exact native replay line
have hupper : exists bcf_lt_gap_b5rbfstl_upper. bcf_lt_gap_b5rbfstl_upper + S (n + n) = S s * S s - 0029
specialize floor_sqrt_strict_upper_bound (n + n) - 0030
specialize floor_sqrt_strict_upper_bound s - 0031
apply floor_sqrt_strict_upper_bound - 0032
exact hfloor - 0033
have hlower : Le(3 + 3,n + n)Exact native replay line
have hlower : exists bcf_le_gap_b5rbfstl_lower_six. bcf_le_gap_b5rbfstl_lower_six + (3 + 3) = n + n - 0034
specialize two_lt_double_lower_six n - 0035
apply two_lt_double_lower_six - 0036
exact hpositive - 0037
cases hsmall_cases - 0038
cases hsmall_cases_left - 0039
rewrite hsmall_cases_left_left at hupper - 0040
rewrite hsmall_cases_left_left at hupper - 0041
have hsmall : Le(1 · 1,3 + 3)Exact native replay line
have hsmall : exists bcf_le_gap_b5rbfstl_zero_small. bcf_le_gap_b5rbfstl_zero_small + (S 0 * S 0) = 3 + 3 - 0042
exists 5 - 0043
norm_num - 0044
have hreverse : Le(1 · 1,n + n)Exact native replay line
have hreverse : exists bcf_le_gap_b5rbfstl_zero_reverse. bcf_le_gap_b5rbfstl_zero_reverse + (S 0 * S 0) = n + n - 0045
specialize le_trans (S 0 * S 0) - 0046
specialize le_trans (3 + 3) - 0047
specialize le_trans (n + n) - 0048
apply le_trans - 0049
exact hsmall - 0050
exact hlower - 0051
exfalso - 0052
specialize lt_not_le (n + n) - 0053
specialize lt_not_le (S 0 * S 0) - 0054
apply lt_not_le - 0055
exact hupper - 0056
exact hreverse - 0057
rewrite hsmall_cases_left_right at hupper - 0058
rewrite hsmall_cases_left_right at hupper - 0059
have hsmall : Le(2 · 2,3 + 3)Exact native replay line
have hsmall : exists bcf_le_gap_b5rbfstl_one_small. bcf_le_gap_b5rbfstl_one_small + (S 1 * S 1) = 3 + 3 - 0060
exists 2 - 0061
norm_num - 0062
have hreverse : Le(2 · 2,n + n)Exact native replay line
have hreverse : exists bcf_le_gap_b5rbfstl_one_reverse. bcf_le_gap_b5rbfstl_one_reverse + (S 1 * S 1) = n + n - 0063
specialize le_trans (S 1 * S 1) - 0064
specialize le_trans (3 + 3) - 0065
specialize le_trans (n + n) - 0066
apply le_trans - 0067
exact hsmall - 0068
exact hlower - 0069
exfalso - 0070
specialize lt_not_le (n + n) - 0071
specialize lt_not_le (S 1 * S 1) - 0072
apply lt_not_le - 0073
exact hupper - 0074
exact hreverse - 0075
rewrite hsmall_cases_right at hcases_right - 0076
exfalso - 0077
specialize lt_irrefl_expanded 2 - 0078
apply lt_irrefl_expanded - 0079
exact hcases_right