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
∀ k. ∀ x. ∀ y. (∀ z. ∀ n. ∃ m. Pow(z,n,m)) → Pow(2,2 · k + 1,x) → Pow(4,k + 1,y) → Le(x,y)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
8 occurrences
Exact expanded native-PA statement
forall k x y. (forall bpt_a_hj32_two_odd bpt_e_hj32_two_odd. exists bpt_x_hj32_two_odd. (exists ff_b_bpt_value_hj32_two_odd ff_c_bpt_value_hj32_two_odd. ((forall ff_i_bpt_value_hj32_two_odd_repeat. (exists ff_lt_bpt_value_hj32_two_odd_repeat_bound. ff_lt_bpt_value_hj32_two_odd_repeat_bound + S ff_i_bpt_value_hj32_two_odd_repeat = bpt_e_hj32_two_odd) -> (((exists ff_h_bpt_value_hj32_two_odd_repeat_decoded. ff_h_bpt_value_hj32_two_odd_repeat_decoded + S (bpt_a_hj32_two_odd) = S ((S (ff_i_bpt_value_hj32_two_odd_repeat)) * ff_c_bpt_value_hj32_two_odd)) /\ exists ff_q_bpt_value_hj32_two_odd_repeat_decoded. ff_b_bpt_value_hj32_two_odd = ff_q_bpt_value_hj32_two_odd_repeat_decoded * S ((S (ff_i_bpt_value_hj32_two_odd_repeat)) * ff_c_bpt_value_hj32_two_odd) + (bpt_a_hj32_two_odd)))) /\ (exists ff_u_bpt_value_hj32_two_odd_product ff_v_bpt_value_hj32_two_odd_product. ((((exists ff_h_bpt_value_hj32_two_odd_product_start. ff_h_bpt_value_hj32_two_odd_product_start + S (1) = S ((S (0)) * ff_v_bpt_value_hj32_two_odd_product)) /\ exists ff_q_bpt_value_hj32_two_odd_product_start. ff_u_bpt_value_hj32_two_odd_product = ff_q_bpt_value_hj32_two_odd_product_start * S ((S (0)) * ff_v_bpt_value_hj32_two_odd_product) + (1))) /\ ((((exists ff_h_bpt_value_hj32_two_odd_product_terminal. ff_h_bpt_value_hj32_two_odd_product_terminal + S (bpt_x_hj32_two_odd) = S ((S (bpt_e_hj32_two_odd)) * ff_v_bpt_value_hj32_two_odd_product)) /\ exists ff_q_bpt_value_hj32_two_odd_product_terminal. ff_u_bpt_value_hj32_two_odd_product = ff_q_bpt_value_hj32_two_odd_product_terminal * S ((S (bpt_e_hj32_two_odd)) * ff_v_bpt_value_hj32_two_odd_product) + (bpt_x_hj32_two_odd))) /\ forall ff_i_bpt_value_hj32_two_odd_product. (exists ff_lt_bpt_value_hj32_two_odd_product_bound. ff_lt_bpt_value_hj32_two_odd_product_bound + S ff_i_bpt_value_hj32_two_odd_product = bpt_e_hj32_two_odd) -> exists ff_p_bpt_value_hj32_two_odd_product ff_r_bpt_value_hj32_two_odd_product ff_s_bpt_value_hj32_two_odd_product. ((((exists ff_h_bpt_value_hj32_two_odd_product_factor. ff_h_bpt_value_hj32_two_odd_product_factor + S (ff_p_bpt_value_hj32_two_odd_product) = S ((S (ff_i_bpt_value_hj32_two_odd_product)) * ff_c_bpt_value_hj32_two_odd)) /\ exists ff_q_bpt_value_hj32_two_odd_product_factor. ff_b_bpt_value_hj32_two_odd = ff_q_bpt_value_hj32_two_odd_product_factor * S ((S (ff_i_bpt_value_hj32_two_odd_product)) * ff_c_bpt_value_hj32_two_odd) + (ff_p_bpt_value_hj32_two_odd_product))) /\ ((((exists ff_h_bpt_value_hj32_two_odd_product_partial. ff_h_bpt_value_hj32_two_odd_product_partial + S (ff_r_bpt_value_hj32_two_odd_product) = S ((S (ff_i_bpt_value_hj32_two_odd_product)) * ff_v_bpt_value_hj32_two_odd_product)) /\ exists ff_q_bpt_value_hj32_two_odd_product_partial. ff_u_bpt_value_hj32_two_odd_product = ff_q_bpt_value_hj32_two_odd_product_partial * S ((S (ff_i_bpt_value_hj32_two_odd_product)) * ff_v_bpt_value_hj32_two_odd_product) + (ff_r_bpt_value_hj32_two_odd_product))) /\ ((((exists ff_h_bpt_value_hj32_two_odd_product_successor. ff_h_bpt_value_hj32_two_odd_product_successor + S (ff_s_bpt_value_hj32_two_odd_product) = S ((S (S ff_i_bpt_value_hj32_two_odd_product)) * ff_v_bpt_value_hj32_two_odd_product)) /\ exists ff_q_bpt_value_hj32_two_odd_product_successor. ff_u_bpt_value_hj32_two_odd_product = ff_q_bpt_value_hj32_two_odd_product_successor * S ((S (S ff_i_bpt_value_hj32_two_odd_product)) * ff_v_bpt_value_hj32_two_odd_product) + (ff_s_bpt_value_hj32_two_odd_product))) /\ ff_s_bpt_value_hj32_two_odd_product = ff_r_bpt_value_hj32_two_odd_product * ff_p_bpt_value_hj32_two_odd_product))))))))) -> (exists pa_b_hj32_two_odd_left pa_c_hj32_two_odd_left. ((forall pa_i_hj32_two_odd_left_repeat. (exists pa_lt_hj32_two_odd_left_repeat_bound. pa_lt_hj32_two_odd_left_repeat_bound + S pa_i_hj32_two_odd_left_repeat = 2 * k + 1) -> (((exists pa_h_hj32_two_odd_left_repeat_decoded. pa_h_hj32_two_odd_left_repeat_decoded + S (2) = S ((S (pa_i_hj32_two_odd_left_repeat)) * pa_c_hj32_two_odd_left)) /\ exists pa_q_hj32_two_odd_left_repeat_decoded. pa_b_hj32_two_odd_left = pa_q_hj32_two_odd_left_repeat_decoded * S ((S (pa_i_hj32_two_odd_left_repeat)) * pa_c_hj32_two_odd_left) + (2)))) /\ (exists pa_u_hj32_two_odd_left_product pa_v_hj32_two_odd_left_product. ((((exists pa_h_hj32_two_odd_left_product_start. pa_h_hj32_two_odd_left_product_start + S (1) = S ((S (0)) * pa_v_hj32_two_odd_left_product)) /\ exists pa_q_hj32_two_odd_left_product_start. pa_u_hj32_two_odd_left_product = pa_q_hj32_two_odd_left_product_start * S ((S (0)) * pa_v_hj32_two_odd_left_product) + (1))) /\ ((((exists pa_h_hj32_two_odd_left_product_terminal. pa_h_hj32_two_odd_left_product_terminal + S (x) = S ((S (2 * k + 1)) * pa_v_hj32_two_odd_left_product)) /\ exists pa_q_hj32_two_odd_left_product_terminal. pa_u_hj32_two_odd_left_product = pa_q_hj32_two_odd_left_product_terminal * S ((S (2 * k + 1)) * pa_v_hj32_two_odd_left_product) + (x))) /\ forall pa_i_hj32_two_odd_left_product. (exists pa_lt_hj32_two_odd_left_product_bound. pa_lt_hj32_two_odd_left_product_bound + S pa_i_hj32_two_odd_left_product = 2 * k + 1) -> exists pa_p_hj32_two_odd_left_product pa_r_hj32_two_odd_left_product pa_s_hj32_two_odd_left_product. ((((exists pa_h_hj32_two_odd_left_product_factor. pa_h_hj32_two_odd_left_product_factor + S (pa_p_hj32_two_odd_left_product) = S ((S (pa_i_hj32_two_odd_left_product)) * pa_c_hj32_two_odd_left)) /\ exists pa_q_hj32_two_odd_left_product_factor. pa_b_hj32_two_odd_left = pa_q_hj32_two_odd_left_product_factor * S ((S (pa_i_hj32_two_odd_left_product)) * pa_c_hj32_two_odd_left) + (pa_p_hj32_two_odd_left_product))) /\ ((((exists pa_h_hj32_two_odd_left_product_partial. pa_h_hj32_two_odd_left_product_partial + S (pa_r_hj32_two_odd_left_product) = S ((S (pa_i_hj32_two_odd_left_product)) * pa_v_hj32_two_odd_left_product)) /\ exists pa_q_hj32_two_odd_left_product_partial. pa_u_hj32_two_odd_left_product = pa_q_hj32_two_odd_left_product_partial * S ((S (pa_i_hj32_two_odd_left_product)) * pa_v_hj32_two_odd_left_product) + (pa_r_hj32_two_odd_left_product))) /\ ((((exists pa_h_hj32_two_odd_left_product_successor. pa_h_hj32_two_odd_left_product_successor + S (pa_s_hj32_two_odd_left_product) = S ((S (S pa_i_hj32_two_odd_left_product)) * pa_v_hj32_two_odd_left_product)) /\ exists pa_q_hj32_two_odd_left_product_successor. pa_u_hj32_two_odd_left_product = pa_q_hj32_two_odd_left_product_successor * S ((S (S pa_i_hj32_two_odd_left_product)) * pa_v_hj32_two_odd_left_product) + (pa_s_hj32_two_odd_left_product))) /\ pa_s_hj32_two_odd_left_product = pa_r_hj32_two_odd_left_product * pa_p_hj32_two_odd_left_product)))))))) -> (exists pa_b_hj32_two_odd_right pa_c_hj32_two_odd_right. ((forall pa_i_hj32_two_odd_right_repeat. (exists pa_lt_hj32_two_odd_right_repeat_bound. pa_lt_hj32_two_odd_right_repeat_bound + S pa_i_hj32_two_odd_right_repeat = k + 1) -> (((exists pa_h_hj32_two_odd_right_repeat_decoded. pa_h_hj32_two_odd_right_repeat_decoded + S (4) = S ((S (pa_i_hj32_two_odd_right_repeat)) * pa_c_hj32_two_odd_right)) /\ exists pa_q_hj32_two_odd_right_repeat_decoded. pa_b_hj32_two_odd_right = pa_q_hj32_two_odd_right_repeat_decoded * S ((S (pa_i_hj32_two_odd_right_repeat)) * pa_c_hj32_two_odd_right) + (4)))) /\ (exists pa_u_hj32_two_odd_right_product pa_v_hj32_two_odd_right_product. ((((exists pa_h_hj32_two_odd_right_product_start. pa_h_hj32_two_odd_right_product_start + S (1) = S ((S (0)) * pa_v_hj32_two_odd_right_product)) /\ exists pa_q_hj32_two_odd_right_product_start. pa_u_hj32_two_odd_right_product = pa_q_hj32_two_odd_right_product_start * S ((S (0)) * pa_v_hj32_two_odd_right_product) + (1))) /\ ((((exists pa_h_hj32_two_odd_right_product_terminal. pa_h_hj32_two_odd_right_product_terminal + S (y) = S ((S (k + 1)) * pa_v_hj32_two_odd_right_product)) /\ exists pa_q_hj32_two_odd_right_product_terminal. pa_u_hj32_two_odd_right_product = pa_q_hj32_two_odd_right_product_terminal * S ((S (k + 1)) * pa_v_hj32_two_odd_right_product) + (y))) /\ forall pa_i_hj32_two_odd_right_product. (exists pa_lt_hj32_two_odd_right_product_bound. pa_lt_hj32_two_odd_right_product_bound + S pa_i_hj32_two_odd_right_product = k + 1) -> exists pa_p_hj32_two_odd_right_product pa_r_hj32_two_odd_right_product pa_s_hj32_two_odd_right_product. ((((exists pa_h_hj32_two_odd_right_product_factor. pa_h_hj32_two_odd_right_product_factor + S (pa_p_hj32_two_odd_right_product) = S ((S (pa_i_hj32_two_odd_right_product)) * pa_c_hj32_two_odd_right)) /\ exists pa_q_hj32_two_odd_right_product_factor. pa_b_hj32_two_odd_right = pa_q_hj32_two_odd_right_product_factor * S ((S (pa_i_hj32_two_odd_right_product)) * pa_c_hj32_two_odd_right) + (pa_p_hj32_two_odd_right_product))) /\ ((((exists pa_h_hj32_two_odd_right_product_partial. pa_h_hj32_two_odd_right_product_partial + S (pa_r_hj32_two_odd_right_product) = S ((S (pa_i_hj32_two_odd_right_product)) * pa_v_hj32_two_odd_right_product)) /\ exists pa_q_hj32_two_odd_right_product_partial. pa_u_hj32_two_odd_right_product = pa_q_hj32_two_odd_right_product_partial * S ((S (pa_i_hj32_two_odd_right_product)) * pa_v_hj32_two_odd_right_product) + (pa_r_hj32_two_odd_right_product))) /\ ((((exists pa_h_hj32_two_odd_right_product_successor. pa_h_hj32_two_odd_right_product_successor + S (pa_s_hj32_two_odd_right_product) = S ((S (S pa_i_hj32_two_odd_right_product)) * pa_v_hj32_two_odd_right_product)) /\ exists pa_q_hj32_two_odd_right_product_successor. pa_u_hj32_two_odd_right_product = pa_q_hj32_two_odd_right_product_successor * S ((S (S pa_i_hj32_two_odd_right_product)) * pa_v_hj32_two_odd_right_product) + (pa_s_hj32_two_odd_right_product))) /\ pa_s_hj32_two_odd_right_product = pa_r_hj32_two_odd_right_product * pa_p_hj32_two_odd_right_product)))))))) -> (exists bqb_le_gap_hj32_two_odd_result. bqb_le_gap_hj32_two_odd_result + (x) = (y))Proof neighborhood
Direct theorem prerequisites
BT00WI pow_two_double_eq_pow_four_from_total BT00PY pow_base_monotone BT009X pow_add BT00PV mul_le_mul BT000E le_reflDirect 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)
01Fix variables and assumptionsL1–6
02Establish to_p2_evenL7–10
Establish this local claim before using it. It is not an additional assumption.
- L7
have to_p2_even : ∃ hj32_local_value_to_p2_even. Pow(2,2 · k,hj32_local_value_to_p2_even)Definitions: Pow(2,2 · k,hj32_local_value_to_p2_even)Original native command in the exact edition - L8
specialize htotal 2 - L9
specialize htotal 2 * k - L10
exact htotal
03Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
cases to_p2_even
04Establish to_p2_oneL12–15
Establish this local claim before using it. It is not an additional assumption.
- L12
have to_p2_one : ∃ hj32_local_value_to_p2_one. Pow(2,1,hj32_local_value_to_p2_one)Definitions: Pow(2,1,hj32_local_value_to_p2_one)Original native command in the exact edition - L13
specialize htotal 2 - L14
specialize htotal 1 - L15
exact htotal
05Separate the logical casesL16–16
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L16
cases to_p2_one
06Establish to_p4_evenL17–20
Establish this local claim before using it. It is not an additional assumption.
- L17
have to_p4_even : ∃ hj32_local_value_to_p4_even. Pow(4,k,hj32_local_value_to_p4_even)Definitions: Pow(4,k,hj32_local_value_to_p4_even)Original native command in the exact edition - L18
specialize htotal 4 - L19
specialize htotal k - L20
exact htotal
07Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases to_p4_even
08Establish to_p4_oneL22–25
Establish this local claim before using it. It is not an additional assumption.
- L22
have to_p4_one : ∃ hj32_local_value_to_p4_one. Pow(4,1,hj32_local_value_to_p4_one)Definitions: Pow(4,1,hj32_local_value_to_p4_one)Original native command in the exact edition - L23
specialize htotal 4 - L24
specialize htotal 1 - L25
exact htotal
09Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases to_p4_one
10Establish to_even_eqL27–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow two double eq pow four from total.
- L27
have to_even_eq : x1 = x3 - L28
specialize pow_two_double_eq_pow_four_from_total k - L29
specialize pow_two_double_eq_pow_four_from_total x1 - L30
specialize pow_two_double_eq_pow_four_from_total x3 - L31
apply pow_two_double_eq_pow_four_from_total - L32
exact htotal - L33
exact to_p2_even_witness - L34
exact to_p4_even_witness
11Establish to_even_boundL35–38
12Establish to_baseL39–39
Establish this local claim before using it. It is not an additional assumption.
13Construct an explicit witnessL40–40
Supply the displayed value, then prove that it has the required property.
- L40
exists 2
14Calculate and transport equalitiesL41–41
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L41
norm_num
15Establish to_one_boundL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow base monotone.
16Establish to_left_productL52–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow add.
17Use earlier factsL62–64
18Establish to_right_productL65–74
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow add.
19Use earlier factsL75–77
20Establish to_resultL78–87
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul le mul.
- L78
have to_result : Le(x1 · x2,x3 · x4)Definitions: Le(x1 · x2,x3 · x4)Original native command in the exact edition - L79
specialize mul_le_mul x1 - L80
specialize mul_le_mul x3 - L81
specialize mul_le_mul x2 - L82
specialize mul_le_mul x4 - L83
apply mul_le_mul - L84
exact to_even_bound - L85
exact to_one_bound - L86
rewrite <- to_left_product at to_result - L87
rewrite <- to_right_product at to_result
21Use earlier factsL88–88
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L88
exact to_result
Original defined command ledger · 88 lines
- 0001
intro k - 0002
intro x - 0003
intro y - 0004
intro htotal - 0005
intro hx - 0006
intro hy - 0007
have to_p2_even : ∃ hj32_local_value_to_p2_even. Pow(2,2 · k,hj32_local_value_to_p2_even)Exact native replay line
have to_p2_even : exists hj32_local_value_to_p2_even. (exists pa_b_hj32_local_total_to_p2_even pa_c_hj32_local_total_to_p2_even. ((forall pa_i_hj32_local_total_to_p2_even_repeat. (exists pa_lt_hj32_local_total_to_p2_even_repeat_bound. pa_lt_hj32_local_total_to_p2_even_repeat_bound + S pa_i_hj32_local_total_to_p2_even_repeat = 2 * k) -> (((exists pa_h_hj32_local_total_to_p2_even_repeat_decoded. pa_h_hj32_local_total_to_p2_even_repeat_decoded + S (2) = S ((S (pa_i_hj32_local_total_to_p2_even_repeat)) * pa_c_hj32_local_total_to_p2_even)) /\ exists pa_q_hj32_local_total_to_p2_even_repeat_decoded. pa_b_hj32_local_total_to_p2_even = pa_q_hj32_local_total_to_p2_even_repeat_decoded * S ((S (pa_i_hj32_local_total_to_p2_even_repeat)) * pa_c_hj32_local_total_to_p2_even) + (2)))) /\ (exists pa_u_hj32_local_total_to_p2_even_product pa_v_hj32_local_total_to_p2_even_product. ((((exists pa_h_hj32_local_total_to_p2_even_product_start. pa_h_hj32_local_total_to_p2_even_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_to_p2_even_product)) /\ exists pa_q_hj32_local_total_to_p2_even_product_start. pa_u_hj32_local_total_to_p2_even_product = pa_q_hj32_local_total_to_p2_even_product_start * S ((S (0)) * pa_v_hj32_local_total_to_p2_even_product) + (1))) /\ ((((exists pa_h_hj32_local_total_to_p2_even_product_terminal. pa_h_hj32_local_total_to_p2_even_product_terminal + S (hj32_local_value_to_p2_even) = S ((S (2 * k)) * pa_v_hj32_local_total_to_p2_even_product)) /\ exists pa_q_hj32_local_total_to_p2_even_product_terminal. pa_u_hj32_local_total_to_p2_even_product = pa_q_hj32_local_total_to_p2_even_product_terminal * S ((S (2 * k)) * pa_v_hj32_local_total_to_p2_even_product) + (hj32_local_value_to_p2_even))) /\ forall pa_i_hj32_local_total_to_p2_even_product. (exists pa_lt_hj32_local_total_to_p2_even_product_bound. pa_lt_hj32_local_total_to_p2_even_product_bound + S pa_i_hj32_local_total_to_p2_even_product = 2 * k) -> exists pa_p_hj32_local_total_to_p2_even_product pa_r_hj32_local_total_to_p2_even_product pa_s_hj32_local_total_to_p2_even_product. ((((exists pa_h_hj32_local_total_to_p2_even_product_factor. pa_h_hj32_local_total_to_p2_even_product_factor + S (pa_p_hj32_local_total_to_p2_even_product) = S ((S (pa_i_hj32_local_total_to_p2_even_product)) * pa_c_hj32_local_total_to_p2_even)) /\ exists pa_q_hj32_local_total_to_p2_even_product_factor. pa_b_hj32_local_total_to_p2_even = pa_q_hj32_local_total_to_p2_even_product_factor * S ((S (pa_i_hj32_local_total_to_p2_even_product)) * pa_c_hj32_local_total_to_p2_even) + (pa_p_hj32_local_total_to_p2_even_product))) /\ ((((exists pa_h_hj32_local_total_to_p2_even_product_partial. pa_h_hj32_local_total_to_p2_even_product_partial + S (pa_r_hj32_local_total_to_p2_even_product) = S ((S (pa_i_hj32_local_total_to_p2_even_product)) * pa_v_hj32_local_total_to_p2_even_product)) /\ exists pa_q_hj32_local_total_to_p2_even_product_partial. pa_u_hj32_local_total_to_p2_even_product = pa_q_hj32_local_total_to_p2_even_product_partial * S ((S (pa_i_hj32_local_total_to_p2_even_product)) * pa_v_hj32_local_total_to_p2_even_product) + (pa_r_hj32_local_total_to_p2_even_product))) /\ ((((exists pa_h_hj32_local_total_to_p2_even_product_successor. pa_h_hj32_local_total_to_p2_even_product_successor + S (pa_s_hj32_local_total_to_p2_even_product) = S ((S (S pa_i_hj32_local_total_to_p2_even_product)) * pa_v_hj32_local_total_to_p2_even_product)) /\ exists pa_q_hj32_local_total_to_p2_even_product_successor. pa_u_hj32_local_total_to_p2_even_product = pa_q_hj32_local_total_to_p2_even_product_successor * S ((S (S pa_i_hj32_local_total_to_p2_even_product)) * pa_v_hj32_local_total_to_p2_even_product) + (pa_s_hj32_local_total_to_p2_even_product))) /\ pa_s_hj32_local_total_to_p2_even_product = pa_r_hj32_local_total_to_p2_even_product * pa_p_hj32_local_total_to_p2_even_product)))))))) - 0008
specialize htotal 2 - 0009
specialize htotal 2 * k - 0010
exact htotal - 0011
cases to_p2_even - 0012
have to_p2_one : ∃ hj32_local_value_to_p2_one. Pow(2,1,hj32_local_value_to_p2_one)Exact native replay line
have to_p2_one : exists hj32_local_value_to_p2_one. (exists pa_b_hj32_local_total_to_p2_one pa_c_hj32_local_total_to_p2_one. ((forall pa_i_hj32_local_total_to_p2_one_repeat. (exists pa_lt_hj32_local_total_to_p2_one_repeat_bound. pa_lt_hj32_local_total_to_p2_one_repeat_bound + S pa_i_hj32_local_total_to_p2_one_repeat = 1) -> (((exists pa_h_hj32_local_total_to_p2_one_repeat_decoded. pa_h_hj32_local_total_to_p2_one_repeat_decoded + S (2) = S ((S (pa_i_hj32_local_total_to_p2_one_repeat)) * pa_c_hj32_local_total_to_p2_one)) /\ exists pa_q_hj32_local_total_to_p2_one_repeat_decoded. pa_b_hj32_local_total_to_p2_one = pa_q_hj32_local_total_to_p2_one_repeat_decoded * S ((S (pa_i_hj32_local_total_to_p2_one_repeat)) * pa_c_hj32_local_total_to_p2_one) + (2)))) /\ (exists pa_u_hj32_local_total_to_p2_one_product pa_v_hj32_local_total_to_p2_one_product. ((((exists pa_h_hj32_local_total_to_p2_one_product_start. pa_h_hj32_local_total_to_p2_one_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_to_p2_one_product)) /\ exists pa_q_hj32_local_total_to_p2_one_product_start. pa_u_hj32_local_total_to_p2_one_product = pa_q_hj32_local_total_to_p2_one_product_start * S ((S (0)) * pa_v_hj32_local_total_to_p2_one_product) + (1))) /\ ((((exists pa_h_hj32_local_total_to_p2_one_product_terminal. pa_h_hj32_local_total_to_p2_one_product_terminal + S (hj32_local_value_to_p2_one) = S ((S (1)) * pa_v_hj32_local_total_to_p2_one_product)) /\ exists pa_q_hj32_local_total_to_p2_one_product_terminal. pa_u_hj32_local_total_to_p2_one_product = pa_q_hj32_local_total_to_p2_one_product_terminal * S ((S (1)) * pa_v_hj32_local_total_to_p2_one_product) + (hj32_local_value_to_p2_one))) /\ forall pa_i_hj32_local_total_to_p2_one_product. (exists pa_lt_hj32_local_total_to_p2_one_product_bound. pa_lt_hj32_local_total_to_p2_one_product_bound + S pa_i_hj32_local_total_to_p2_one_product = 1) -> exists pa_p_hj32_local_total_to_p2_one_product pa_r_hj32_local_total_to_p2_one_product pa_s_hj32_local_total_to_p2_one_product. ((((exists pa_h_hj32_local_total_to_p2_one_product_factor. pa_h_hj32_local_total_to_p2_one_product_factor + S (pa_p_hj32_local_total_to_p2_one_product) = S ((S (pa_i_hj32_local_total_to_p2_one_product)) * pa_c_hj32_local_total_to_p2_one)) /\ exists pa_q_hj32_local_total_to_p2_one_product_factor. pa_b_hj32_local_total_to_p2_one = pa_q_hj32_local_total_to_p2_one_product_factor * S ((S (pa_i_hj32_local_total_to_p2_one_product)) * pa_c_hj32_local_total_to_p2_one) + (pa_p_hj32_local_total_to_p2_one_product))) /\ ((((exists pa_h_hj32_local_total_to_p2_one_product_partial. pa_h_hj32_local_total_to_p2_one_product_partial + S (pa_r_hj32_local_total_to_p2_one_product) = S ((S (pa_i_hj32_local_total_to_p2_one_product)) * pa_v_hj32_local_total_to_p2_one_product)) /\ exists pa_q_hj32_local_total_to_p2_one_product_partial. pa_u_hj32_local_total_to_p2_one_product = pa_q_hj32_local_total_to_p2_one_product_partial * S ((S (pa_i_hj32_local_total_to_p2_one_product)) * pa_v_hj32_local_total_to_p2_one_product) + (pa_r_hj32_local_total_to_p2_one_product))) /\ ((((exists pa_h_hj32_local_total_to_p2_one_product_successor. pa_h_hj32_local_total_to_p2_one_product_successor + S (pa_s_hj32_local_total_to_p2_one_product) = S ((S (S pa_i_hj32_local_total_to_p2_one_product)) * pa_v_hj32_local_total_to_p2_one_product)) /\ exists pa_q_hj32_local_total_to_p2_one_product_successor. pa_u_hj32_local_total_to_p2_one_product = pa_q_hj32_local_total_to_p2_one_product_successor * S ((S (S pa_i_hj32_local_total_to_p2_one_product)) * pa_v_hj32_local_total_to_p2_one_product) + (pa_s_hj32_local_total_to_p2_one_product))) /\ pa_s_hj32_local_total_to_p2_one_product = pa_r_hj32_local_total_to_p2_one_product * pa_p_hj32_local_total_to_p2_one_product)))))))) - 0013
specialize htotal 2 - 0014
specialize htotal 1 - 0015
exact htotal - 0016
cases to_p2_one - 0017
have to_p4_even : ∃ hj32_local_value_to_p4_even. Pow(4,k,hj32_local_value_to_p4_even)Exact native replay line
have to_p4_even : exists hj32_local_value_to_p4_even. (exists pa_b_hj32_local_total_to_p4_even pa_c_hj32_local_total_to_p4_even. ((forall pa_i_hj32_local_total_to_p4_even_repeat. (exists pa_lt_hj32_local_total_to_p4_even_repeat_bound. pa_lt_hj32_local_total_to_p4_even_repeat_bound + S pa_i_hj32_local_total_to_p4_even_repeat = k) -> (((exists pa_h_hj32_local_total_to_p4_even_repeat_decoded. pa_h_hj32_local_total_to_p4_even_repeat_decoded + S (4) = S ((S (pa_i_hj32_local_total_to_p4_even_repeat)) * pa_c_hj32_local_total_to_p4_even)) /\ exists pa_q_hj32_local_total_to_p4_even_repeat_decoded. pa_b_hj32_local_total_to_p4_even = pa_q_hj32_local_total_to_p4_even_repeat_decoded * S ((S (pa_i_hj32_local_total_to_p4_even_repeat)) * pa_c_hj32_local_total_to_p4_even) + (4)))) /\ (exists pa_u_hj32_local_total_to_p4_even_product pa_v_hj32_local_total_to_p4_even_product. ((((exists pa_h_hj32_local_total_to_p4_even_product_start. pa_h_hj32_local_total_to_p4_even_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_to_p4_even_product)) /\ exists pa_q_hj32_local_total_to_p4_even_product_start. pa_u_hj32_local_total_to_p4_even_product = pa_q_hj32_local_total_to_p4_even_product_start * S ((S (0)) * pa_v_hj32_local_total_to_p4_even_product) + (1))) /\ ((((exists pa_h_hj32_local_total_to_p4_even_product_terminal. pa_h_hj32_local_total_to_p4_even_product_terminal + S (hj32_local_value_to_p4_even) = S ((S (k)) * pa_v_hj32_local_total_to_p4_even_product)) /\ exists pa_q_hj32_local_total_to_p4_even_product_terminal. pa_u_hj32_local_total_to_p4_even_product = pa_q_hj32_local_total_to_p4_even_product_terminal * S ((S (k)) * pa_v_hj32_local_total_to_p4_even_product) + (hj32_local_value_to_p4_even))) /\ forall pa_i_hj32_local_total_to_p4_even_product. (exists pa_lt_hj32_local_total_to_p4_even_product_bound. pa_lt_hj32_local_total_to_p4_even_product_bound + S pa_i_hj32_local_total_to_p4_even_product = k) -> exists pa_p_hj32_local_total_to_p4_even_product pa_r_hj32_local_total_to_p4_even_product pa_s_hj32_local_total_to_p4_even_product. ((((exists pa_h_hj32_local_total_to_p4_even_product_factor. pa_h_hj32_local_total_to_p4_even_product_factor + S (pa_p_hj32_local_total_to_p4_even_product) = S ((S (pa_i_hj32_local_total_to_p4_even_product)) * pa_c_hj32_local_total_to_p4_even)) /\ exists pa_q_hj32_local_total_to_p4_even_product_factor. pa_b_hj32_local_total_to_p4_even = pa_q_hj32_local_total_to_p4_even_product_factor * S ((S (pa_i_hj32_local_total_to_p4_even_product)) * pa_c_hj32_local_total_to_p4_even) + (pa_p_hj32_local_total_to_p4_even_product))) /\ ((((exists pa_h_hj32_local_total_to_p4_even_product_partial. pa_h_hj32_local_total_to_p4_even_product_partial + S (pa_r_hj32_local_total_to_p4_even_product) = S ((S (pa_i_hj32_local_total_to_p4_even_product)) * pa_v_hj32_local_total_to_p4_even_product)) /\ exists pa_q_hj32_local_total_to_p4_even_product_partial. pa_u_hj32_local_total_to_p4_even_product = pa_q_hj32_local_total_to_p4_even_product_partial * S ((S (pa_i_hj32_local_total_to_p4_even_product)) * pa_v_hj32_local_total_to_p4_even_product) + (pa_r_hj32_local_total_to_p4_even_product))) /\ ((((exists pa_h_hj32_local_total_to_p4_even_product_successor. pa_h_hj32_local_total_to_p4_even_product_successor + S (pa_s_hj32_local_total_to_p4_even_product) = S ((S (S pa_i_hj32_local_total_to_p4_even_product)) * pa_v_hj32_local_total_to_p4_even_product)) /\ exists pa_q_hj32_local_total_to_p4_even_product_successor. pa_u_hj32_local_total_to_p4_even_product = pa_q_hj32_local_total_to_p4_even_product_successor * S ((S (S pa_i_hj32_local_total_to_p4_even_product)) * pa_v_hj32_local_total_to_p4_even_product) + (pa_s_hj32_local_total_to_p4_even_product))) /\ pa_s_hj32_local_total_to_p4_even_product = pa_r_hj32_local_total_to_p4_even_product * pa_p_hj32_local_total_to_p4_even_product)))))))) - 0018
specialize htotal 4 - 0019
specialize htotal k - 0020
exact htotal - 0021
cases to_p4_even - 0022
have to_p4_one : ∃ hj32_local_value_to_p4_one. Pow(4,1,hj32_local_value_to_p4_one)Exact native replay line
have to_p4_one : exists hj32_local_value_to_p4_one. (exists pa_b_hj32_local_total_to_p4_one pa_c_hj32_local_total_to_p4_one. ((forall pa_i_hj32_local_total_to_p4_one_repeat. (exists pa_lt_hj32_local_total_to_p4_one_repeat_bound. pa_lt_hj32_local_total_to_p4_one_repeat_bound + S pa_i_hj32_local_total_to_p4_one_repeat = 1) -> (((exists pa_h_hj32_local_total_to_p4_one_repeat_decoded. pa_h_hj32_local_total_to_p4_one_repeat_decoded + S (4) = S ((S (pa_i_hj32_local_total_to_p4_one_repeat)) * pa_c_hj32_local_total_to_p4_one)) /\ exists pa_q_hj32_local_total_to_p4_one_repeat_decoded. pa_b_hj32_local_total_to_p4_one = pa_q_hj32_local_total_to_p4_one_repeat_decoded * S ((S (pa_i_hj32_local_total_to_p4_one_repeat)) * pa_c_hj32_local_total_to_p4_one) + (4)))) /\ (exists pa_u_hj32_local_total_to_p4_one_product pa_v_hj32_local_total_to_p4_one_product. ((((exists pa_h_hj32_local_total_to_p4_one_product_start. pa_h_hj32_local_total_to_p4_one_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_to_p4_one_product)) /\ exists pa_q_hj32_local_total_to_p4_one_product_start. pa_u_hj32_local_total_to_p4_one_product = pa_q_hj32_local_total_to_p4_one_product_start * S ((S (0)) * pa_v_hj32_local_total_to_p4_one_product) + (1))) /\ ((((exists pa_h_hj32_local_total_to_p4_one_product_terminal. pa_h_hj32_local_total_to_p4_one_product_terminal + S (hj32_local_value_to_p4_one) = S ((S (1)) * pa_v_hj32_local_total_to_p4_one_product)) /\ exists pa_q_hj32_local_total_to_p4_one_product_terminal. pa_u_hj32_local_total_to_p4_one_product = pa_q_hj32_local_total_to_p4_one_product_terminal * S ((S (1)) * pa_v_hj32_local_total_to_p4_one_product) + (hj32_local_value_to_p4_one))) /\ forall pa_i_hj32_local_total_to_p4_one_product. (exists pa_lt_hj32_local_total_to_p4_one_product_bound. pa_lt_hj32_local_total_to_p4_one_product_bound + S pa_i_hj32_local_total_to_p4_one_product = 1) -> exists pa_p_hj32_local_total_to_p4_one_product pa_r_hj32_local_total_to_p4_one_product pa_s_hj32_local_total_to_p4_one_product. ((((exists pa_h_hj32_local_total_to_p4_one_product_factor. pa_h_hj32_local_total_to_p4_one_product_factor + S (pa_p_hj32_local_total_to_p4_one_product) = S ((S (pa_i_hj32_local_total_to_p4_one_product)) * pa_c_hj32_local_total_to_p4_one)) /\ exists pa_q_hj32_local_total_to_p4_one_product_factor. pa_b_hj32_local_total_to_p4_one = pa_q_hj32_local_total_to_p4_one_product_factor * S ((S (pa_i_hj32_local_total_to_p4_one_product)) * pa_c_hj32_local_total_to_p4_one) + (pa_p_hj32_local_total_to_p4_one_product))) /\ ((((exists pa_h_hj32_local_total_to_p4_one_product_partial. pa_h_hj32_local_total_to_p4_one_product_partial + S (pa_r_hj32_local_total_to_p4_one_product) = S ((S (pa_i_hj32_local_total_to_p4_one_product)) * pa_v_hj32_local_total_to_p4_one_product)) /\ exists pa_q_hj32_local_total_to_p4_one_product_partial. pa_u_hj32_local_total_to_p4_one_product = pa_q_hj32_local_total_to_p4_one_product_partial * S ((S (pa_i_hj32_local_total_to_p4_one_product)) * pa_v_hj32_local_total_to_p4_one_product) + (pa_r_hj32_local_total_to_p4_one_product))) /\ ((((exists pa_h_hj32_local_total_to_p4_one_product_successor. pa_h_hj32_local_total_to_p4_one_product_successor + S (pa_s_hj32_local_total_to_p4_one_product) = S ((S (S pa_i_hj32_local_total_to_p4_one_product)) * pa_v_hj32_local_total_to_p4_one_product)) /\ exists pa_q_hj32_local_total_to_p4_one_product_successor. pa_u_hj32_local_total_to_p4_one_product = pa_q_hj32_local_total_to_p4_one_product_successor * S ((S (S pa_i_hj32_local_total_to_p4_one_product)) * pa_v_hj32_local_total_to_p4_one_product) + (pa_s_hj32_local_total_to_p4_one_product))) /\ pa_s_hj32_local_total_to_p4_one_product = pa_r_hj32_local_total_to_p4_one_product * pa_p_hj32_local_total_to_p4_one_product)))))))) - 0023
specialize htotal 4 - 0024
specialize htotal 1 - 0025
exact htotal - 0026
cases to_p4_one - 0027
have to_even_eq : x1 = x3 - 0028
specialize pow_two_double_eq_pow_four_from_total k - 0029
specialize pow_two_double_eq_pow_four_from_total x1 - 0030
specialize pow_two_double_eq_pow_four_from_total x3 - 0031
apply pow_two_double_eq_pow_four_from_total - 0032
exact htotal - 0033
exact to_p2_even_witness - 0034
exact to_p4_even_witness - 0035
have to_even_bound : Le(x1,x3)Exact native replay line
have to_even_bound : exists bqb_le_gap_hj32_to_even_bound. bqb_le_gap_hj32_to_even_bound + (x1) = (x3) - 0036
rewrite to_even_eq - 0037
specialize le_refl x3 - 0038
exact le_refl - 0039
have to_base : Lt(1,4)Exact native replay line
have to_base : exists bqb_le_gap_hj32_to_base. bqb_le_gap_hj32_to_base + (2) = (4) - 0040
exists 2 - 0041
norm_num - 0042
have to_one_bound : Le(x2,x4)Exact native replay line
have to_one_bound : exists bqb_le_gap_hj32_local_base_bound_to_one_bound. bqb_le_gap_hj32_local_base_bound_to_one_bound + (x2) = (x4) - 0043
specialize pow_base_monotone 2 - 0044
specialize pow_base_monotone 4 - 0045
specialize pow_base_monotone 1 - 0046
specialize pow_base_monotone x2 - 0047
specialize pow_base_monotone x4 - 0048
apply pow_base_monotone - 0049
exact to_base - 0050
exact to_p2_one_witness - 0051
exact to_p4_one_witness - 0052
have to_left_product : x = x1 * x2 - 0053
specialize pow_add 2 - 0054
specialize pow_add 2 * k - 0055
specialize pow_add 1 - 0056
specialize pow_add 2 * k + 1 - 0057
specialize pow_add x1 - 0058
specialize pow_add x2 - 0059
specialize pow_add x - 0060
apply pow_add - 0061
refl - 0062
exact to_p2_even_witness - 0063
exact to_p2_one_witness - 0064
exact hx - 0065
have to_right_product : y = x3 * x4 - 0066
specialize pow_add 4 - 0067
specialize pow_add k - 0068
specialize pow_add 1 - 0069
specialize pow_add k + 1 - 0070
specialize pow_add x3 - 0071
specialize pow_add x4 - 0072
specialize pow_add y - 0073
apply pow_add - 0074
refl - 0075
exact to_p4_even_witness - 0076
exact to_p4_one_witness - 0077
exact hy - 0078
have to_result : Le(x1 · x2,x3 · x4)Exact native replay line
have to_result : exists bqb_le_gap_hj32_local_product_bound_to_result. bqb_le_gap_hj32_local_product_bound_to_result + (x1 * x2) = (x3 * x4) - 0079
specialize mul_le_mul x1 - 0080
specialize mul_le_mul x3 - 0081
specialize mul_le_mul x2 - 0082
specialize mul_le_mul x4 - 0083
apply mul_le_mul - 0084
exact to_even_bound - 0085
exact to_one_bound - 0086
rewrite <- to_left_product at to_result - 0087
rewrite <- to_right_product at to_result - 0088
exact to_result