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. Le(16 · 32,n) → ∃ 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
25 occurrences
Exact expanded native-PA statement
forall n. (exists bcf_le_gap_b7_threshold. bcf_le_gap_b7_threshold + (16 * 32) = n) -> (exists b7_prime. ((~(b7_prime = 1) /\ forall bpr_left_b7_result_prime bpr_right_b7_result_prime. b7_prime = bpr_left_b7_result_prime * bpr_right_b7_result_prime -> bpr_left_b7_result_prime = 1 \/ bpr_right_b7_result_prime = 1)) /\ ((exists bcf_lt_gap_b7_result_lower. bcf_lt_gap_b7_result_lower + S (n) = b7_prime) /\ (exists bcf_le_gap_b7_result_upper. bcf_le_gap_b7_result_upper + (b7_prime) = n + n)))Proof neighborhood
Direct theorem prerequisites
BT00PS bounded_prime_interval_search BT00PW le_mul_of_one_le_right BT000F le_trans BT001D lt_of_lt_of_le BT00RA floor_sqrt_total BT001P division_remainder_exists BT00TN central_binom_exists BT0080 pow_exists BT00U4 four_pow_lt_mul_central_binom BT0114 central_binom_le_of_no_bertrand_prime BT001L mul_le_mul_left BT0008 mul_assoc BT00X8 bertrand_main_inequality_nat BT001I lt_not_leDirect 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 (14)
01Fix variables and assumptionsL1–2
02Establish hsearchL3–6
Establish this local claim before using it. It is not an additional assumption.
- L3
have hsearch : (∃ x. Prime(x) ∧ (Lt(n,x) ∧ Le(x,n + n))) ∨ (∀ x. Lt(n,x) ∧ Le(x,n + n) → ¬Prime(x))Definitions: Prime(x)Lt(n,x)Le(x,n + n)Original native command in the exact edition - L4
specialize bounded_prime_interval_search n - L5
specialize bounded_prime_interval_search (n + n) - L6
exact bounded_prime_interval_search
03Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
cases hsearch
04Use earlier factsL8–8
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L8
exact hsearch_left
05Separate the logical casesL9–9
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
exfalso
06Establish hone_thirty_twoL10–10
Establish this local claim before using it. It is not an additional assumption.
07Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists 31
08Calculate and transport equalitiesL12–12
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L12
norm_num
09Establish hsixteen_thresholdL13–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le mul of one le right.
- L13
have hsixteen_threshold : Lt(15,16 · 32)Definitions: Lt(15,16 · 32)Original native command in the exact edition - L14
specialize le_mul_of_one_le_right 16 - L15
specialize le_mul_of_one_le_right 32 - L16
apply le_mul_of_one_le_right - L17
exact hone_thirty_two
10Establish hfour_sixteenL18–18
Establish this local claim before using it. It is not an additional assumption.
11Construct an explicit witnessL19–19
Supply the displayed value, then prove that it has the required property.
- L19
exists 12
12Calculate and transport equalitiesL20–20
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L20
norm_num
13Establish hfour_thresholdL21–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L21
have hfour_threshold : Lt(3,16 · 32)Definitions: Lt(3,16 · 32)Original native command in the exact edition - L22
specialize le_trans 4 - L23
specialize le_trans 16 - L24
specialize le_trans (16 * 32) - L25
apply le_trans - L26
exact hfour_sixteen - L27
exact hsixteen_threshold
14Establish hfour_nL28–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
15Establish htwo_fourL35–35
Establish this local claim before using it. It is not an additional assumption.
16Construct an explicit witnessL36–36
Supply the displayed value, then prove that it has the required property.
- L36
exists 1
17Calculate and transport equalitiesL37–37
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L37
norm_num
18Establish htwo_nL38–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply lt of lt of le.
19Establish hfloor_existsL45–47
Establish this local claim before using it. It is not an additional assumption.
- L45
have hfloor_exists : ∃ s. FloorSqrt(n + n,s)Definitions: FloorSqrt(n + n,s)Original native command in the exact edition - L46
specialize floor_sqrt_total (n + n) - L47
exact floor_sqrt_total
20Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
cases hfloor_exists
21Establish hdivision_existsL49–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply division remainder exists.
- L49
have hdivision_exists : ∃ q. ∃ r. DivRem(n + n,3,q,r)Definitions: DivRem(n + n,3,q,r)Original native command in the exact edition - L50
specialize division_remainder_exists 3 - L51
specialize division_remainder_exists (n + n) - L52
apply division_remainder_exists - L53
intro hthree_zero - L54
apply PA1 - L55
exact hthree_zero
22Separate the logical casesL56–57
23Establish hcentral_existsL58–60
Establish this local claim before using it. It is not an additional assumption.
- L58
have hcentral_exists : ∃ C. CentralBinom(n,C)Definitions: CentralBinom(n,C)Original native command in the exact edition - L59
specialize central_binom_exists n - L60
exact central_binom_exists
24Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
cases hcentral_exists
25Establish hpower_a_existsL62–65
Establish this local claim before using it. It is not an additional assumption.
- L62
have hpower_a_exists : ∃ A. Pow(n + n,x,A)Definitions: Pow(n + n,x,A)Original native command in the exact edition - L63
specialize pow_exists (n + n) - L64
specialize pow_exists x - L65
exact pow_exists
26Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
cases hpower_a_exists
27Establish hpower_b_existsL67–70
Establish this local claim before using it. It is not an additional assumption.
- L67
have hpower_b_exists : ∃ B. Pow(4,x1,B)Definitions: Pow(4,x1,B)Original native command in the exact edition - L68
specialize pow_exists 4 - L69
specialize pow_exists x1 - L70
exact pow_exists
28Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
cases hpower_b_exists
29Establish hpower_f_existsL72–75
Establish this local claim before using it. It is not an additional assumption.
- L72
have hpower_f_exists : ∃ F. Pow(4,n,F)Definitions: Pow(4,n,F)Original native command in the exact edition - L73
specialize pow_exists 4 - L74
specialize pow_exists n - L75
exact pow_exists
30Separate the logical casesL76–76
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L76
cases hpower_f_exists
31Establish hlowerL77–84
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four pow lt mul central binom.
32Establish hcentral_upperL85–94
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply central binom le of no bertrand prime.
- L85
have hcentral_upper : Le(x3,x4 · x5)Definitions: Le(x3,x4 · x5)Original native command in the exact edition - L86
specialize central_binom_le_of_no_bertrand_prime n - L87
specialize central_binom_le_of_no_bertrand_prime x - L88
specialize central_binom_le_of_no_bertrand_prime x1 - L89
specialize central_binom_le_of_no_bertrand_prime x2 - L90
specialize central_binom_le_of_no_bertrand_prime x3 - L91
specialize central_binom_le_of_no_bertrand_prime x4 - L92
specialize central_binom_le_of_no_bertrand_prime x5 - L93
apply central_binom_le_of_no_bertrand_prime - L94
exact hsearch_right
33Use earlier factsL95–100
34Establish hscaled_upperL101–106
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul left.
- L101
have hscaled_upper : Le(n · x3,n · (x4 · x5))Definitions: Le(n · x3,n · (x4 · x5))Original native command in the exact edition - L102
specialize mul_le_mul_left x3 - L103
specialize mul_le_mul_left (x4 * x5) - L104
specialize mul_le_mul_left n - L105
apply mul_le_mul_left - L106
exact hcentral_upper
35Establish hassociated_upperL107–112
Establish this local claim before using it. It is not an additional assumption.
- L107
have hassociated_upper : Le(n · x3,n · x4 · x5)Definitions: Le(n · x3,n · x4 · x5)Original native command in the exact edition - L108
specialize mul_assoc n - L109
specialize mul_assoc x4 - L110
specialize mul_assoc x5 - L111
rewrite <- mul_assoc at hscaled_upper - L112
exact hscaled_upper
36Establish hmainL113–122
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bertrand main inequality nat.
- L113
have hmain : Le(n · x4 · x5,x6)Definitions: Le(n · x4 · x5,x6)Original native command in the exact edition - L114
specialize bertrand_main_inequality_nat n - L115
specialize bertrand_main_inequality_nat x - L116
specialize bertrand_main_inequality_nat x1 - L117
specialize bertrand_main_inequality_nat x2 - L118
specialize bertrand_main_inequality_nat x4 - L119
specialize bertrand_main_inequality_nat x5 - L120
specialize bertrand_main_inequality_nat x6 - L121
apply bertrand_main_inequality_nat - L122
exact hthreshold
37Use earlier factsL123–127
38Establish hcontradiction_upperL128–137
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
- L128
have hcontradiction_upper : Le(n · x3,x6)Definitions: Le(n · x3,x6)Original native command in the exact edition - L129
specialize le_trans (n * x3) - L130
specialize le_trans (n * x4 * x5) - L131
specialize le_trans x6 - L132
apply le_trans - L133
exact hassociated_upper - L134
exact hmain - L135
specialize lt_not_le x6 - L136
specialize lt_not_le (n * x3) - L137
apply lt_not_le
Original defined command ledger · 139 lines
- 0001
intro n - 0002
intro hthreshold - 0003
have hsearch : (∃ x. Prime(x) ∧ (Lt(n,x) ∧ Le(x,n + n))) ∨ (∀ x. Lt(n,x) ∧ Le(x,n + n) → ¬Prime(x))Exact native replay line
have hsearch : (exists b7_prime. ((~(b7_prime = 1) /\ forall bpr_left_b7_result_prime bpr_right_b7_result_prime. b7_prime = bpr_left_b7_result_prime * bpr_right_b7_result_prime -> bpr_left_b7_result_prime = 1 \/ bpr_right_b7_result_prime = 1)) /\ ((exists bcf_lt_gap_b7_result_lower. bcf_lt_gap_b7_result_lower + S (n) = b7_prime) /\ (exists bcf_le_gap_b7_result_upper. bcf_le_gap_b7_result_upper + (b7_prime) = n + n))) \/ (forall bpr_prime_candidate_b7_exclusion. ((exists bpr_gap_b7_exclusion_lower. bpr_gap_b7_exclusion_lower + S (n) = bpr_prime_candidate_b7_exclusion) /\ (exists bpr_le_gap_b7_exclusion_upper. bpr_le_gap_b7_exclusion_upper + (bpr_prime_candidate_b7_exclusion) = (n + n))) -> ~((~(bpr_prime_candidate_b7_exclusion = 1) /\ forall bpr_left_b7_exclusion_prime bpr_right_b7_exclusion_prime. bpr_prime_candidate_b7_exclusion = bpr_left_b7_exclusion_prime * bpr_right_b7_exclusion_prime -> bpr_left_b7_exclusion_prime = 1 \/ bpr_right_b7_exclusion_prime = 1))) - 0004
specialize bounded_prime_interval_search n - 0005
specialize bounded_prime_interval_search (n + n) - 0006
exact bounded_prime_interval_search - 0007
cases hsearch - 0008
exact hsearch_left - 0009
exfalso - 0010
have hone_thirty_two : Lt(0,32)Exact native replay line
have hone_thirty_two : exists bcf_le_gap_b7_one_thirty_two. bcf_le_gap_b7_one_thirty_two + (1) = 32 - 0011
exists 31 - 0012
norm_num - 0013
have hsixteen_threshold : Lt(15,16 · 32)Exact native replay line
have hsixteen_threshold : exists bcf_le_gap_b7_sixteen_threshold. bcf_le_gap_b7_sixteen_threshold + (16) = 16 * 32 - 0014
specialize le_mul_of_one_le_right 16 - 0015
specialize le_mul_of_one_le_right 32 - 0016
apply le_mul_of_one_le_right - 0017
exact hone_thirty_two - 0018
have hfour_sixteen : Lt(3,16)Exact native replay line
have hfour_sixteen : exists bcf_le_gap_b7_four_sixteen. bcf_le_gap_b7_four_sixteen + (4) = 16 - 0019
exists 12 - 0020
norm_num - 0021
have hfour_threshold : Lt(3,16 · 32)Exact native replay line
have hfour_threshold : exists bcf_le_gap_b7_four_threshold. bcf_le_gap_b7_four_threshold + (4) = 16 * 32 - 0022
specialize le_trans 4 - 0023
specialize le_trans 16 - 0024
specialize le_trans (16 * 32) - 0025
apply le_trans - 0026
exact hfour_sixteen - 0027
exact hsixteen_threshold - 0028
have hfour_n : Lt(3,n)Exact native replay line
have hfour_n : exists bcf_le_gap_b7_four_n. bcf_le_gap_b7_four_n + (4) = n - 0029
specialize le_trans 4 - 0030
specialize le_trans (16 * 32) - 0031
specialize le_trans n - 0032
apply le_trans - 0033
exact hfour_threshold - 0034
exact hthreshold - 0035
have htwo_four : Lt(2,4)Exact native replay line
have htwo_four : exists bcf_lt_gap_b7_two_four. bcf_lt_gap_b7_two_four + S (2) = 4 - 0036
exists 1 - 0037
norm_num - 0038
have htwo_n : Lt(2,n)Exact native replay line
have htwo_n : exists bcf_lt_gap_b7_two_n. bcf_lt_gap_b7_two_n + S (2) = n - 0039
specialize lt_of_lt_of_le 2 - 0040
specialize lt_of_lt_of_le 4 - 0041
specialize lt_of_lt_of_le n - 0042
apply lt_of_lt_of_le - 0043
exact htwo_four - 0044
exact hfour_n - 0045
have hfloor_exists : ∃ s. FloorSqrt(n + n,s)Exact native replay line
have hfloor_exists : exists s. (((exists bcs_sqrt_lower_gap_b7_floor. bcs_sqrt_lower_gap_b7_floor + (s) * (s) = (n + n)) /\ exists bcs_sqrt_upper_gap_b7_floor. bcs_sqrt_upper_gap_b7_floor + S (n + n) = S (s) * S (s))) - 0046
specialize floor_sqrt_total (n + n) - 0047
exact floor_sqrt_total - 0048
cases hfloor_exists - 0049
have hdivision_exists : ∃ q. ∃ r. DivRem(n + n,3,q,r)Exact native replay line
have hdivision_exists : exists q r. (((n + n) = (3) * (q) + (r) /\ (exists bcf_lt_gap_b7_division_bound. bcf_lt_gap_b7_division_bound + S (r) = 3))) - 0050
specialize division_remainder_exists 3 - 0051
specialize division_remainder_exists (n + n) - 0052
apply division_remainder_exists - 0053
intro hthree_zero - 0054
apply PA1 - 0055
exact hthree_zero - 0056
cases hdivision_exists - 0057
cases hdivision_exists_witness - 0058
have hcentral_exists : ∃ C. CentralBinom(n,C)Exact native replay line
have hcentral_exists : exists C. (((exists bcf_lt_gap_b7_central_out_of_range. bcf_lt_gap_b7_central_out_of_range + S (n + n) = n) /\ C = 0) \/ ((exists bcf_le_gap_b7_central_in_range. bcf_le_gap_b7_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_b7_central bcf_row_code_scale_b7_central bcf_row_scale_code_b7_central bcf_row_scale_scale_b7_central bcf_row_code_b7_central bcf_row_scale_b7_central. ((forall bcf_row_index_b7_central_table. (exists bcf_lt_gap_b7_central_table_row_bound. bcf_lt_gap_b7_central_table_row_bound + S (bcf_row_index_b7_central_table) = S (n + n)) -> exists bcf_row_code_b7_central_table bcf_row_scale_b7_central_table. ((((exists bcf_height_b7_central_table_decoded_row_code. bcf_height_b7_central_table_decoded_row_code + S (bcf_row_code_b7_central_table) = S ((S (bcf_row_index_b7_central_table)) * bcf_row_code_scale_b7_central)) /\ exists bcf_quotient_b7_central_table_decoded_row_code. bcf_row_code_code_b7_central = bcf_quotient_b7_central_table_decoded_row_code * S ((S (bcf_row_index_b7_central_table)) * bcf_row_code_scale_b7_central) + (bcf_row_code_b7_central_table))) /\ ((((exists bcf_height_b7_central_table_decoded_row_scale. bcf_height_b7_central_table_decoded_row_scale + S (bcf_row_scale_b7_central_table) = S ((S (bcf_row_index_b7_central_table)) * bcf_row_scale_scale_b7_central)) /\ exists bcf_quotient_b7_central_table_decoded_row_scale. bcf_row_scale_code_b7_central = bcf_quotient_b7_central_table_decoded_row_scale * S ((S (bcf_row_index_b7_central_table)) * bcf_row_scale_scale_b7_central) + (bcf_row_scale_b7_central_table))) /\ ((bcf_row_index_b7_central_table = 0 /\ (forall bcf_index_b7_central_table_zero_row. (exists bcf_lt_gap_b7_central_table_zero_row_bound. bcf_lt_gap_b7_central_table_zero_row_bound + S (bcf_index_b7_central_table_zero_row) = S (n + n)) -> exists bcf_value_b7_central_table_zero_row. ((((exists bcf_height_b7_central_table_zero_row_entry. bcf_height_b7_central_table_zero_row_entry + S (bcf_value_b7_central_table_zero_row) = S ((S (bcf_index_b7_central_table_zero_row)) * bcf_row_scale_b7_central_table)) /\ exists bcf_quotient_b7_central_table_zero_row_entry. bcf_row_code_b7_central_table = bcf_quotient_b7_central_table_zero_row_entry * S ((S (bcf_index_b7_central_table_zero_row)) * bcf_row_scale_b7_central_table) + (bcf_value_b7_central_table_zero_row))) /\ ((bcf_index_b7_central_table_zero_row = 0 /\ bcf_value_b7_central_table_zero_row = 1) \/ exists bcf_predecessor_b7_central_table_zero_row. bcf_index_b7_central_table_zero_row = S bcf_predecessor_b7_central_table_zero_row /\ bcf_value_b7_central_table_zero_row = 0)))) \/ exists bcf_predecessor_b7_central_table bcf_previous_code_b7_central_table bcf_previous_scale_b7_central_table. bcf_row_index_b7_central_table = S bcf_predecessor_b7_central_table /\ ((((exists bcf_height_b7_central_table_decoded_previous_code. bcf_height_b7_central_table_decoded_previous_code + S (bcf_previous_code_b7_central_table) = S ((S (bcf_predecessor_b7_central_table)) * bcf_row_code_scale_b7_central)) /\ exists bcf_quotient_b7_central_table_decoded_previous_code. bcf_row_code_code_b7_central = bcf_quotient_b7_central_table_decoded_previous_code * S ((S (bcf_predecessor_b7_central_table)) * bcf_row_code_scale_b7_central) + (bcf_previous_code_b7_central_table))) /\ ((((exists bcf_height_b7_central_table_decoded_previous_scale. bcf_height_b7_central_table_decoded_previous_scale + S (bcf_previous_scale_b7_central_table) = S ((S (bcf_predecessor_b7_central_table)) * bcf_row_scale_scale_b7_central)) /\ exists bcf_quotient_b7_central_table_decoded_previous_scale. bcf_row_scale_code_b7_central = bcf_quotient_b7_central_table_decoded_previous_scale * S ((S (bcf_predecessor_b7_central_table)) * bcf_row_scale_scale_b7_central) + (bcf_previous_scale_b7_central_table))) /\ (forall bcf_index_b7_central_table_row_step. (exists bcf_lt_gap_b7_central_table_row_step_bound. bcf_lt_gap_b7_central_table_row_step_bound + S (bcf_index_b7_central_table_row_step) = S (n + n)) -> exists bcf_value_b7_central_table_row_step. ((((exists bcf_height_b7_central_table_row_step_entry. bcf_height_b7_central_table_row_step_entry + S (bcf_value_b7_central_table_row_step) = S ((S (bcf_index_b7_central_table_row_step)) * bcf_row_scale_b7_central_table)) /\ exists bcf_quotient_b7_central_table_row_step_entry. bcf_row_code_b7_central_table = bcf_quotient_b7_central_table_row_step_entry * S ((S (bcf_index_b7_central_table_row_step)) * bcf_row_scale_b7_central_table) + (bcf_value_b7_central_table_row_step))) /\ ((bcf_index_b7_central_table_row_step = 0 /\ bcf_value_b7_central_table_row_step = 1) \/ exists bcf_predecessor_b7_central_table_row_step bcf_left_b7_central_table_row_step bcf_right_b7_central_table_row_step. bcf_index_b7_central_table_row_step = S bcf_predecessor_b7_central_table_row_step /\ ((((exists bcf_height_b7_central_table_row_step_previous_left. bcf_height_b7_central_table_row_step_previous_left + S (bcf_left_b7_central_table_row_step) = S ((S (bcf_predecessor_b7_central_table_row_step)) * bcf_previous_scale_b7_central_table)) /\ exists bcf_quotient_b7_central_table_row_step_previous_left. bcf_previous_code_b7_central_table = bcf_quotient_b7_central_table_row_step_previous_left * S ((S (bcf_predecessor_b7_central_table_row_step)) * bcf_previous_scale_b7_central_table) + (bcf_left_b7_central_table_row_step))) /\ ((((exists bcf_height_b7_central_table_row_step_previous_right. bcf_height_b7_central_table_row_step_previous_right + S (bcf_right_b7_central_table_row_step) = S ((S (S (bcf_predecessor_b7_central_table_row_step))) * bcf_previous_scale_b7_central_table)) /\ exists bcf_quotient_b7_central_table_row_step_previous_right. bcf_previous_code_b7_central_table = bcf_quotient_b7_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_b7_central_table_row_step))) * bcf_previous_scale_b7_central_table) + (bcf_right_b7_central_table_row_step))) /\ bcf_value_b7_central_table_row_step = bcf_left_b7_central_table_row_step + bcf_right_b7_central_table_row_step))))))))))) /\ ((((exists bcf_height_b7_central_decoded_row_code. bcf_height_b7_central_decoded_row_code + S (bcf_row_code_b7_central) = S ((S (n + n)) * bcf_row_code_scale_b7_central)) /\ exists bcf_quotient_b7_central_decoded_row_code. bcf_row_code_code_b7_central = bcf_quotient_b7_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_b7_central) + (bcf_row_code_b7_central))) /\ ((((exists bcf_height_b7_central_decoded_row_scale. bcf_height_b7_central_decoded_row_scale + S (bcf_row_scale_b7_central) = S ((S (n + n)) * bcf_row_scale_scale_b7_central)) /\ exists bcf_quotient_b7_central_decoded_row_scale. bcf_row_scale_code_b7_central = bcf_quotient_b7_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_b7_central) + (bcf_row_scale_b7_central))) /\ (((exists bcf_height_b7_central_decoded_value. bcf_height_b7_central_decoded_value + S (C) = S ((S (n)) * bcf_row_scale_b7_central)) /\ exists bcf_quotient_b7_central_decoded_value. bcf_row_code_b7_central = bcf_quotient_b7_central_decoded_value * S ((S (n)) * bcf_row_scale_b7_central) + (C))))))))) - 0059
specialize central_binom_exists n - 0060
exact central_binom_exists - 0061
cases hcentral_exists - 0062
have hpower_a_exists : ∃ A. Pow(n + n,x,A)Exact native replay line
have hpower_a_exists : exists A. (exists pa_b_b7_power_a pa_c_b7_power_a. ((forall pa_i_b7_power_a_repeat. (exists pa_lt_b7_power_a_repeat_bound. pa_lt_b7_power_a_repeat_bound + S pa_i_b7_power_a_repeat = x) -> (((exists pa_h_b7_power_a_repeat_decoded. pa_h_b7_power_a_repeat_decoded + S (n + n) = S ((S (pa_i_b7_power_a_repeat)) * pa_c_b7_power_a)) /\ exists pa_q_b7_power_a_repeat_decoded. pa_b_b7_power_a = pa_q_b7_power_a_repeat_decoded * S ((S (pa_i_b7_power_a_repeat)) * pa_c_b7_power_a) + (n + n)))) /\ (exists pa_u_b7_power_a_product pa_v_b7_power_a_product. ((((exists pa_h_b7_power_a_product_start. pa_h_b7_power_a_product_start + S (1) = S ((S (0)) * pa_v_b7_power_a_product)) /\ exists pa_q_b7_power_a_product_start. pa_u_b7_power_a_product = pa_q_b7_power_a_product_start * S ((S (0)) * pa_v_b7_power_a_product) + (1))) /\ ((((exists pa_h_b7_power_a_product_terminal. pa_h_b7_power_a_product_terminal + S (A) = S ((S (x)) * pa_v_b7_power_a_product)) /\ exists pa_q_b7_power_a_product_terminal. pa_u_b7_power_a_product = pa_q_b7_power_a_product_terminal * S ((S (x)) * pa_v_b7_power_a_product) + (A))) /\ forall pa_i_b7_power_a_product. (exists pa_lt_b7_power_a_product_bound. pa_lt_b7_power_a_product_bound + S pa_i_b7_power_a_product = x) -> exists pa_p_b7_power_a_product pa_r_b7_power_a_product pa_s_b7_power_a_product. ((((exists pa_h_b7_power_a_product_factor. pa_h_b7_power_a_product_factor + S (pa_p_b7_power_a_product) = S ((S (pa_i_b7_power_a_product)) * pa_c_b7_power_a)) /\ exists pa_q_b7_power_a_product_factor. pa_b_b7_power_a = pa_q_b7_power_a_product_factor * S ((S (pa_i_b7_power_a_product)) * pa_c_b7_power_a) + (pa_p_b7_power_a_product))) /\ ((((exists pa_h_b7_power_a_product_partial. pa_h_b7_power_a_product_partial + S (pa_r_b7_power_a_product) = S ((S (pa_i_b7_power_a_product)) * pa_v_b7_power_a_product)) /\ exists pa_q_b7_power_a_product_partial. pa_u_b7_power_a_product = pa_q_b7_power_a_product_partial * S ((S (pa_i_b7_power_a_product)) * pa_v_b7_power_a_product) + (pa_r_b7_power_a_product))) /\ ((((exists pa_h_b7_power_a_product_successor. pa_h_b7_power_a_product_successor + S (pa_s_b7_power_a_product) = S ((S (S pa_i_b7_power_a_product)) * pa_v_b7_power_a_product)) /\ exists pa_q_b7_power_a_product_successor. pa_u_b7_power_a_product = pa_q_b7_power_a_product_successor * S ((S (S pa_i_b7_power_a_product)) * pa_v_b7_power_a_product) + (pa_s_b7_power_a_product))) /\ pa_s_b7_power_a_product = pa_r_b7_power_a_product * pa_p_b7_power_a_product)))))))) - 0063
specialize pow_exists (n + n) - 0064
specialize pow_exists x - 0065
exact pow_exists - 0066
cases hpower_a_exists - 0067
have hpower_b_exists : ∃ B. Pow(4,x1,B)Exact native replay line
have hpower_b_exists : exists B. (exists pa_b_b7_power_b pa_c_b7_power_b. ((forall pa_i_b7_power_b_repeat. (exists pa_lt_b7_power_b_repeat_bound. pa_lt_b7_power_b_repeat_bound + S pa_i_b7_power_b_repeat = x1) -> (((exists pa_h_b7_power_b_repeat_decoded. pa_h_b7_power_b_repeat_decoded + S (4) = S ((S (pa_i_b7_power_b_repeat)) * pa_c_b7_power_b)) /\ exists pa_q_b7_power_b_repeat_decoded. pa_b_b7_power_b = pa_q_b7_power_b_repeat_decoded * S ((S (pa_i_b7_power_b_repeat)) * pa_c_b7_power_b) + (4)))) /\ (exists pa_u_b7_power_b_product pa_v_b7_power_b_product. ((((exists pa_h_b7_power_b_product_start. pa_h_b7_power_b_product_start + S (1) = S ((S (0)) * pa_v_b7_power_b_product)) /\ exists pa_q_b7_power_b_product_start. pa_u_b7_power_b_product = pa_q_b7_power_b_product_start * S ((S (0)) * pa_v_b7_power_b_product) + (1))) /\ ((((exists pa_h_b7_power_b_product_terminal. pa_h_b7_power_b_product_terminal + S (B) = S ((S (x1)) * pa_v_b7_power_b_product)) /\ exists pa_q_b7_power_b_product_terminal. pa_u_b7_power_b_product = pa_q_b7_power_b_product_terminal * S ((S (x1)) * pa_v_b7_power_b_product) + (B))) /\ forall pa_i_b7_power_b_product. (exists pa_lt_b7_power_b_product_bound. pa_lt_b7_power_b_product_bound + S pa_i_b7_power_b_product = x1) -> exists pa_p_b7_power_b_product pa_r_b7_power_b_product pa_s_b7_power_b_product. ((((exists pa_h_b7_power_b_product_factor. pa_h_b7_power_b_product_factor + S (pa_p_b7_power_b_product) = S ((S (pa_i_b7_power_b_product)) * pa_c_b7_power_b)) /\ exists pa_q_b7_power_b_product_factor. pa_b_b7_power_b = pa_q_b7_power_b_product_factor * S ((S (pa_i_b7_power_b_product)) * pa_c_b7_power_b) + (pa_p_b7_power_b_product))) /\ ((((exists pa_h_b7_power_b_product_partial. pa_h_b7_power_b_product_partial + S (pa_r_b7_power_b_product) = S ((S (pa_i_b7_power_b_product)) * pa_v_b7_power_b_product)) /\ exists pa_q_b7_power_b_product_partial. pa_u_b7_power_b_product = pa_q_b7_power_b_product_partial * S ((S (pa_i_b7_power_b_product)) * pa_v_b7_power_b_product) + (pa_r_b7_power_b_product))) /\ ((((exists pa_h_b7_power_b_product_successor. pa_h_b7_power_b_product_successor + S (pa_s_b7_power_b_product) = S ((S (S pa_i_b7_power_b_product)) * pa_v_b7_power_b_product)) /\ exists pa_q_b7_power_b_product_successor. pa_u_b7_power_b_product = pa_q_b7_power_b_product_successor * S ((S (S pa_i_b7_power_b_product)) * pa_v_b7_power_b_product) + (pa_s_b7_power_b_product))) /\ pa_s_b7_power_b_product = pa_r_b7_power_b_product * pa_p_b7_power_b_product)))))))) - 0068
specialize pow_exists 4 - 0069
specialize pow_exists x1 - 0070
exact pow_exists - 0071
cases hpower_b_exists - 0072
have hpower_f_exists : ∃ F. Pow(4,n,F)Exact native replay line
have hpower_f_exists : exists F. (exists pa_b_b7_power_f pa_c_b7_power_f. ((forall pa_i_b7_power_f_repeat. (exists pa_lt_b7_power_f_repeat_bound. pa_lt_b7_power_f_repeat_bound + S pa_i_b7_power_f_repeat = n) -> (((exists pa_h_b7_power_f_repeat_decoded. pa_h_b7_power_f_repeat_decoded + S (4) = S ((S (pa_i_b7_power_f_repeat)) * pa_c_b7_power_f)) /\ exists pa_q_b7_power_f_repeat_decoded. pa_b_b7_power_f = pa_q_b7_power_f_repeat_decoded * S ((S (pa_i_b7_power_f_repeat)) * pa_c_b7_power_f) + (4)))) /\ (exists pa_u_b7_power_f_product pa_v_b7_power_f_product. ((((exists pa_h_b7_power_f_product_start. pa_h_b7_power_f_product_start + S (1) = S ((S (0)) * pa_v_b7_power_f_product)) /\ exists pa_q_b7_power_f_product_start. pa_u_b7_power_f_product = pa_q_b7_power_f_product_start * S ((S (0)) * pa_v_b7_power_f_product) + (1))) /\ ((((exists pa_h_b7_power_f_product_terminal. pa_h_b7_power_f_product_terminal + S (F) = S ((S (n)) * pa_v_b7_power_f_product)) /\ exists pa_q_b7_power_f_product_terminal. pa_u_b7_power_f_product = pa_q_b7_power_f_product_terminal * S ((S (n)) * pa_v_b7_power_f_product) + (F))) /\ forall pa_i_b7_power_f_product. (exists pa_lt_b7_power_f_product_bound. pa_lt_b7_power_f_product_bound + S pa_i_b7_power_f_product = n) -> exists pa_p_b7_power_f_product pa_r_b7_power_f_product pa_s_b7_power_f_product. ((((exists pa_h_b7_power_f_product_factor. pa_h_b7_power_f_product_factor + S (pa_p_b7_power_f_product) = S ((S (pa_i_b7_power_f_product)) * pa_c_b7_power_f)) /\ exists pa_q_b7_power_f_product_factor. pa_b_b7_power_f = pa_q_b7_power_f_product_factor * S ((S (pa_i_b7_power_f_product)) * pa_c_b7_power_f) + (pa_p_b7_power_f_product))) /\ ((((exists pa_h_b7_power_f_product_partial. pa_h_b7_power_f_product_partial + S (pa_r_b7_power_f_product) = S ((S (pa_i_b7_power_f_product)) * pa_v_b7_power_f_product)) /\ exists pa_q_b7_power_f_product_partial. pa_u_b7_power_f_product = pa_q_b7_power_f_product_partial * S ((S (pa_i_b7_power_f_product)) * pa_v_b7_power_f_product) + (pa_r_b7_power_f_product))) /\ ((((exists pa_h_b7_power_f_product_successor. pa_h_b7_power_f_product_successor + S (pa_s_b7_power_f_product) = S ((S (S pa_i_b7_power_f_product)) * pa_v_b7_power_f_product)) /\ exists pa_q_b7_power_f_product_successor. pa_u_b7_power_f_product = pa_q_b7_power_f_product_successor * S ((S (S pa_i_b7_power_f_product)) * pa_v_b7_power_f_product) + (pa_s_b7_power_f_product))) /\ pa_s_b7_power_f_product = pa_r_b7_power_f_product * pa_p_b7_power_f_product)))))))) - 0073
specialize pow_exists 4 - 0074
specialize pow_exists n - 0075
exact pow_exists - 0076
cases hpower_f_exists - 0077
have hlower : Lt(x6,n · x3)Exact native replay line
have hlower : exists bcf_lt_gap_b7_lower. bcf_lt_gap_b7_lower + S (x6) = n * x3 - 0078
specialize four_pow_lt_mul_central_binom n - 0079
specialize four_pow_lt_mul_central_binom x6 - 0080
specialize four_pow_lt_mul_central_binom x3 - 0081
apply four_pow_lt_mul_central_binom - 0082
exact hfour_n - 0083
exact hpower_f_exists_witness - 0084
exact hcentral_exists_witness - 0085
have hcentral_upper : Le(x3,x4 · x5)Exact native replay line
have hcentral_upper : exists bcf_le_gap_b7_central_upper. bcf_le_gap_b7_central_upper + (x3) = x4 * x5 - 0086
specialize central_binom_le_of_no_bertrand_prime n - 0087
specialize central_binom_le_of_no_bertrand_prime x - 0088
specialize central_binom_le_of_no_bertrand_prime x1 - 0089
specialize central_binom_le_of_no_bertrand_prime x2 - 0090
specialize central_binom_le_of_no_bertrand_prime x3 - 0091
specialize central_binom_le_of_no_bertrand_prime x4 - 0092
specialize central_binom_le_of_no_bertrand_prime x5 - 0093
apply central_binom_le_of_no_bertrand_prime - 0094
exact hsearch_right - 0095
exact htwo_n - 0096
exact hfloor_exists_witness - 0097
exact hdivision_exists_witness_witness - 0098
exact hcentral_exists_witness - 0099
exact hpower_a_exists_witness - 0100
exact hpower_b_exists_witness - 0101
have hscaled_upper : Le(n · x3,n · (x4 · x5))Exact native replay line
have hscaled_upper : exists bcf_le_gap_b7_scaled_upper. bcf_le_gap_b7_scaled_upper + (n * x3) = n * (x4 * x5) - 0102
specialize mul_le_mul_left x3 - 0103
specialize mul_le_mul_left (x4 * x5) - 0104
specialize mul_le_mul_left n - 0105
apply mul_le_mul_left - 0106
exact hcentral_upper - 0107
have hassociated_upper : Le(n · x3,n · x4 · x5)Exact native replay line
have hassociated_upper : exists bcf_le_gap_b7_associated_upper. bcf_le_gap_b7_associated_upper + (n * x3) = n * x4 * x5 - 0108
specialize mul_assoc n - 0109
specialize mul_assoc x4 - 0110
specialize mul_assoc x5 - 0111
rewrite <- mul_assoc at hscaled_upper - 0112
exact hscaled_upper - 0113
have hmain : Le(n · x4 · x5,x6)Exact native replay line
have hmain : exists bcf_le_gap_b7_main. bcf_le_gap_b7_main + (n * x4 * x5) = x6 - 0114
specialize bertrand_main_inequality_nat n - 0115
specialize bertrand_main_inequality_nat x - 0116
specialize bertrand_main_inequality_nat x1 - 0117
specialize bertrand_main_inequality_nat x2 - 0118
specialize bertrand_main_inequality_nat x4 - 0119
specialize bertrand_main_inequality_nat x5 - 0120
specialize bertrand_main_inequality_nat x6 - 0121
apply bertrand_main_inequality_nat - 0122
exact hthreshold - 0123
exact hfloor_exists_witness - 0124
exact hdivision_exists_witness_witness - 0125
exact hpower_a_exists_witness - 0126
exact hpower_b_exists_witness - 0127
exact hpower_f_exists_witness - 0128
have hcontradiction_upper : Le(n · x3,x6)Exact native replay line
have hcontradiction_upper : exists bcf_le_gap_b7_contradiction_upper. bcf_le_gap_b7_contradiction_upper + (n * x3) = x6 - 0129
specialize le_trans (n * x3) - 0130
specialize le_trans (n * x4 * x5) - 0131
specialize le_trans x6 - 0132
apply le_trans - 0133
exact hassociated_upper - 0134
exact hmain - 0135
specialize lt_not_le x6 - 0136
specialize lt_not_le (n * x3) - 0137
apply lt_not_le - 0138
exact hlower - 0139
exact hcontradiction_upper