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. ∀ p. ∀ c. Lt(3,n) → Pow(4,n,p) → CentralBinom(n,c) → Lt(p,n · c)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
13 occurrences
Exact expanded native-PA statement
forall n p c. (exists bcf_le_gap_bfplcb_bound. bcf_le_gap_bfplcb_bound + (4) = n) -> (exists pa_b_bfplcb_power pa_c_bfplcb_power. ((forall pa_i_bfplcb_power_repeat. (exists pa_lt_bfplcb_power_repeat_bound. pa_lt_bfplcb_power_repeat_bound + S pa_i_bfplcb_power_repeat = n) -> (((exists pa_h_bfplcb_power_repeat_decoded. pa_h_bfplcb_power_repeat_decoded + S (4) = S ((S (pa_i_bfplcb_power_repeat)) * pa_c_bfplcb_power)) /\ exists pa_q_bfplcb_power_repeat_decoded. pa_b_bfplcb_power = pa_q_bfplcb_power_repeat_decoded * S ((S (pa_i_bfplcb_power_repeat)) * pa_c_bfplcb_power) + (4)))) /\ (exists pa_u_bfplcb_power_product pa_v_bfplcb_power_product. ((((exists pa_h_bfplcb_power_product_start. pa_h_bfplcb_power_product_start + S (1) = S ((S (0)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_start. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_start * S ((S (0)) * pa_v_bfplcb_power_product) + (1))) /\ ((((exists pa_h_bfplcb_power_product_terminal. pa_h_bfplcb_power_product_terminal + S (p) = S ((S (n)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_terminal. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_terminal * S ((S (n)) * pa_v_bfplcb_power_product) + (p))) /\ forall pa_i_bfplcb_power_product. (exists pa_lt_bfplcb_power_product_bound. pa_lt_bfplcb_power_product_bound + S pa_i_bfplcb_power_product = n) -> exists pa_p_bfplcb_power_product pa_r_bfplcb_power_product pa_s_bfplcb_power_product. ((((exists pa_h_bfplcb_power_product_factor. pa_h_bfplcb_power_product_factor + S (pa_p_bfplcb_power_product) = S ((S (pa_i_bfplcb_power_product)) * pa_c_bfplcb_power)) /\ exists pa_q_bfplcb_power_product_factor. pa_b_bfplcb_power = pa_q_bfplcb_power_product_factor * S ((S (pa_i_bfplcb_power_product)) * pa_c_bfplcb_power) + (pa_p_bfplcb_power_product))) /\ ((((exists pa_h_bfplcb_power_product_partial. pa_h_bfplcb_power_product_partial + S (pa_r_bfplcb_power_product) = S ((S (pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_partial. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_partial * S ((S (pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product) + (pa_r_bfplcb_power_product))) /\ ((((exists pa_h_bfplcb_power_product_successor. pa_h_bfplcb_power_product_successor + S (pa_s_bfplcb_power_product) = S ((S (S pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product)) /\ exists pa_q_bfplcb_power_product_successor. pa_u_bfplcb_power_product = pa_q_bfplcb_power_product_successor * S ((S (S pa_i_bfplcb_power_product)) * pa_v_bfplcb_power_product) + (pa_s_bfplcb_power_product))) /\ pa_s_bfplcb_power_product = pa_r_bfplcb_power_product * pa_p_bfplcb_power_product)))))))) -> (((exists bcf_lt_gap_bfplcb_central_out_of_range. bcf_lt_gap_bfplcb_central_out_of_range + S (n + n) = n) /\ c = 0) \/ ((exists bcf_le_gap_bfplcb_central_in_range. bcf_le_gap_bfplcb_central_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bfplcb_central bcf_row_code_scale_bfplcb_central bcf_row_scale_code_bfplcb_central bcf_row_scale_scale_bfplcb_central bcf_row_code_bfplcb_central bcf_row_scale_bfplcb_central. ((forall bcf_row_index_bfplcb_central_table. (exists bcf_lt_gap_bfplcb_central_table_row_bound. bcf_lt_gap_bfplcb_central_table_row_bound + S (bcf_row_index_bfplcb_central_table) = S (n + n)) -> exists bcf_row_code_bfplcb_central_table bcf_row_scale_bfplcb_central_table. ((((exists bcf_height_bfplcb_central_table_decoded_row_code. bcf_height_bfplcb_central_table_decoded_row_code + S (bcf_row_code_bfplcb_central_table) = S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_row_code. bcf_row_code_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_row_code * S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central) + (bcf_row_code_bfplcb_central_table))) /\ ((((exists bcf_height_bfplcb_central_table_decoded_row_scale. bcf_height_bfplcb_central_table_decoded_row_scale + S (bcf_row_scale_bfplcb_central_table) = S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_row_scale. bcf_row_scale_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_row_scale * S ((S (bcf_row_index_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central) + (bcf_row_scale_bfplcb_central_table))) /\ ((bcf_row_index_bfplcb_central_table = 0 /\ (forall bcf_index_bfplcb_central_table_zero_row. (exists bcf_lt_gap_bfplcb_central_table_zero_row_bound. bcf_lt_gap_bfplcb_central_table_zero_row_bound + S (bcf_index_bfplcb_central_table_zero_row) = S (n + n)) -> exists bcf_value_bfplcb_central_table_zero_row. ((((exists bcf_height_bfplcb_central_table_zero_row_entry. bcf_height_bfplcb_central_table_zero_row_entry + S (bcf_value_bfplcb_central_table_zero_row) = S ((S (bcf_index_bfplcb_central_table_zero_row)) * bcf_row_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_zero_row_entry. bcf_row_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_zero_row_entry * S ((S (bcf_index_bfplcb_central_table_zero_row)) * bcf_row_scale_bfplcb_central_table) + (bcf_value_bfplcb_central_table_zero_row))) /\ ((bcf_index_bfplcb_central_table_zero_row = 0 /\ bcf_value_bfplcb_central_table_zero_row = 1) \/ exists bcf_predecessor_bfplcb_central_table_zero_row. bcf_index_bfplcb_central_table_zero_row = S bcf_predecessor_bfplcb_central_table_zero_row /\ bcf_value_bfplcb_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bfplcb_central_table bcf_previous_code_bfplcb_central_table bcf_previous_scale_bfplcb_central_table. bcf_row_index_bfplcb_central_table = S bcf_predecessor_bfplcb_central_table /\ ((((exists bcf_height_bfplcb_central_table_decoded_previous_code. bcf_height_bfplcb_central_table_decoded_previous_code + S (bcf_previous_code_bfplcb_central_table) = S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_previous_code. bcf_row_code_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_previous_code * S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_code_scale_bfplcb_central) + (bcf_previous_code_bfplcb_central_table))) /\ ((((exists bcf_height_bfplcb_central_table_decoded_previous_scale. bcf_height_bfplcb_central_table_decoded_previous_scale + S (bcf_previous_scale_bfplcb_central_table) = S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_table_decoded_previous_scale. bcf_row_scale_code_bfplcb_central = bcf_quotient_bfplcb_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bfplcb_central_table)) * bcf_row_scale_scale_bfplcb_central) + (bcf_previous_scale_bfplcb_central_table))) /\ (forall bcf_index_bfplcb_central_table_row_step. (exists bcf_lt_gap_bfplcb_central_table_row_step_bound. bcf_lt_gap_bfplcb_central_table_row_step_bound + S (bcf_index_bfplcb_central_table_row_step) = S (n + n)) -> exists bcf_value_bfplcb_central_table_row_step. ((((exists bcf_height_bfplcb_central_table_row_step_entry. bcf_height_bfplcb_central_table_row_step_entry + S (bcf_value_bfplcb_central_table_row_step) = S ((S (bcf_index_bfplcb_central_table_row_step)) * bcf_row_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_row_step_entry. bcf_row_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_row_step_entry * S ((S (bcf_index_bfplcb_central_table_row_step)) * bcf_row_scale_bfplcb_central_table) + (bcf_value_bfplcb_central_table_row_step))) /\ ((bcf_index_bfplcb_central_table_row_step = 0 /\ bcf_value_bfplcb_central_table_row_step = 1) \/ exists bcf_predecessor_bfplcb_central_table_row_step bcf_left_bfplcb_central_table_row_step bcf_right_bfplcb_central_table_row_step. bcf_index_bfplcb_central_table_row_step = S bcf_predecessor_bfplcb_central_table_row_step /\ ((((exists bcf_height_bfplcb_central_table_row_step_previous_left. bcf_height_bfplcb_central_table_row_step_previous_left + S (bcf_left_bfplcb_central_table_row_step) = S ((S (bcf_predecessor_bfplcb_central_table_row_step)) * bcf_previous_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_row_step_previous_left. bcf_previous_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_row_step_previous_left * S ((S (bcf_predecessor_bfplcb_central_table_row_step)) * bcf_previous_scale_bfplcb_central_table) + (bcf_left_bfplcb_central_table_row_step))) /\ ((((exists bcf_height_bfplcb_central_table_row_step_previous_right. bcf_height_bfplcb_central_table_row_step_previous_right + S (bcf_right_bfplcb_central_table_row_step) = S ((S (S (bcf_predecessor_bfplcb_central_table_row_step))) * bcf_previous_scale_bfplcb_central_table)) /\ exists bcf_quotient_bfplcb_central_table_row_step_previous_right. bcf_previous_code_bfplcb_central_table = bcf_quotient_bfplcb_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bfplcb_central_table_row_step))) * bcf_previous_scale_bfplcb_central_table) + (bcf_right_bfplcb_central_table_row_step))) /\ bcf_value_bfplcb_central_table_row_step = bcf_left_bfplcb_central_table_row_step + bcf_right_bfplcb_central_table_row_step))))))))))) /\ ((((exists bcf_height_bfplcb_central_decoded_row_code. bcf_height_bfplcb_central_decoded_row_code + S (bcf_row_code_bfplcb_central) = S ((S (n + n)) * bcf_row_code_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_decoded_row_code. bcf_row_code_code_bfplcb_central = bcf_quotient_bfplcb_central_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bfplcb_central) + (bcf_row_code_bfplcb_central))) /\ ((((exists bcf_height_bfplcb_central_decoded_row_scale. bcf_height_bfplcb_central_decoded_row_scale + S (bcf_row_scale_bfplcb_central) = S ((S (n + n)) * bcf_row_scale_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_decoded_row_scale. bcf_row_scale_code_bfplcb_central = bcf_quotient_bfplcb_central_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bfplcb_central) + (bcf_row_scale_bfplcb_central))) /\ (((exists bcf_height_bfplcb_central_decoded_value. bcf_height_bfplcb_central_decoded_value + S (c) = S ((S (n)) * bcf_row_scale_bfplcb_central)) /\ exists bcf_quotient_bfplcb_central_decoded_value. bcf_row_code_bfplcb_central = bcf_quotient_bfplcb_central_decoded_value * S ((S (n)) * bcf_row_scale_bfplcb_central) + (c))))))))) -> (exists bcf_lt_gap_bfplcb_result. bcf_lt_gap_bfplcb_result + S (p) = n * c)Proof neighborhood
Direct theorem prerequisites
BT001I lt_not_le BT0083 pow_successor_decompose BT00TU central_binom_succ_recurrence BT00U0 four_power_central_recurrence_step BT00U3 four_pow_central_seed_packageDirect 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)
01Establish hzero_lt_fourL1–1
Establish this local claim before using it. It is not an additional assumption.
02Construct an explicit witnessL2–2
Supply the displayed value, then prove that it has the required property.
- L2
exists 3
03Calculate and transport equalitiesL3–3
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L3
norm_num
04Establish hone_lt_fourL4–4
Establish this local claim before using it. It is not an additional assumption.
05Construct an explicit witnessL5–5
Supply the displayed value, then prove that it has the required property.
- L5
exists 2
06Calculate and transport equalitiesL6–6
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L6
norm_num
07Establish htwo_lt_fourL7–7
Establish this local claim before using it. It is not an additional assumption.
08Construct an explicit witnessL8–8
Supply the displayed value, then prove that it has the required property.
- L8
exists 1
09Calculate and transport equalitiesL9–9
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L9
norm_num
10Establish hthree_lt_fourL10–10
Establish this local claim before using it. It is not an additional assumption.
11Construct an explicit witnessL11–11
Supply the displayed value, then prove that it has the required property.
- L11
exists 0
12Calculate and transport equalitiesL12–12
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L12
norm_num
13Establish hpackageL13–15
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four pow central seed package.
- L13
have hpackage : (∀ x. ∃ y. CentralBinom(x,y)) ∧ (∀ x. ∀ y. Pow(4,4,x) → CentralBinom(4,y) → Lt(x,4 · y))Definitions: CentralBinom(x,y)Pow(4,4,x)CentralBinom(4,y)Lt(x,4 · y)Original native command in the exact edition - L14
apply four_pow_central_seed_package - L15
exact central_binom_succ_recurrence
14Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases hpackage
15Induction on nL17–22
16Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
exfalso
17Use earlier factsL24–28
18Induction on nL29–34
19Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
exfalso
20Use earlier factsL36–40
21Induction on nL41–46
22Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
exfalso
23Use earlier factsL48–52
24Induction on nL53–58
25Separate the logical casesL59–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L59
exfalso
26Use earlier factsL60–64
27Induction on nL65–74
28Fix variables and assumptionsL75–78
29Establish hpower_stepL79–82
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L79
have hpower_step : ∃ r. Pow(4,S S S S n,r) ∧ p = r · 4Definitions: Pow(4,S S S S n,r)Original native command in the exact edition - L80
apply pow_successor_decompose - L81
refl - L82
exact hpower
30Separate the logical casesL83–84
31Establish hpredecessor_existsL85–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hpackage left.
- L85
have hpredecessor_exists : ∃ a. CentralBinom(S S S S n,a)Definitions: CentralBinom(S S S S n,a)Original native command in the exact edition - L86
apply hpackage_left
32Separate the logical casesL87–87
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L87
cases hpredecessor_exists
33Establish hpredecessor_boundL88–88
Establish this local claim before using it. It is not an additional assumption.
- L88
have hpredecessor_bound : Lt(3,S S S S n)Definitions: Lt(3,S S S S n)Original native command in the exact edition
34Construct an explicit witnessL89–89
Supply the displayed value, then prove that it has the required property.
- L89
exists n
35Calculate and transport equalitiesL90–90
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L90
simp
36Establish hstrictL91–95
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH4.
- L91
have hstrict : Lt(x,S S S S n · x1)Definitions: Lt(x,S S S S n · x1)Original native command in the exact edition - L92
apply IH4 - L93
exact hpredecessor_bound - L94
exact hpower_step_witness_left - L95
exact hpredecessor_exists_witness
37Establish hrecurrenceL96–99
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply central binom succ recurrence.
38Establish hstepL100–105
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four power central recurrence step.
- L100
have hstep : Lt(x · 4,S S S S S n · c)Definitions: Lt(x · 4,S S S S S n · c)Original native command in the exact edition - L101
apply four_power_central_recurrence_step - L102
exact hstrict - L103
exact hrecurrence - L104
rewrite hpower_step_witness_right - L105
exact hstep
Original defined command ledger · 105 lines
- 0001
have hzero_lt_four : Lt(0,4)Exact native replay line
have hzero_lt_four : exists bcf_lt_gap_bfplcb_zero_lt_four. bcf_lt_gap_bfplcb_zero_lt_four + S (0) = 4 - 0002
exists 3 - 0003
norm_num - 0004
have hone_lt_four : Lt(1,4)Exact native replay line
have hone_lt_four : exists bcf_lt_gap_bfplcb_one_lt_four. bcf_lt_gap_bfplcb_one_lt_four + S (1) = 4 - 0005
exists 2 - 0006
norm_num - 0007
have htwo_lt_four : Lt(2,4)Exact native replay line
have htwo_lt_four : exists bcf_lt_gap_bfplcb_two_lt_four. bcf_lt_gap_bfplcb_two_lt_four + S (2) = 4 - 0008
exists 1 - 0009
norm_num - 0010
have hthree_lt_four : Lt(3,4)Exact native replay line
have hthree_lt_four : exists bcf_lt_gap_bfplcb_three_lt_four. bcf_lt_gap_bfplcb_three_lt_four + S (3) = 4 - 0011
exists 0 - 0012
norm_num - 0013
have hpackage : (∀ x. ∃ y. CentralBinom(x,y)) ∧ (∀ x. ∀ y. Pow(4,4,x) → CentralBinom(4,y) → Lt(x,4 · y))Exact native replay line
have hpackage : (forall n. exists z. (((exists bcf_lt_gap_bcb4we_exists_out_of_range. bcf_lt_gap_bcb4we_exists_out_of_range + S (n + n) = n) /\ z = 0) \/ ((exists bcf_le_gap_bcb4we_exists_in_range. bcf_le_gap_bcb4we_exists_in_range + (n) = n + n) /\ (exists bcf_row_code_code_bcb4we_exists bcf_row_code_scale_bcb4we_exists bcf_row_scale_code_bcb4we_exists bcf_row_scale_scale_bcb4we_exists bcf_row_code_bcb4we_exists bcf_row_scale_bcb4we_exists. ((forall bcf_row_index_bcb4we_exists_table. (exists bcf_lt_gap_bcb4we_exists_table_row_bound. bcf_lt_gap_bcb4we_exists_table_row_bound + S (bcf_row_index_bcb4we_exists_table) = S (n + n)) -> exists bcf_row_code_bcb4we_exists_table bcf_row_scale_bcb4we_exists_table. ((((exists bcf_height_bcb4we_exists_table_decoded_row_code. bcf_height_bcb4we_exists_table_decoded_row_code + S (bcf_row_code_bcb4we_exists_table) = S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_row_code. bcf_row_code_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_row_code * S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists) + (bcf_row_code_bcb4we_exists_table))) /\ ((((exists bcf_height_bcb4we_exists_table_decoded_row_scale. bcf_height_bcb4we_exists_table_decoded_row_scale + S (bcf_row_scale_bcb4we_exists_table) = S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_row_scale. bcf_row_scale_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_row_scale * S ((S (bcf_row_index_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists) + (bcf_row_scale_bcb4we_exists_table))) /\ ((bcf_row_index_bcb4we_exists_table = 0 /\ (forall bcf_index_bcb4we_exists_table_zero_row. (exists bcf_lt_gap_bcb4we_exists_table_zero_row_bound. bcf_lt_gap_bcb4we_exists_table_zero_row_bound + S (bcf_index_bcb4we_exists_table_zero_row) = S (n + n)) -> exists bcf_value_bcb4we_exists_table_zero_row. ((((exists bcf_height_bcb4we_exists_table_zero_row_entry. bcf_height_bcb4we_exists_table_zero_row_entry + S (bcf_value_bcb4we_exists_table_zero_row) = S ((S (bcf_index_bcb4we_exists_table_zero_row)) * bcf_row_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_zero_row_entry. bcf_row_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_zero_row_entry * S ((S (bcf_index_bcb4we_exists_table_zero_row)) * bcf_row_scale_bcb4we_exists_table) + (bcf_value_bcb4we_exists_table_zero_row))) /\ ((bcf_index_bcb4we_exists_table_zero_row = 0 /\ bcf_value_bcb4we_exists_table_zero_row = 1) \/ exists bcf_predecessor_bcb4we_exists_table_zero_row. bcf_index_bcb4we_exists_table_zero_row = S bcf_predecessor_bcb4we_exists_table_zero_row /\ bcf_value_bcb4we_exists_table_zero_row = 0)))) \/ exists bcf_predecessor_bcb4we_exists_table bcf_previous_code_bcb4we_exists_table bcf_previous_scale_bcb4we_exists_table. bcf_row_index_bcb4we_exists_table = S bcf_predecessor_bcb4we_exists_table /\ ((((exists bcf_height_bcb4we_exists_table_decoded_previous_code. bcf_height_bcb4we_exists_table_decoded_previous_code + S (bcf_previous_code_bcb4we_exists_table) = S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_previous_code. bcf_row_code_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_previous_code * S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_code_scale_bcb4we_exists) + (bcf_previous_code_bcb4we_exists_table))) /\ ((((exists bcf_height_bcb4we_exists_table_decoded_previous_scale. bcf_height_bcb4we_exists_table_decoded_previous_scale + S (bcf_previous_scale_bcb4we_exists_table) = S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_table_decoded_previous_scale. bcf_row_scale_code_bcb4we_exists = bcf_quotient_bcb4we_exists_table_decoded_previous_scale * S ((S (bcf_predecessor_bcb4we_exists_table)) * bcf_row_scale_scale_bcb4we_exists) + (bcf_previous_scale_bcb4we_exists_table))) /\ (forall bcf_index_bcb4we_exists_table_row_step. (exists bcf_lt_gap_bcb4we_exists_table_row_step_bound. bcf_lt_gap_bcb4we_exists_table_row_step_bound + S (bcf_index_bcb4we_exists_table_row_step) = S (n + n)) -> exists bcf_value_bcb4we_exists_table_row_step. ((((exists bcf_height_bcb4we_exists_table_row_step_entry. bcf_height_bcb4we_exists_table_row_step_entry + S (bcf_value_bcb4we_exists_table_row_step) = S ((S (bcf_index_bcb4we_exists_table_row_step)) * bcf_row_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_row_step_entry. bcf_row_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_row_step_entry * S ((S (bcf_index_bcb4we_exists_table_row_step)) * bcf_row_scale_bcb4we_exists_table) + (bcf_value_bcb4we_exists_table_row_step))) /\ ((bcf_index_bcb4we_exists_table_row_step = 0 /\ bcf_value_bcb4we_exists_table_row_step = 1) \/ exists bcf_predecessor_bcb4we_exists_table_row_step bcf_left_bcb4we_exists_table_row_step bcf_right_bcb4we_exists_table_row_step. bcf_index_bcb4we_exists_table_row_step = S bcf_predecessor_bcb4we_exists_table_row_step /\ ((((exists bcf_height_bcb4we_exists_table_row_step_previous_left. bcf_height_bcb4we_exists_table_row_step_previous_left + S (bcf_left_bcb4we_exists_table_row_step) = S ((S (bcf_predecessor_bcb4we_exists_table_row_step)) * bcf_previous_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_row_step_previous_left. bcf_previous_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_row_step_previous_left * S ((S (bcf_predecessor_bcb4we_exists_table_row_step)) * bcf_previous_scale_bcb4we_exists_table) + (bcf_left_bcb4we_exists_table_row_step))) /\ ((((exists bcf_height_bcb4we_exists_table_row_step_previous_right. bcf_height_bcb4we_exists_table_row_step_previous_right + S (bcf_right_bcb4we_exists_table_row_step) = S ((S (S (bcf_predecessor_bcb4we_exists_table_row_step))) * bcf_previous_scale_bcb4we_exists_table)) /\ exists bcf_quotient_bcb4we_exists_table_row_step_previous_right. bcf_previous_code_bcb4we_exists_table = bcf_quotient_bcb4we_exists_table_row_step_previous_right * S ((S (S (bcf_predecessor_bcb4we_exists_table_row_step))) * bcf_previous_scale_bcb4we_exists_table) + (bcf_right_bcb4we_exists_table_row_step))) /\ bcf_value_bcb4we_exists_table_row_step = bcf_left_bcb4we_exists_table_row_step + bcf_right_bcb4we_exists_table_row_step))))))))))) /\ ((((exists bcf_height_bcb4we_exists_decoded_row_code. bcf_height_bcb4we_exists_decoded_row_code + S (bcf_row_code_bcb4we_exists) = S ((S (n + n)) * bcf_row_code_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_decoded_row_code. bcf_row_code_code_bcb4we_exists = bcf_quotient_bcb4we_exists_decoded_row_code * S ((S (n + n)) * bcf_row_code_scale_bcb4we_exists) + (bcf_row_code_bcb4we_exists))) /\ ((((exists bcf_height_bcb4we_exists_decoded_row_scale. bcf_height_bcb4we_exists_decoded_row_scale + S (bcf_row_scale_bcb4we_exists) = S ((S (n + n)) * bcf_row_scale_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_decoded_row_scale. bcf_row_scale_code_bcb4we_exists = bcf_quotient_bcb4we_exists_decoded_row_scale * S ((S (n + n)) * bcf_row_scale_scale_bcb4we_exists) + (bcf_row_scale_bcb4we_exists))) /\ (((exists bcf_height_bcb4we_exists_decoded_value. bcf_height_bcb4we_exists_decoded_value + S (z) = S ((S (n)) * bcf_row_scale_bcb4we_exists)) /\ exists bcf_quotient_bcb4we_exists_decoded_value. bcf_row_code_bcb4we_exists = bcf_quotient_bcb4we_exists_decoded_value * S ((S (n)) * bcf_row_scale_bcb4we_exists) + (z)))))))))) /\ (forall p c. (exists pa_b_bfplcb4_power pa_c_bfplcb4_power. ((forall pa_i_bfplcb4_power_repeat. (exists pa_lt_bfplcb4_power_repeat_bound. pa_lt_bfplcb4_power_repeat_bound + S pa_i_bfplcb4_power_repeat = 4) -> (((exists pa_h_bfplcb4_power_repeat_decoded. pa_h_bfplcb4_power_repeat_decoded + S (4) = S ((S (pa_i_bfplcb4_power_repeat)) * pa_c_bfplcb4_power)) /\ exists pa_q_bfplcb4_power_repeat_decoded. pa_b_bfplcb4_power = pa_q_bfplcb4_power_repeat_decoded * S ((S (pa_i_bfplcb4_power_repeat)) * pa_c_bfplcb4_power) + (4)))) /\ (exists pa_u_bfplcb4_power_product pa_v_bfplcb4_power_product. ((((exists pa_h_bfplcb4_power_product_start. pa_h_bfplcb4_power_product_start + S (1) = S ((S (0)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_start. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_start * S ((S (0)) * pa_v_bfplcb4_power_product) + (1))) /\ ((((exists pa_h_bfplcb4_power_product_terminal. pa_h_bfplcb4_power_product_terminal + S (p) = S ((S (4)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_terminal. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_terminal * S ((S (4)) * pa_v_bfplcb4_power_product) + (p))) /\ forall pa_i_bfplcb4_power_product. (exists pa_lt_bfplcb4_power_product_bound. pa_lt_bfplcb4_power_product_bound + S pa_i_bfplcb4_power_product = 4) -> exists pa_p_bfplcb4_power_product pa_r_bfplcb4_power_product pa_s_bfplcb4_power_product. ((((exists pa_h_bfplcb4_power_product_factor. pa_h_bfplcb4_power_product_factor + S (pa_p_bfplcb4_power_product) = S ((S (pa_i_bfplcb4_power_product)) * pa_c_bfplcb4_power)) /\ exists pa_q_bfplcb4_power_product_factor. pa_b_bfplcb4_power = pa_q_bfplcb4_power_product_factor * S ((S (pa_i_bfplcb4_power_product)) * pa_c_bfplcb4_power) + (pa_p_bfplcb4_power_product))) /\ ((((exists pa_h_bfplcb4_power_product_partial. pa_h_bfplcb4_power_product_partial + S (pa_r_bfplcb4_power_product) = S ((S (pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_partial. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_partial * S ((S (pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product) + (pa_r_bfplcb4_power_product))) /\ ((((exists pa_h_bfplcb4_power_product_successor. pa_h_bfplcb4_power_product_successor + S (pa_s_bfplcb4_power_product) = S ((S (S pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product)) /\ exists pa_q_bfplcb4_power_product_successor. pa_u_bfplcb4_power_product = pa_q_bfplcb4_power_product_successor * S ((S (S pa_i_bfplcb4_power_product)) * pa_v_bfplcb4_power_product) + (pa_s_bfplcb4_power_product))) /\ pa_s_bfplcb4_power_product = pa_r_bfplcb4_power_product * pa_p_bfplcb4_power_product)))))))) -> (((exists bcf_lt_gap_bfplcb4_central_out_of_range. bcf_lt_gap_bfplcb4_central_out_of_range + S (4 + 4) = 4) /\ c = 0) \/ ((exists bcf_le_gap_bfplcb4_central_in_range. bcf_le_gap_bfplcb4_central_in_range + (4) = 4 + 4) /\ (exists bcf_row_code_code_bfplcb4_central bcf_row_code_scale_bfplcb4_central bcf_row_scale_code_bfplcb4_central bcf_row_scale_scale_bfplcb4_central bcf_row_code_bfplcb4_central bcf_row_scale_bfplcb4_central. ((forall bcf_row_index_bfplcb4_central_table. (exists bcf_lt_gap_bfplcb4_central_table_row_bound. bcf_lt_gap_bfplcb4_central_table_row_bound + S (bcf_row_index_bfplcb4_central_table) = S (4 + 4)) -> exists bcf_row_code_bfplcb4_central_table bcf_row_scale_bfplcb4_central_table. ((((exists bcf_height_bfplcb4_central_table_decoded_row_code. bcf_height_bfplcb4_central_table_decoded_row_code + S (bcf_row_code_bfplcb4_central_table) = S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_row_code. bcf_row_code_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_row_code * S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central) + (bcf_row_code_bfplcb4_central_table))) /\ ((((exists bcf_height_bfplcb4_central_table_decoded_row_scale. bcf_height_bfplcb4_central_table_decoded_row_scale + S (bcf_row_scale_bfplcb4_central_table) = S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_row_scale. bcf_row_scale_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_row_scale * S ((S (bcf_row_index_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central) + (bcf_row_scale_bfplcb4_central_table))) /\ ((bcf_row_index_bfplcb4_central_table = 0 /\ (forall bcf_index_bfplcb4_central_table_zero_row. (exists bcf_lt_gap_bfplcb4_central_table_zero_row_bound. bcf_lt_gap_bfplcb4_central_table_zero_row_bound + S (bcf_index_bfplcb4_central_table_zero_row) = S (4 + 4)) -> exists bcf_value_bfplcb4_central_table_zero_row. ((((exists bcf_height_bfplcb4_central_table_zero_row_entry. bcf_height_bfplcb4_central_table_zero_row_entry + S (bcf_value_bfplcb4_central_table_zero_row) = S ((S (bcf_index_bfplcb4_central_table_zero_row)) * bcf_row_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_zero_row_entry. bcf_row_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_zero_row_entry * S ((S (bcf_index_bfplcb4_central_table_zero_row)) * bcf_row_scale_bfplcb4_central_table) + (bcf_value_bfplcb4_central_table_zero_row))) /\ ((bcf_index_bfplcb4_central_table_zero_row = 0 /\ bcf_value_bfplcb4_central_table_zero_row = 1) \/ exists bcf_predecessor_bfplcb4_central_table_zero_row. bcf_index_bfplcb4_central_table_zero_row = S bcf_predecessor_bfplcb4_central_table_zero_row /\ bcf_value_bfplcb4_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bfplcb4_central_table bcf_previous_code_bfplcb4_central_table bcf_previous_scale_bfplcb4_central_table. bcf_row_index_bfplcb4_central_table = S bcf_predecessor_bfplcb4_central_table /\ ((((exists bcf_height_bfplcb4_central_table_decoded_previous_code. bcf_height_bfplcb4_central_table_decoded_previous_code + S (bcf_previous_code_bfplcb4_central_table) = S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_previous_code. bcf_row_code_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_previous_code * S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_code_scale_bfplcb4_central) + (bcf_previous_code_bfplcb4_central_table))) /\ ((((exists bcf_height_bfplcb4_central_table_decoded_previous_scale. bcf_height_bfplcb4_central_table_decoded_previous_scale + S (bcf_previous_scale_bfplcb4_central_table) = S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_table_decoded_previous_scale. bcf_row_scale_code_bfplcb4_central = bcf_quotient_bfplcb4_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bfplcb4_central_table)) * bcf_row_scale_scale_bfplcb4_central) + (bcf_previous_scale_bfplcb4_central_table))) /\ (forall bcf_index_bfplcb4_central_table_row_step. (exists bcf_lt_gap_bfplcb4_central_table_row_step_bound. bcf_lt_gap_bfplcb4_central_table_row_step_bound + S (bcf_index_bfplcb4_central_table_row_step) = S (4 + 4)) -> exists bcf_value_bfplcb4_central_table_row_step. ((((exists bcf_height_bfplcb4_central_table_row_step_entry. bcf_height_bfplcb4_central_table_row_step_entry + S (bcf_value_bfplcb4_central_table_row_step) = S ((S (bcf_index_bfplcb4_central_table_row_step)) * bcf_row_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_row_step_entry. bcf_row_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_row_step_entry * S ((S (bcf_index_bfplcb4_central_table_row_step)) * bcf_row_scale_bfplcb4_central_table) + (bcf_value_bfplcb4_central_table_row_step))) /\ ((bcf_index_bfplcb4_central_table_row_step = 0 /\ bcf_value_bfplcb4_central_table_row_step = 1) \/ exists bcf_predecessor_bfplcb4_central_table_row_step bcf_left_bfplcb4_central_table_row_step bcf_right_bfplcb4_central_table_row_step. bcf_index_bfplcb4_central_table_row_step = S bcf_predecessor_bfplcb4_central_table_row_step /\ ((((exists bcf_height_bfplcb4_central_table_row_step_previous_left. bcf_height_bfplcb4_central_table_row_step_previous_left + S (bcf_left_bfplcb4_central_table_row_step) = S ((S (bcf_predecessor_bfplcb4_central_table_row_step)) * bcf_previous_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_row_step_previous_left. bcf_previous_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_row_step_previous_left * S ((S (bcf_predecessor_bfplcb4_central_table_row_step)) * bcf_previous_scale_bfplcb4_central_table) + (bcf_left_bfplcb4_central_table_row_step))) /\ ((((exists bcf_height_bfplcb4_central_table_row_step_previous_right. bcf_height_bfplcb4_central_table_row_step_previous_right + S (bcf_right_bfplcb4_central_table_row_step) = S ((S (S (bcf_predecessor_bfplcb4_central_table_row_step))) * bcf_previous_scale_bfplcb4_central_table)) /\ exists bcf_quotient_bfplcb4_central_table_row_step_previous_right. bcf_previous_code_bfplcb4_central_table = bcf_quotient_bfplcb4_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bfplcb4_central_table_row_step))) * bcf_previous_scale_bfplcb4_central_table) + (bcf_right_bfplcb4_central_table_row_step))) /\ bcf_value_bfplcb4_central_table_row_step = bcf_left_bfplcb4_central_table_row_step + bcf_right_bfplcb4_central_table_row_step))))))))))) /\ ((((exists bcf_height_bfplcb4_central_decoded_row_code. bcf_height_bfplcb4_central_decoded_row_code + S (bcf_row_code_bfplcb4_central) = S ((S (4 + 4)) * bcf_row_code_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_decoded_row_code. bcf_row_code_code_bfplcb4_central = bcf_quotient_bfplcb4_central_decoded_row_code * S ((S (4 + 4)) * bcf_row_code_scale_bfplcb4_central) + (bcf_row_code_bfplcb4_central))) /\ ((((exists bcf_height_bfplcb4_central_decoded_row_scale. bcf_height_bfplcb4_central_decoded_row_scale + S (bcf_row_scale_bfplcb4_central) = S ((S (4 + 4)) * bcf_row_scale_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_decoded_row_scale. bcf_row_scale_code_bfplcb4_central = bcf_quotient_bfplcb4_central_decoded_row_scale * S ((S (4 + 4)) * bcf_row_scale_scale_bfplcb4_central) + (bcf_row_scale_bfplcb4_central))) /\ (((exists bcf_height_bfplcb4_central_decoded_value. bcf_height_bfplcb4_central_decoded_value + S (c) = S ((S (4)) * bcf_row_scale_bfplcb4_central)) /\ exists bcf_quotient_bfplcb4_central_decoded_value. bcf_row_code_bfplcb4_central = bcf_quotient_bfplcb4_central_decoded_value * S ((S (4)) * bcf_row_scale_bfplcb4_central) + (c))))))))) -> (exists bcf_lt_gap_bfplcb4_result. bcf_lt_gap_bfplcb4_result + S (p) = 4 * c)) - 0014
apply four_pow_central_seed_package - 0015
exact central_binom_succ_recurrence - 0016
cases hpackage - 0017
induction n - 0018
intro p - 0019
intro c - 0020
intro hbound - 0021
intro hpower - 0022
intro hcentral - 0023
exfalso - 0024
specialize lt_not_le 0 - 0025
specialize lt_not_le 4 - 0026
apply lt_not_le - 0027
exact hzero_lt_four - 0028
exact hbound - 0029
induction n - 0030
intro p - 0031
intro c - 0032
intro hbound - 0033
intro hpower - 0034
intro hcentral - 0035
exfalso - 0036
specialize lt_not_le 1 - 0037
specialize lt_not_le 4 - 0038
apply lt_not_le - 0039
exact hone_lt_four - 0040
exact hbound - 0041
induction n - 0042
intro p - 0043
intro c - 0044
intro hbound - 0045
intro hpower - 0046
intro hcentral - 0047
exfalso - 0048
specialize lt_not_le 2 - 0049
specialize lt_not_le 4 - 0050
apply lt_not_le - 0051
exact htwo_lt_four - 0052
exact hbound - 0053
induction n - 0054
intro p - 0055
intro c - 0056
intro hbound - 0057
intro hpower - 0058
intro hcentral - 0059
exfalso - 0060
specialize lt_not_le 3 - 0061
specialize lt_not_le 4 - 0062
apply lt_not_le - 0063
exact hthree_lt_four - 0064
exact hbound - 0065
induction n - 0066
intro p - 0067
intro c - 0068
intro hbound - 0069
intro hpower - 0070
intro hcentral - 0071
apply hpackage_right - 0072
exact hpower - 0073
exact hcentral - 0074
intro p - 0075
intro c - 0076
intro hbound - 0077
intro hpower - 0078
intro hcentral - 0079
have hpower_step : ∃ r. Pow(4,S S S S n,r) ∧ p = r · 4Exact native replay line
have hpower_step : exists r. (exists pa_b_bfplcb_predecessor_power pa_c_bfplcb_predecessor_power. ((forall pa_i_bfplcb_predecessor_power_repeat. (exists pa_lt_bfplcb_predecessor_power_repeat_bound. pa_lt_bfplcb_predecessor_power_repeat_bound + S pa_i_bfplcb_predecessor_power_repeat = S (S (S (S n)))) -> (((exists pa_h_bfplcb_predecessor_power_repeat_decoded. pa_h_bfplcb_predecessor_power_repeat_decoded + S (4) = S ((S (pa_i_bfplcb_predecessor_power_repeat)) * pa_c_bfplcb_predecessor_power)) /\ exists pa_q_bfplcb_predecessor_power_repeat_decoded. pa_b_bfplcb_predecessor_power = pa_q_bfplcb_predecessor_power_repeat_decoded * S ((S (pa_i_bfplcb_predecessor_power_repeat)) * pa_c_bfplcb_predecessor_power) + (4)))) /\ (exists pa_u_bfplcb_predecessor_power_product pa_v_bfplcb_predecessor_power_product. ((((exists pa_h_bfplcb_predecessor_power_product_start. pa_h_bfplcb_predecessor_power_product_start + S (1) = S ((S (0)) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_start. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_start * S ((S (0)) * pa_v_bfplcb_predecessor_power_product) + (1))) /\ ((((exists pa_h_bfplcb_predecessor_power_product_terminal. pa_h_bfplcb_predecessor_power_product_terminal + S (r) = S ((S (S (S (S (S n))))) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_terminal. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_terminal * S ((S (S (S (S (S n))))) * pa_v_bfplcb_predecessor_power_product) + (r))) /\ forall pa_i_bfplcb_predecessor_power_product. (exists pa_lt_bfplcb_predecessor_power_product_bound. pa_lt_bfplcb_predecessor_power_product_bound + S pa_i_bfplcb_predecessor_power_product = S (S (S (S n)))) -> exists pa_p_bfplcb_predecessor_power_product pa_r_bfplcb_predecessor_power_product pa_s_bfplcb_predecessor_power_product. ((((exists pa_h_bfplcb_predecessor_power_product_factor. pa_h_bfplcb_predecessor_power_product_factor + S (pa_p_bfplcb_predecessor_power_product) = S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_c_bfplcb_predecessor_power)) /\ exists pa_q_bfplcb_predecessor_power_product_factor. pa_b_bfplcb_predecessor_power = pa_q_bfplcb_predecessor_power_product_factor * S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_c_bfplcb_predecessor_power) + (pa_p_bfplcb_predecessor_power_product))) /\ ((((exists pa_h_bfplcb_predecessor_power_product_partial. pa_h_bfplcb_predecessor_power_product_partial + S (pa_r_bfplcb_predecessor_power_product) = S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_partial. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_partial * S ((S (pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product) + (pa_r_bfplcb_predecessor_power_product))) /\ ((((exists pa_h_bfplcb_predecessor_power_product_successor. pa_h_bfplcb_predecessor_power_product_successor + S (pa_s_bfplcb_predecessor_power_product) = S ((S (S pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product)) /\ exists pa_q_bfplcb_predecessor_power_product_successor. pa_u_bfplcb_predecessor_power_product = pa_q_bfplcb_predecessor_power_product_successor * S ((S (S pa_i_bfplcb_predecessor_power_product)) * pa_v_bfplcb_predecessor_power_product) + (pa_s_bfplcb_predecessor_power_product))) /\ pa_s_bfplcb_predecessor_power_product = pa_r_bfplcb_predecessor_power_product * pa_p_bfplcb_predecessor_power_product)))))))) /\ p = r * 4 - 0080
apply pow_successor_decompose - 0081
refl - 0082
exact hpower - 0083
cases hpower_step - 0084
cases hpower_step_witness - 0085
have hpredecessor_exists : ∃ a. CentralBinom(S S S S n,a)Exact native replay line
have hpredecessor_exists : exists a. (((exists bcf_lt_gap_bfplcb_predecessor_central_out_of_range. bcf_lt_gap_bfplcb_predecessor_central_out_of_range + S (S S S S n + S S S S n) = S S S S n) /\ a = 0) \/ ((exists bcf_le_gap_bfplcb_predecessor_central_in_range. bcf_le_gap_bfplcb_predecessor_central_in_range + (S S S S n) = S S S S n + S S S S n) /\ (exists bcf_row_code_code_bfplcb_predecessor_central bcf_row_code_scale_bfplcb_predecessor_central bcf_row_scale_code_bfplcb_predecessor_central bcf_row_scale_scale_bfplcb_predecessor_central bcf_row_code_bfplcb_predecessor_central bcf_row_scale_bfplcb_predecessor_central. ((forall bcf_row_index_bfplcb_predecessor_central_table. (exists bcf_lt_gap_bfplcb_predecessor_central_table_row_bound. bcf_lt_gap_bfplcb_predecessor_central_table_row_bound + S (bcf_row_index_bfplcb_predecessor_central_table) = S (S S S S n + S S S S n)) -> exists bcf_row_code_bfplcb_predecessor_central_table bcf_row_scale_bfplcb_predecessor_central_table. ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_row_code. bcf_height_bfplcb_predecessor_central_table_decoded_row_code + S (bcf_row_code_bfplcb_predecessor_central_table) = S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_row_code. bcf_row_code_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_row_code * S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central) + (bcf_row_code_bfplcb_predecessor_central_table))) /\ ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_row_scale. bcf_height_bfplcb_predecessor_central_table_decoded_row_scale + S (bcf_row_scale_bfplcb_predecessor_central_table) = S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_row_scale. bcf_row_scale_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_row_scale * S ((S (bcf_row_index_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central) + (bcf_row_scale_bfplcb_predecessor_central_table))) /\ ((bcf_row_index_bfplcb_predecessor_central_table = 0 /\ (forall bcf_index_bfplcb_predecessor_central_table_zero_row. (exists bcf_lt_gap_bfplcb_predecessor_central_table_zero_row_bound. bcf_lt_gap_bfplcb_predecessor_central_table_zero_row_bound + S (bcf_index_bfplcb_predecessor_central_table_zero_row) = S (S S S S n + S S S S n)) -> exists bcf_value_bfplcb_predecessor_central_table_zero_row. ((((exists bcf_height_bfplcb_predecessor_central_table_zero_row_entry. bcf_height_bfplcb_predecessor_central_table_zero_row_entry + S (bcf_value_bfplcb_predecessor_central_table_zero_row) = S ((S (bcf_index_bfplcb_predecessor_central_table_zero_row)) * bcf_row_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_zero_row_entry. bcf_row_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_zero_row_entry * S ((S (bcf_index_bfplcb_predecessor_central_table_zero_row)) * bcf_row_scale_bfplcb_predecessor_central_table) + (bcf_value_bfplcb_predecessor_central_table_zero_row))) /\ ((bcf_index_bfplcb_predecessor_central_table_zero_row = 0 /\ bcf_value_bfplcb_predecessor_central_table_zero_row = 1) \/ exists bcf_predecessor_bfplcb_predecessor_central_table_zero_row. bcf_index_bfplcb_predecessor_central_table_zero_row = S bcf_predecessor_bfplcb_predecessor_central_table_zero_row /\ bcf_value_bfplcb_predecessor_central_table_zero_row = 0)))) \/ exists bcf_predecessor_bfplcb_predecessor_central_table bcf_previous_code_bfplcb_predecessor_central_table bcf_previous_scale_bfplcb_predecessor_central_table. bcf_row_index_bfplcb_predecessor_central_table = S bcf_predecessor_bfplcb_predecessor_central_table /\ ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_previous_code. bcf_height_bfplcb_predecessor_central_table_decoded_previous_code + S (bcf_previous_code_bfplcb_predecessor_central_table) = S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_code. bcf_row_code_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_code * S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_code_scale_bfplcb_predecessor_central) + (bcf_previous_code_bfplcb_predecessor_central_table))) /\ ((((exists bcf_height_bfplcb_predecessor_central_table_decoded_previous_scale. bcf_height_bfplcb_predecessor_central_table_decoded_previous_scale + S (bcf_previous_scale_bfplcb_predecessor_central_table) = S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_scale. bcf_row_scale_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_table_decoded_previous_scale * S ((S (bcf_predecessor_bfplcb_predecessor_central_table)) * bcf_row_scale_scale_bfplcb_predecessor_central) + (bcf_previous_scale_bfplcb_predecessor_central_table))) /\ (forall bcf_index_bfplcb_predecessor_central_table_row_step. (exists bcf_lt_gap_bfplcb_predecessor_central_table_row_step_bound. bcf_lt_gap_bfplcb_predecessor_central_table_row_step_bound + S (bcf_index_bfplcb_predecessor_central_table_row_step) = S (S S S S n + S S S S n)) -> exists bcf_value_bfplcb_predecessor_central_table_row_step. ((((exists bcf_height_bfplcb_predecessor_central_table_row_step_entry. bcf_height_bfplcb_predecessor_central_table_row_step_entry + S (bcf_value_bfplcb_predecessor_central_table_row_step) = S ((S (bcf_index_bfplcb_predecessor_central_table_row_step)) * bcf_row_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_row_step_entry. bcf_row_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_row_step_entry * S ((S (bcf_index_bfplcb_predecessor_central_table_row_step)) * bcf_row_scale_bfplcb_predecessor_central_table) + (bcf_value_bfplcb_predecessor_central_table_row_step))) /\ ((bcf_index_bfplcb_predecessor_central_table_row_step = 0 /\ bcf_value_bfplcb_predecessor_central_table_row_step = 1) \/ exists bcf_predecessor_bfplcb_predecessor_central_table_row_step bcf_left_bfplcb_predecessor_central_table_row_step bcf_right_bfplcb_predecessor_central_table_row_step. bcf_index_bfplcb_predecessor_central_table_row_step = S bcf_predecessor_bfplcb_predecessor_central_table_row_step /\ ((((exists bcf_height_bfplcb_predecessor_central_table_row_step_previous_left. bcf_height_bfplcb_predecessor_central_table_row_step_previous_left + S (bcf_left_bfplcb_predecessor_central_table_row_step) = S ((S (bcf_predecessor_bfplcb_predecessor_central_table_row_step)) * bcf_previous_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_left. bcf_previous_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_left * S ((S (bcf_predecessor_bfplcb_predecessor_central_table_row_step)) * bcf_previous_scale_bfplcb_predecessor_central_table) + (bcf_left_bfplcb_predecessor_central_table_row_step))) /\ ((((exists bcf_height_bfplcb_predecessor_central_table_row_step_previous_right. bcf_height_bfplcb_predecessor_central_table_row_step_previous_right + S (bcf_right_bfplcb_predecessor_central_table_row_step) = S ((S (S (bcf_predecessor_bfplcb_predecessor_central_table_row_step))) * bcf_previous_scale_bfplcb_predecessor_central_table)) /\ exists bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_right. bcf_previous_code_bfplcb_predecessor_central_table = bcf_quotient_bfplcb_predecessor_central_table_row_step_previous_right * S ((S (S (bcf_predecessor_bfplcb_predecessor_central_table_row_step))) * bcf_previous_scale_bfplcb_predecessor_central_table) + (bcf_right_bfplcb_predecessor_central_table_row_step))) /\ bcf_value_bfplcb_predecessor_central_table_row_step = bcf_left_bfplcb_predecessor_central_table_row_step + bcf_right_bfplcb_predecessor_central_table_row_step))))))))))) /\ ((((exists bcf_height_bfplcb_predecessor_central_decoded_row_code. bcf_height_bfplcb_predecessor_central_decoded_row_code + S (bcf_row_code_bfplcb_predecessor_central) = S ((S (S S S S n + S S S S n)) * bcf_row_code_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_decoded_row_code. bcf_row_code_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_decoded_row_code * S ((S (S S S S n + S S S S n)) * bcf_row_code_scale_bfplcb_predecessor_central) + (bcf_row_code_bfplcb_predecessor_central))) /\ ((((exists bcf_height_bfplcb_predecessor_central_decoded_row_scale. bcf_height_bfplcb_predecessor_central_decoded_row_scale + S (bcf_row_scale_bfplcb_predecessor_central) = S ((S (S S S S n + S S S S n)) * bcf_row_scale_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_decoded_row_scale. bcf_row_scale_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_decoded_row_scale * S ((S (S S S S n + S S S S n)) * bcf_row_scale_scale_bfplcb_predecessor_central) + (bcf_row_scale_bfplcb_predecessor_central))) /\ (((exists bcf_height_bfplcb_predecessor_central_decoded_value. bcf_height_bfplcb_predecessor_central_decoded_value + S (a) = S ((S (S S S S n)) * bcf_row_scale_bfplcb_predecessor_central)) /\ exists bcf_quotient_bfplcb_predecessor_central_decoded_value. bcf_row_code_bfplcb_predecessor_central = bcf_quotient_bfplcb_predecessor_central_decoded_value * S ((S (S S S S n)) * bcf_row_scale_bfplcb_predecessor_central) + (a))))))))) - 0086
apply hpackage_left - 0087
cases hpredecessor_exists - 0088
have hpredecessor_bound : Lt(3,S S S S n)Exact native replay line
have hpredecessor_bound : exists bcf_le_gap_bfplcb_predecessor_bound. bcf_le_gap_bfplcb_predecessor_bound + (4) = S (S (S (S n))) - 0089
exists n - 0090
simp - 0091
have hstrict : Lt(x,S S S S n · x1)Exact native replay line
have hstrict : exists bcf_lt_gap_bfplcb_predecessor_result. bcf_lt_gap_bfplcb_predecessor_result + S (x) = S (S (S (S n))) * x1 - 0092
apply IH4 - 0093
exact hpredecessor_bound - 0094
exact hpower_step_witness_left - 0095
exact hpredecessor_exists_witness - 0096
have hrecurrence : S (S (S (S (S n)))) * c = (2 * S (S (S (S (S n))) + S (S (S (S n))))) * x1 - 0097
apply central_binom_succ_recurrence - 0098
exact hpredecessor_exists_witness - 0099
exact hcentral - 0100
have hstep : Lt(x · 4,S S S S S n · c)Exact native replay line
have hstep : exists bcf_lt_gap_bfplcb_successor_result. bcf_lt_gap_bfplcb_successor_result + S (x * 4) = S (S (S (S (S n)))) * c - 0101
apply four_power_central_recurrence_step - 0102
exact hstrict - 0103
exact hrecurrence - 0104
rewrite hpower_step_witness_right - 0105
exact hstep