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. ¬n = 0 → Lt(n,16 · 32) → ∃ x. Prime(x) ∧ (Lt(n,x) ∧ Le(x,n + n))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
4 occurrences
In local proof propositions
32 occurrences
Exact expanded native-PA statement
forall n. ~(n = 0) -> (exists bpr_gap_bb8s_cutoff_bound. bpr_gap_bb8s_cutoff_bound + S (n) = 16 * 32) -> (exists p. ((~(p = 1) /\ forall bpr_left_bb8s_result_prime bpr_right_bb8s_result_prime. p = bpr_left_bb8s_result_prime * bpr_right_bb8s_result_prime -> bpr_left_bb8s_result_prime = 1 \/ bpr_right_bb8s_result_prime = 1)) /\ ((exists bpr_gap_bb8s_result_lower. bpr_gap_bb8s_result_lower + S (n) = p) /\ (exists bpr_le_gap_bb8s_result_upper. bpr_le_gap_bb8s_result_upper + (p) = (n + n))))Proof neighborhood
Direct theorem prerequisites
BT000R nonzero_is_succ BT001G le_or_lt BT001F lt_trans BT0123 bertrand_cutoff_lt_final_prime BT011Q bertrand_covering_interval BT011N prime_five_hundred_twenty_one BT0122 bertrand_cover_three_hundred_seventeen_five_hundred_twenty_one BT011M prime_three_hundred_seventeen BT0121 bertrand_cover_one_hundred_sixty_three_three_hundred_seventeen BT011L prime_one_hundred_sixty_three BT0120 bertrand_cover_eighty_three_one_hundred_sixty_three BT011K prime_eighty_three BT011Y bertrand_cover_forty_three_eighty_three BT011J prime_forty_three BT011X bertrand_cover_twenty_three_forty_three BT011I prime_twenty_three BT011W bertrand_cover_thirteen_twenty_three BT011H prime_thirteen BT011V bertrand_cover_seven_thirteen BT011G prime_seven BT011U bertrand_cover_five_seven BT011F prime_five BT011T bertrand_cover_three_five BT006N prime_three BT011S bertrand_cover_two_three BT0025 prime_two BT011R bertrand_cover_one_twoDirect 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 (27)
01Fix variables and assumptionsL1–3
02Establish hshapeL4–7
03Separate the logical casesL8–8
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L8
cases hshape
04Establish hlower_1L9–9
Establish this local claim before using it. It is not an additional assumption.
05Construct an explicit witnessL10–10
Supply the displayed value, then prove that it has the required property.
- L10
exists x
06Calculate and transport equalitiesL11–14
07Establish hsplit_1L15–18
08Separate the logical casesL19–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L19
cases hsplit_1
09Establish hlower_2L20–21
Establish this local claim before using it. It is not an additional assumption.
10Establish hsplit_2L22–25
11Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hsplit_2
12Establish hlower_3L27–28
Establish this local claim before using it. It is not an additional assumption.
13Establish hsplit_3L29–32
14Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hsplit_3
15Establish hlower_4L34–35
Establish this local claim before using it. It is not an additional assumption.
16Establish hsplit_4L36–39
17Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
cases hsplit_4
18Establish hlower_5L41–42
Establish this local claim before using it. It is not an additional assumption.
19Establish hsplit_5L43–46
20Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
cases hsplit_5
21Establish hlower_6L48–49
Establish this local claim before using it. It is not an additional assumption.
22Establish hsplit_6L50–53
23Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases hsplit_6
24Establish hlower_7L55–56
Establish this local claim before using it. It is not an additional assumption.
25Establish hsplit_7L57–60
26Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
cases hsplit_7
27Establish hlower_8L62–63
Establish this local claim before using it. It is not an additional assumption.
28Establish hsplit_8L64–67
Establish this local claim before using it. It is not an additional assumption.
- L64
have hsplit_8 : Le(9 · 9 + 2,n) ∨ Lt(n,9 · 9 + 2)Definitions: Le(9 · 9 + 2,n)Lt(n,9 · 9 + 2)Original native command in the exact edition - L65
specialize le_or_lt (9 * 9 + 2) - L66
specialize le_or_lt n - L67
exact le_or_lt
29Separate the logical casesL68–68
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L68
cases hsplit_8
30Establish hlower_9L69–70
Establish this local claim before using it. It is not an additional assumption.
- L69
have hlower_9 : Le(9 · 9 + 2,n)Definitions: Le(9 · 9 + 2,n)Original native command in the exact edition - L70
exact hsplit_8_left
31Establish hsplit_9L71–74
Establish this local claim before using it. It is not an additional assumption.
- L71
have hsplit_9 : Le(13 · 12 + 7,n) ∨ Lt(n,13 · 12 + 7)Definitions: Le(13 · 12 + 7,n)Lt(n,13 · 12 + 7)Original native command in the exact edition - L72
specialize le_or_lt (13 * 12 + 7) - L73
specialize le_or_lt n - L74
exact le_or_lt
32Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
cases hsplit_9
33Establish hlower_10L76–77
Establish this local claim before using it. It is not an additional assumption.
- L76
have hlower_10 : Le(13 · 12 + 7,n)Definitions: Le(13 · 12 + 7,n)Original native command in the exact edition - L77
exact hsplit_9_left
34Establish hsplit_10L78–81
Establish this local claim before using it. It is not an additional assumption.
- L78
have hsplit_10 : Le(18 · 17 + 11,n) ∨ Lt(n,18 · 17 + 11)Definitions: Le(18 · 17 + 11,n)Lt(n,18 · 17 + 11)Original native command in the exact edition - L79
specialize le_or_lt (18 * 17 + 11) - L80
specialize le_or_lt n - L81
exact le_or_lt
35Separate the logical casesL82–82
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L82
cases hsplit_10
36Establish hlower_11L83–84
Establish this local claim before using it. It is not an additional assumption.
- L83
have hlower_11 : Le(18 · 17 + 11,n)Definitions: Le(18 · 17 + 11,n)Original native command in the exact edition - L84
exact hsplit_10_left
37Establish hfinal_strictL85–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt trans.
- L85
have hfinal_strict : Lt(n,2 · (11 · 22) + 37)Definitions: Lt(n,2 · (11 · 22) + 37)Original native command in the exact edition - L86
specialize lt_trans n - L87
specialize lt_trans (16 * 32) - L88
specialize lt_trans (2 * (11 * 22) + 37) - L89
apply lt_trans - L90
exact hcutoff - L91
exact bertrand_cutoff_lt_final_prime - L92
specialize bertrand_covering_interval (18 * 17 + 11) - L93
specialize bertrand_covering_interval (2 * (11 * 22) + 37) - L94
specialize bertrand_covering_interval n
38Use earlier factsL95–104
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
apply bertrand_covering_interval - L96
exact prime_five_hundred_twenty_one - L97
exact hlower_11 - L98
exact hfinal_strict - L99
exact bertrand_cover_three_hundred_seventeen_five_hundred_twenty_one - L100
specialize bertrand_covering_interval (13 * 12 + 7) - L101
specialize bertrand_covering_interval (18 * 17 + 11) - L102
specialize bertrand_covering_interval n - L103
apply bertrand_covering_interval - L104
exact prime_three_hundred_seventeen
39Use earlier factsL105–114
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L105
exact hlower_10 - L106
exact hsplit_10_right - L107
exact bertrand_cover_one_hundred_sixty_three_three_hundred_seventeen - L108
specialize bertrand_covering_interval (9 * 9 + 2) - L109
specialize bertrand_covering_interval (13 * 12 + 7) - L110
specialize bertrand_covering_interval n - L111
apply bertrand_covering_interval - L112
exact prime_one_hundred_sixty_three - L113
exact hlower_9 - L114
exact hsplit_9_right
40Use earlier factsL115–124
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L115
exact bertrand_cover_eighty_three_one_hundred_sixty_three - L116
specialize bertrand_covering_interval (43) - L117
specialize bertrand_covering_interval (9 * 9 + 2) - L118
specialize bertrand_covering_interval n - L119
apply bertrand_covering_interval - L120
exact prime_eighty_three - L121
exact hlower_8 - L122
exact hsplit_8_right - L123
exact bertrand_cover_forty_three_eighty_three - L124
specialize bertrand_covering_interval (23)
41Use earlier factsL125–134
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L125
specialize bertrand_covering_interval (43) - L126
specialize bertrand_covering_interval n - L127
apply bertrand_covering_interval - L128
exact prime_forty_three - L129
exact hlower_7 - L130
exact hsplit_7_right - L131
exact bertrand_cover_twenty_three_forty_three - L132
specialize bertrand_covering_interval (13) - L133
specialize bertrand_covering_interval (23) - L134
specialize bertrand_covering_interval n
42Use earlier factsL135–144
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L135
apply bertrand_covering_interval - L136
exact prime_twenty_three - L137
exact hlower_6 - L138
exact hsplit_6_right - L139
exact bertrand_cover_thirteen_twenty_three - L140
specialize bertrand_covering_interval (7) - L141
specialize bertrand_covering_interval (13) - L142
specialize bertrand_covering_interval n - L143
apply bertrand_covering_interval - L144
exact prime_thirteen
43Use earlier factsL145–154
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L145
exact hlower_5 - L146
exact hsplit_5_right - L147
exact bertrand_cover_seven_thirteen - L148
specialize bertrand_covering_interval (5) - L149
specialize bertrand_covering_interval (7) - L150
specialize bertrand_covering_interval n - L151
apply bertrand_covering_interval - L152
exact prime_seven - L153
exact hlower_4 - L154
exact hsplit_4_right
44Use earlier factsL155–164
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L155
exact bertrand_cover_five_seven - L156
specialize bertrand_covering_interval (3) - L157
specialize bertrand_covering_interval (5) - L158
specialize bertrand_covering_interval n - L159
apply bertrand_covering_interval - L160
exact prime_five - L161
exact hlower_3 - L162
exact hsplit_3_right - L163
exact bertrand_cover_three_five - L164
specialize bertrand_covering_interval (2)
45Use earlier factsL165–174
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L165
specialize bertrand_covering_interval (3) - L166
specialize bertrand_covering_interval n - L167
apply bertrand_covering_interval - L168
exact prime_three - L169
exact hlower_2 - L170
exact hsplit_2_right - L171
exact bertrand_cover_two_three - L172
specialize bertrand_covering_interval (1) - L173
specialize bertrand_covering_interval (2) - L174
specialize bertrand_covering_interval n
Original defined command ledger · 179 lines
- 0001
intro n - 0002
intro hnonzero - 0003
intro hcutoff - 0004
have hshape : exists k. n = S k - 0005
specialize nonzero_is_succ n - 0006
apply nonzero_is_succ - 0007
exact hnonzero - 0008
cases hshape - 0009
have hlower_1 : Lt(0,n)Exact native replay line
have hlower_1 : exists k. k + 1 = n - 0010
exists x - 0011
rewrite hshape_witness - 0012
rewrite PA4 - 0013
rewrite PA3 - 0014
refl - 0015
have hsplit_1 : Lt(1,n) ∨ Lt(n,2)Exact native replay line
have hsplit_1 : (exists k. k + (2) = n) \/ (exists k. k + S n = (2)) - 0016
specialize le_or_lt (2) - 0017
specialize le_or_lt n - 0018
exact le_or_lt - 0019
cases hsplit_1 - 0020
have hlower_2 : Lt(1,n)Exact native replay line
have hlower_2 : exists k. k + (2) = n - 0021
exact hsplit_1_left - 0022
have hsplit_2 : Lt(2,n) ∨ Lt(n,3)Exact native replay line
have hsplit_2 : (exists k. k + (3) = n) \/ (exists k. k + S n = (3)) - 0023
specialize le_or_lt (3) - 0024
specialize le_or_lt n - 0025
exact le_or_lt - 0026
cases hsplit_2 - 0027
have hlower_3 : Lt(2,n)Exact native replay line
have hlower_3 : exists k. k + (3) = n - 0028
exact hsplit_2_left - 0029
have hsplit_3 : Lt(4,n) ∨ Lt(n,5)Exact native replay line
have hsplit_3 : (exists k. k + (5) = n) \/ (exists k. k + S n = (5)) - 0030
specialize le_or_lt (5) - 0031
specialize le_or_lt n - 0032
exact le_or_lt - 0033
cases hsplit_3 - 0034
have hlower_4 : Lt(4,n)Exact native replay line
have hlower_4 : exists k. k + (5) = n - 0035
exact hsplit_3_left - 0036
have hsplit_4 : Lt(6,n) ∨ Lt(n,7)Exact native replay line
have hsplit_4 : (exists k. k + (7) = n) \/ (exists k. k + S n = (7)) - 0037
specialize le_or_lt (7) - 0038
specialize le_or_lt n - 0039
exact le_or_lt - 0040
cases hsplit_4 - 0041
have hlower_5 : Lt(6,n)Exact native replay line
have hlower_5 : exists k. k + (7) = n - 0042
exact hsplit_4_left - 0043
have hsplit_5 : Lt(12,n) ∨ Lt(n,13)Exact native replay line
have hsplit_5 : (exists k. k + (13) = n) \/ (exists k. k + S n = (13)) - 0044
specialize le_or_lt (13) - 0045
specialize le_or_lt n - 0046
exact le_or_lt - 0047
cases hsplit_5 - 0048
have hlower_6 : Lt(12,n)Exact native replay line
have hlower_6 : exists k. k + (13) = n - 0049
exact hsplit_5_left - 0050
have hsplit_6 : Lt(22,n) ∨ Lt(n,23)Exact native replay line
have hsplit_6 : (exists k. k + (23) = n) \/ (exists k. k + S n = (23)) - 0051
specialize le_or_lt (23) - 0052
specialize le_or_lt n - 0053
exact le_or_lt - 0054
cases hsplit_6 - 0055
have hlower_7 : Lt(22,n)Exact native replay line
have hlower_7 : exists k. k + (23) = n - 0056
exact hsplit_6_left - 0057
have hsplit_7 : Lt(42,n) ∨ Lt(n,43)Exact native replay line
have hsplit_7 : (exists k. k + (43) = n) \/ (exists k. k + S n = (43)) - 0058
specialize le_or_lt (43) - 0059
specialize le_or_lt n - 0060
exact le_or_lt - 0061
cases hsplit_7 - 0062
have hlower_8 : Lt(42,n)Exact native replay line
have hlower_8 : exists k. k + (43) = n - 0063
exact hsplit_7_left - 0064
have hsplit_8 : Le(9 · 9 + 2,n) ∨ Lt(n,9 · 9 + 2)Exact native replay line
have hsplit_8 : (exists k. k + (9 * 9 + 2) = n) \/ (exists k. k + S n = (9 * 9 + 2)) - 0065
specialize le_or_lt (9 * 9 + 2) - 0066
specialize le_or_lt n - 0067
exact le_or_lt - 0068
cases hsplit_8 - 0069
have hlower_9 : Le(9 · 9 + 2,n)Exact native replay line
have hlower_9 : exists k. k + (9 * 9 + 2) = n - 0070
exact hsplit_8_left - 0071
have hsplit_9 : Le(13 · 12 + 7,n) ∨ Lt(n,13 · 12 + 7)Exact native replay line
have hsplit_9 : (exists k. k + (13 * 12 + 7) = n) \/ (exists k. k + S n = (13 * 12 + 7)) - 0072
specialize le_or_lt (13 * 12 + 7) - 0073
specialize le_or_lt n - 0074
exact le_or_lt - 0075
cases hsplit_9 - 0076
have hlower_10 : Le(13 · 12 + 7,n)Exact native replay line
have hlower_10 : exists k. k + (13 * 12 + 7) = n - 0077
exact hsplit_9_left - 0078
have hsplit_10 : Le(18 · 17 + 11,n) ∨ Lt(n,18 · 17 + 11)Exact native replay line
have hsplit_10 : (exists k. k + (18 * 17 + 11) = n) \/ (exists k. k + S n = (18 * 17 + 11)) - 0079
specialize le_or_lt (18 * 17 + 11) - 0080
specialize le_or_lt n - 0081
exact le_or_lt - 0082
cases hsplit_10 - 0083
have hlower_11 : Le(18 · 17 + 11,n)Exact native replay line
have hlower_11 : exists k. k + (18 * 17 + 11) = n - 0084
exact hsplit_10_left - 0085
have hfinal_strict : Lt(n,2 · (11 · 22) + 37)Exact native replay line
have hfinal_strict : exists k. k + S n = (2 * (11 * 22) + 37) - 0086
specialize lt_trans n - 0087
specialize lt_trans (16 * 32) - 0088
specialize lt_trans (2 * (11 * 22) + 37) - 0089
apply lt_trans - 0090
exact hcutoff - 0091
exact bertrand_cutoff_lt_final_prime - 0092
specialize bertrand_covering_interval (18 * 17 + 11) - 0093
specialize bertrand_covering_interval (2 * (11 * 22) + 37) - 0094
specialize bertrand_covering_interval n - 0095
apply bertrand_covering_interval - 0096
exact prime_five_hundred_twenty_one - 0097
exact hlower_11 - 0098
exact hfinal_strict - 0099
exact bertrand_cover_three_hundred_seventeen_five_hundred_twenty_one - 0100
specialize bertrand_covering_interval (13 * 12 + 7) - 0101
specialize bertrand_covering_interval (18 * 17 + 11) - 0102
specialize bertrand_covering_interval n - 0103
apply bertrand_covering_interval - 0104
exact prime_three_hundred_seventeen - 0105
exact hlower_10 - 0106
exact hsplit_10_right - 0107
exact bertrand_cover_one_hundred_sixty_three_three_hundred_seventeen - 0108
specialize bertrand_covering_interval (9 * 9 + 2) - 0109
specialize bertrand_covering_interval (13 * 12 + 7) - 0110
specialize bertrand_covering_interval n - 0111
apply bertrand_covering_interval - 0112
exact prime_one_hundred_sixty_three - 0113
exact hlower_9 - 0114
exact hsplit_9_right - 0115
exact bertrand_cover_eighty_three_one_hundred_sixty_three - 0116
specialize bertrand_covering_interval (43) - 0117
specialize bertrand_covering_interval (9 * 9 + 2) - 0118
specialize bertrand_covering_interval n - 0119
apply bertrand_covering_interval - 0120
exact prime_eighty_three - 0121
exact hlower_8 - 0122
exact hsplit_8_right - 0123
exact bertrand_cover_forty_three_eighty_three - 0124
specialize bertrand_covering_interval (23) - 0125
specialize bertrand_covering_interval (43) - 0126
specialize bertrand_covering_interval n - 0127
apply bertrand_covering_interval - 0128
exact prime_forty_three - 0129
exact hlower_7 - 0130
exact hsplit_7_right - 0131
exact bertrand_cover_twenty_three_forty_three - 0132
specialize bertrand_covering_interval (13) - 0133
specialize bertrand_covering_interval (23) - 0134
specialize bertrand_covering_interval n - 0135
apply bertrand_covering_interval - 0136
exact prime_twenty_three - 0137
exact hlower_6 - 0138
exact hsplit_6_right - 0139
exact bertrand_cover_thirteen_twenty_three - 0140
specialize bertrand_covering_interval (7) - 0141
specialize bertrand_covering_interval (13) - 0142
specialize bertrand_covering_interval n - 0143
apply bertrand_covering_interval - 0144
exact prime_thirteen - 0145
exact hlower_5 - 0146
exact hsplit_5_right - 0147
exact bertrand_cover_seven_thirteen - 0148
specialize bertrand_covering_interval (5) - 0149
specialize bertrand_covering_interval (7) - 0150
specialize bertrand_covering_interval n - 0151
apply bertrand_covering_interval - 0152
exact prime_seven - 0153
exact hlower_4 - 0154
exact hsplit_4_right - 0155
exact bertrand_cover_five_seven - 0156
specialize bertrand_covering_interval (3) - 0157
specialize bertrand_covering_interval (5) - 0158
specialize bertrand_covering_interval n - 0159
apply bertrand_covering_interval - 0160
exact prime_five - 0161
exact hlower_3 - 0162
exact hsplit_3_right - 0163
exact bertrand_cover_three_five - 0164
specialize bertrand_covering_interval (2) - 0165
specialize bertrand_covering_interval (3) - 0166
specialize bertrand_covering_interval n - 0167
apply bertrand_covering_interval - 0168
exact prime_three - 0169
exact hlower_2 - 0170
exact hsplit_2_right - 0171
exact bertrand_cover_two_three - 0172
specialize bertrand_covering_interval (1) - 0173
specialize bertrand_covering_interval (2) - 0174
specialize bertrand_covering_interval n - 0175
apply bertrand_covering_interval - 0176
exact prime_two - 0177
exact hlower_1 - 0178
exact hsplit_1_right - 0179
exact bertrand_cover_one_two