BT00WI · Bertrand theorem

pow_two_double_eq_pow_four_from_total

Alpha v34 checked-use theorem · independently kernel and Lean verified; not Stable

An even power of two is the matching power of four.

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,x)Pow(4,k,y) → 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

3 occurrences

In local proof propositions

2 occurrences

Exact expanded native-PA statement
forall k x y. (forall bpt_a_hj32_two_double bpt_e_hj32_two_double. exists bpt_x_hj32_two_double. (exists ff_b_bpt_value_hj32_two_double ff_c_bpt_value_hj32_two_double. ((forall ff_i_bpt_value_hj32_two_double_repeat. (exists ff_lt_bpt_value_hj32_two_double_repeat_bound. ff_lt_bpt_value_hj32_two_double_repeat_bound + S ff_i_bpt_value_hj32_two_double_repeat = bpt_e_hj32_two_double) -> (((exists ff_h_bpt_value_hj32_two_double_repeat_decoded. ff_h_bpt_value_hj32_two_double_repeat_decoded + S (bpt_a_hj32_two_double) = S ((S (ff_i_bpt_value_hj32_two_double_repeat)) * ff_c_bpt_value_hj32_two_double)) /\ exists ff_q_bpt_value_hj32_two_double_repeat_decoded. ff_b_bpt_value_hj32_two_double = ff_q_bpt_value_hj32_two_double_repeat_decoded * S ((S (ff_i_bpt_value_hj32_two_double_repeat)) * ff_c_bpt_value_hj32_two_double) + (bpt_a_hj32_two_double)))) /\ (exists ff_u_bpt_value_hj32_two_double_product ff_v_bpt_value_hj32_two_double_product. ((((exists ff_h_bpt_value_hj32_two_double_product_start. ff_h_bpt_value_hj32_two_double_product_start + S (1) = S ((S (0)) * ff_v_bpt_value_hj32_two_double_product)) /\ exists ff_q_bpt_value_hj32_two_double_product_start. ff_u_bpt_value_hj32_two_double_product = ff_q_bpt_value_hj32_two_double_product_start * S ((S (0)) * ff_v_bpt_value_hj32_two_double_product) + (1))) /\ ((((exists ff_h_bpt_value_hj32_two_double_product_terminal. ff_h_bpt_value_hj32_two_double_product_terminal + S (bpt_x_hj32_two_double) = S ((S (bpt_e_hj32_two_double)) * ff_v_bpt_value_hj32_two_double_product)) /\ exists ff_q_bpt_value_hj32_two_double_product_terminal. ff_u_bpt_value_hj32_two_double_product = ff_q_bpt_value_hj32_two_double_product_terminal * S ((S (bpt_e_hj32_two_double)) * ff_v_bpt_value_hj32_two_double_product) + (bpt_x_hj32_two_double))) /\ forall ff_i_bpt_value_hj32_two_double_product. (exists ff_lt_bpt_value_hj32_two_double_product_bound. ff_lt_bpt_value_hj32_two_double_product_bound + S ff_i_bpt_value_hj32_two_double_product = bpt_e_hj32_two_double) -> exists ff_p_bpt_value_hj32_two_double_product ff_r_bpt_value_hj32_two_double_product ff_s_bpt_value_hj32_two_double_product. ((((exists ff_h_bpt_value_hj32_two_double_product_factor. ff_h_bpt_value_hj32_two_double_product_factor + S (ff_p_bpt_value_hj32_two_double_product) = S ((S (ff_i_bpt_value_hj32_two_double_product)) * ff_c_bpt_value_hj32_two_double)) /\ exists ff_q_bpt_value_hj32_two_double_product_factor. ff_b_bpt_value_hj32_two_double = ff_q_bpt_value_hj32_two_double_product_factor * S ((S (ff_i_bpt_value_hj32_two_double_product)) * ff_c_bpt_value_hj32_two_double) + (ff_p_bpt_value_hj32_two_double_product))) /\ ((((exists ff_h_bpt_value_hj32_two_double_product_partial. ff_h_bpt_value_hj32_two_double_product_partial + S (ff_r_bpt_value_hj32_two_double_product) = S ((S (ff_i_bpt_value_hj32_two_double_product)) * ff_v_bpt_value_hj32_two_double_product)) /\ exists ff_q_bpt_value_hj32_two_double_product_partial. ff_u_bpt_value_hj32_two_double_product = ff_q_bpt_value_hj32_two_double_product_partial * S ((S (ff_i_bpt_value_hj32_two_double_product)) * ff_v_bpt_value_hj32_two_double_product) + (ff_r_bpt_value_hj32_two_double_product))) /\ ((((exists ff_h_bpt_value_hj32_two_double_product_successor. ff_h_bpt_value_hj32_two_double_product_successor + S (ff_s_bpt_value_hj32_two_double_product) = S ((S (S ff_i_bpt_value_hj32_two_double_product)) * ff_v_bpt_value_hj32_two_double_product)) /\ exists ff_q_bpt_value_hj32_two_double_product_successor. ff_u_bpt_value_hj32_two_double_product = ff_q_bpt_value_hj32_two_double_product_successor * S ((S (S ff_i_bpt_value_hj32_two_double_product)) * ff_v_bpt_value_hj32_two_double_product) + (ff_s_bpt_value_hj32_two_double_product))) /\ ff_s_bpt_value_hj32_two_double_product = ff_r_bpt_value_hj32_two_double_product * ff_p_bpt_value_hj32_two_double_product))))))))) -> (exists pa_b_hj32_two_double_left pa_c_hj32_two_double_left. ((forall pa_i_hj32_two_double_left_repeat. (exists pa_lt_hj32_two_double_left_repeat_bound. pa_lt_hj32_two_double_left_repeat_bound + S pa_i_hj32_two_double_left_repeat = 2 * k) -> (((exists pa_h_hj32_two_double_left_repeat_decoded. pa_h_hj32_two_double_left_repeat_decoded + S (2) = S ((S (pa_i_hj32_two_double_left_repeat)) * pa_c_hj32_two_double_left)) /\ exists pa_q_hj32_two_double_left_repeat_decoded. pa_b_hj32_two_double_left = pa_q_hj32_two_double_left_repeat_decoded * S ((S (pa_i_hj32_two_double_left_repeat)) * pa_c_hj32_two_double_left) + (2)))) /\ (exists pa_u_hj32_two_double_left_product pa_v_hj32_two_double_left_product. ((((exists pa_h_hj32_two_double_left_product_start. pa_h_hj32_two_double_left_product_start + S (1) = S ((S (0)) * pa_v_hj32_two_double_left_product)) /\ exists pa_q_hj32_two_double_left_product_start. pa_u_hj32_two_double_left_product = pa_q_hj32_two_double_left_product_start * S ((S (0)) * pa_v_hj32_two_double_left_product) + (1))) /\ ((((exists pa_h_hj32_two_double_left_product_terminal. pa_h_hj32_two_double_left_product_terminal + S (x) = S ((S (2 * k)) * pa_v_hj32_two_double_left_product)) /\ exists pa_q_hj32_two_double_left_product_terminal. pa_u_hj32_two_double_left_product = pa_q_hj32_two_double_left_product_terminal * S ((S (2 * k)) * pa_v_hj32_two_double_left_product) + (x))) /\ forall pa_i_hj32_two_double_left_product. (exists pa_lt_hj32_two_double_left_product_bound. pa_lt_hj32_two_double_left_product_bound + S pa_i_hj32_two_double_left_product = 2 * k) -> exists pa_p_hj32_two_double_left_product pa_r_hj32_two_double_left_product pa_s_hj32_two_double_left_product. ((((exists pa_h_hj32_two_double_left_product_factor. pa_h_hj32_two_double_left_product_factor + S (pa_p_hj32_two_double_left_product) = S ((S (pa_i_hj32_two_double_left_product)) * pa_c_hj32_two_double_left)) /\ exists pa_q_hj32_two_double_left_product_factor. pa_b_hj32_two_double_left = pa_q_hj32_two_double_left_product_factor * S ((S (pa_i_hj32_two_double_left_product)) * pa_c_hj32_two_double_left) + (pa_p_hj32_two_double_left_product))) /\ ((((exists pa_h_hj32_two_double_left_product_partial. pa_h_hj32_two_double_left_product_partial + S (pa_r_hj32_two_double_left_product) = S ((S (pa_i_hj32_two_double_left_product)) * pa_v_hj32_two_double_left_product)) /\ exists pa_q_hj32_two_double_left_product_partial. pa_u_hj32_two_double_left_product = pa_q_hj32_two_double_left_product_partial * S ((S (pa_i_hj32_two_double_left_product)) * pa_v_hj32_two_double_left_product) + (pa_r_hj32_two_double_left_product))) /\ ((((exists pa_h_hj32_two_double_left_product_successor. pa_h_hj32_two_double_left_product_successor + S (pa_s_hj32_two_double_left_product) = S ((S (S pa_i_hj32_two_double_left_product)) * pa_v_hj32_two_double_left_product)) /\ exists pa_q_hj32_two_double_left_product_successor. pa_u_hj32_two_double_left_product = pa_q_hj32_two_double_left_product_successor * S ((S (S pa_i_hj32_two_double_left_product)) * pa_v_hj32_two_double_left_product) + (pa_s_hj32_two_double_left_product))) /\ pa_s_hj32_two_double_left_product = pa_r_hj32_two_double_left_product * pa_p_hj32_two_double_left_product)))))))) -> (exists pa_b_hj32_two_double_right pa_c_hj32_two_double_right. ((forall pa_i_hj32_two_double_right_repeat. (exists pa_lt_hj32_two_double_right_repeat_bound. pa_lt_hj32_two_double_right_repeat_bound + S pa_i_hj32_two_double_right_repeat = k) -> (((exists pa_h_hj32_two_double_right_repeat_decoded. pa_h_hj32_two_double_right_repeat_decoded + S (4) = S ((S (pa_i_hj32_two_double_right_repeat)) * pa_c_hj32_two_double_right)) /\ exists pa_q_hj32_two_double_right_repeat_decoded. pa_b_hj32_two_double_right = pa_q_hj32_two_double_right_repeat_decoded * S ((S (pa_i_hj32_two_double_right_repeat)) * pa_c_hj32_two_double_right) + (4)))) /\ (exists pa_u_hj32_two_double_right_product pa_v_hj32_two_double_right_product. ((((exists pa_h_hj32_two_double_right_product_start. pa_h_hj32_two_double_right_product_start + S (1) = S ((S (0)) * pa_v_hj32_two_double_right_product)) /\ exists pa_q_hj32_two_double_right_product_start. pa_u_hj32_two_double_right_product = pa_q_hj32_two_double_right_product_start * S ((S (0)) * pa_v_hj32_two_double_right_product) + (1))) /\ ((((exists pa_h_hj32_two_double_right_product_terminal. pa_h_hj32_two_double_right_product_terminal + S (y) = S ((S (k)) * pa_v_hj32_two_double_right_product)) /\ exists pa_q_hj32_two_double_right_product_terminal. pa_u_hj32_two_double_right_product = pa_q_hj32_two_double_right_product_terminal * S ((S (k)) * pa_v_hj32_two_double_right_product) + (y))) /\ forall pa_i_hj32_two_double_right_product. (exists pa_lt_hj32_two_double_right_product_bound. pa_lt_hj32_two_double_right_product_bound + S pa_i_hj32_two_double_right_product = k) -> exists pa_p_hj32_two_double_right_product pa_r_hj32_two_double_right_product pa_s_hj32_two_double_right_product. ((((exists pa_h_hj32_two_double_right_product_factor. pa_h_hj32_two_double_right_product_factor + S (pa_p_hj32_two_double_right_product) = S ((S (pa_i_hj32_two_double_right_product)) * pa_c_hj32_two_double_right)) /\ exists pa_q_hj32_two_double_right_product_factor. pa_b_hj32_two_double_right = pa_q_hj32_two_double_right_product_factor * S ((S (pa_i_hj32_two_double_right_product)) * pa_c_hj32_two_double_right) + (pa_p_hj32_two_double_right_product))) /\ ((((exists pa_h_hj32_two_double_right_product_partial. pa_h_hj32_two_double_right_product_partial + S (pa_r_hj32_two_double_right_product) = S ((S (pa_i_hj32_two_double_right_product)) * pa_v_hj32_two_double_right_product)) /\ exists pa_q_hj32_two_double_right_product_partial. pa_u_hj32_two_double_right_product = pa_q_hj32_two_double_right_product_partial * S ((S (pa_i_hj32_two_double_right_product)) * pa_v_hj32_two_double_right_product) + (pa_r_hj32_two_double_right_product))) /\ ((((exists pa_h_hj32_two_double_right_product_successor. pa_h_hj32_two_double_right_product_successor + S (pa_s_hj32_two_double_right_product) = S ((S (S pa_i_hj32_two_double_right_product)) * pa_v_hj32_two_double_right_product)) /\ exists pa_q_hj32_two_double_right_product_successor. pa_u_hj32_two_double_right_product = pa_q_hj32_two_double_right_product_successor * S ((S (S pa_i_hj32_two_double_right_product)) * pa_v_hj32_two_double_right_product) + (pa_s_hj32_two_double_right_product))) /\ pa_s_hj32_two_double_right_product = pa_r_hj32_two_double_right_product * pa_p_hj32_two_double_right_product)))))))) -> x = y

Proof neighborhood

Direct theorem prerequisites

Direct 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

26 script commands · 8 reading checkpoints · 2 local claims

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (2)
01Fix variables and assumptionsL1–6

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro k
  2. L2
    intro x
  3. L3
    intro y
  4. L4
    intro htotal
  5. L5
    intro hx
  6. L6
    intro hy
02Establish td_seedsL7–9

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow two seed bundle from total.

  1. L7
    have td_seeds : Pow(2,2,4) ∧ Pow(2,7,128)Definitions: Pow(2,2,4)Pow(2,7,128)Original native command in the exact edition
  2. L8
    apply pow_two_seed_bundle_from_total
  3. L9
    exact htotal
03Separate the logical casesL10–10

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L10
    cases td_seeds
04Establish td_bridgeL11–20

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow mul exp from total.

  1. L11
    have td_bridge : y = x
  2. L12
    specialize pow_mul_exp_from_total 2
  3. L13
    specialize pow_mul_exp_from_total 2
  4. L14
    specialize pow_mul_exp_from_total k
  5. L15
    specialize pow_mul_exp_from_total (2 * k)
  6. L16
    specialize pow_mul_exp_from_total 4
  7. L17
    specialize pow_mul_exp_from_total y
  8. L18
    specialize pow_mul_exp_from_total x
  9. L19
    apply pow_mul_exp_from_total
  10. L20
    exact htotal
05Calculate and transport equalitiesL21–21

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L21
    refl
06Use earlier factsL22–24

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L22
    exact td_seeds_left
  2. L23
    exact hy
  3. L24
    exact hx
07Calculate and transport equalitiesL25–25

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L25
    symm
08Use earlier factsL26–26

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L26
    exact td_bridge

Library-wide reading audit

Original defined command ledger · 26 lines
  1. 0001intro k
  2. 0002intro x
  3. 0003intro y
  4. 0004intro htotal
  5. 0005intro hx
  6. 0006intro hy
  7. 0007have td_seeds : Pow(2,2,4)Pow(2,7,128)
    Exact native replay linehave td_seeds : (exists pa_b_hj32_seed_two_two pa_c_hj32_seed_two_two. ((forall pa_i_hj32_seed_two_two_repeat. (exists pa_lt_hj32_seed_two_two_repeat_bound. pa_lt_hj32_seed_two_two_repeat_bound + S pa_i_hj32_seed_two_two_repeat = 2) -> (((exists pa_h_hj32_seed_two_two_repeat_decoded. pa_h_hj32_seed_two_two_repeat_decoded + S (2) = S ((S (pa_i_hj32_seed_two_two_repeat)) * pa_c_hj32_seed_two_two)) /\ exists pa_q_hj32_seed_two_two_repeat_decoded. pa_b_hj32_seed_two_two = pa_q_hj32_seed_two_two_repeat_decoded * S ((S (pa_i_hj32_seed_two_two_repeat)) * pa_c_hj32_seed_two_two) + (2)))) /\ (exists pa_u_hj32_seed_two_two_product pa_v_hj32_seed_two_two_product. ((((exists pa_h_hj32_seed_two_two_product_start. pa_h_hj32_seed_two_two_product_start + S (1) = S ((S (0)) * pa_v_hj32_seed_two_two_product)) /\ exists pa_q_hj32_seed_two_two_product_start. pa_u_hj32_seed_two_two_product = pa_q_hj32_seed_two_two_product_start * S ((S (0)) * pa_v_hj32_seed_two_two_product) + (1))) /\ ((((exists pa_h_hj32_seed_two_two_product_terminal. pa_h_hj32_seed_two_two_product_terminal + S (4) = S ((S (2)) * pa_v_hj32_seed_two_two_product)) /\ exists pa_q_hj32_seed_two_two_product_terminal. pa_u_hj32_seed_two_two_product = pa_q_hj32_seed_two_two_product_terminal * S ((S (2)) * pa_v_hj32_seed_two_two_product) + (4))) /\ forall pa_i_hj32_seed_two_two_product. (exists pa_lt_hj32_seed_two_two_product_bound. pa_lt_hj32_seed_two_two_product_bound + S pa_i_hj32_seed_two_two_product = 2) -> exists pa_p_hj32_seed_two_two_product pa_r_hj32_seed_two_two_product pa_s_hj32_seed_two_two_product. ((((exists pa_h_hj32_seed_two_two_product_factor. pa_h_hj32_seed_two_two_product_factor + S (pa_p_hj32_seed_two_two_product) = S ((S (pa_i_hj32_seed_two_two_product)) * pa_c_hj32_seed_two_two)) /\ exists pa_q_hj32_seed_two_two_product_factor. pa_b_hj32_seed_two_two = pa_q_hj32_seed_two_two_product_factor * S ((S (pa_i_hj32_seed_two_two_product)) * pa_c_hj32_seed_two_two) + (pa_p_hj32_seed_two_two_product))) /\ ((((exists pa_h_hj32_seed_two_two_product_partial. pa_h_hj32_seed_two_two_product_partial + S (pa_r_hj32_seed_two_two_product) = S ((S (pa_i_hj32_seed_two_two_product)) * pa_v_hj32_seed_two_two_product)) /\ exists pa_q_hj32_seed_two_two_product_partial. pa_u_hj32_seed_two_two_product = pa_q_hj32_seed_two_two_product_partial * S ((S (pa_i_hj32_seed_two_two_product)) * pa_v_hj32_seed_two_two_product) + (pa_r_hj32_seed_two_two_product))) /\ ((((exists pa_h_hj32_seed_two_two_product_successor. pa_h_hj32_seed_two_two_product_successor + S (pa_s_hj32_seed_two_two_product) = S ((S (S pa_i_hj32_seed_two_two_product)) * pa_v_hj32_seed_two_two_product)) /\ exists pa_q_hj32_seed_two_two_product_successor. pa_u_hj32_seed_two_two_product = pa_q_hj32_seed_two_two_product_successor * S ((S (S pa_i_hj32_seed_two_two_product)) * pa_v_hj32_seed_two_two_product) + (pa_s_hj32_seed_two_two_product))) /\ pa_s_hj32_seed_two_two_product = pa_r_hj32_seed_two_two_product * pa_p_hj32_seed_two_two_product)))))))) /\ (exists pa_b_hj32_seed_two_seven pa_c_hj32_seed_two_seven. ((forall pa_i_hj32_seed_two_seven_repeat. (exists pa_lt_hj32_seed_two_seven_repeat_bound. pa_lt_hj32_seed_two_seven_repeat_bound + S pa_i_hj32_seed_two_seven_repeat = 7) -> (((exists pa_h_hj32_seed_two_seven_repeat_decoded. pa_h_hj32_seed_two_seven_repeat_decoded + S (2) = S ((S (pa_i_hj32_seed_two_seven_repeat)) * pa_c_hj32_seed_two_seven)) /\ exists pa_q_hj32_seed_two_seven_repeat_decoded. pa_b_hj32_seed_two_seven = pa_q_hj32_seed_two_seven_repeat_decoded * S ((S (pa_i_hj32_seed_two_seven_repeat)) * pa_c_hj32_seed_two_seven) + (2)))) /\ (exists pa_u_hj32_seed_two_seven_product pa_v_hj32_seed_two_seven_product. ((((exists pa_h_hj32_seed_two_seven_product_start. pa_h_hj32_seed_two_seven_product_start + S (1) = S ((S (0)) * pa_v_hj32_seed_two_seven_product)) /\ exists pa_q_hj32_seed_two_seven_product_start. pa_u_hj32_seed_two_seven_product = pa_q_hj32_seed_two_seven_product_start * S ((S (0)) * pa_v_hj32_seed_two_seven_product) + (1))) /\ ((((exists pa_h_hj32_seed_two_seven_product_terminal. pa_h_hj32_seed_two_seven_product_terminal + S (128) = S ((S (7)) * pa_v_hj32_seed_two_seven_product)) /\ exists pa_q_hj32_seed_two_seven_product_terminal. pa_u_hj32_seed_two_seven_product = pa_q_hj32_seed_two_seven_product_terminal * S ((S (7)) * pa_v_hj32_seed_two_seven_product) + (128))) /\ forall pa_i_hj32_seed_two_seven_product. (exists pa_lt_hj32_seed_two_seven_product_bound. pa_lt_hj32_seed_two_seven_product_bound + S pa_i_hj32_seed_two_seven_product = 7) -> exists pa_p_hj32_seed_two_seven_product pa_r_hj32_seed_two_seven_product pa_s_hj32_seed_two_seven_product. ((((exists pa_h_hj32_seed_two_seven_product_factor. pa_h_hj32_seed_two_seven_product_factor + S (pa_p_hj32_seed_two_seven_product) = S ((S (pa_i_hj32_seed_two_seven_product)) * pa_c_hj32_seed_two_seven)) /\ exists pa_q_hj32_seed_two_seven_product_factor. pa_b_hj32_seed_two_seven = pa_q_hj32_seed_two_seven_product_factor * S ((S (pa_i_hj32_seed_two_seven_product)) * pa_c_hj32_seed_two_seven) + (pa_p_hj32_seed_two_seven_product))) /\ ((((exists pa_h_hj32_seed_two_seven_product_partial. pa_h_hj32_seed_two_seven_product_partial + S (pa_r_hj32_seed_two_seven_product) = S ((S (pa_i_hj32_seed_two_seven_product)) * pa_v_hj32_seed_two_seven_product)) /\ exists pa_q_hj32_seed_two_seven_product_partial. pa_u_hj32_seed_two_seven_product = pa_q_hj32_seed_two_seven_product_partial * S ((S (pa_i_hj32_seed_two_seven_product)) * pa_v_hj32_seed_two_seven_product) + (pa_r_hj32_seed_two_seven_product))) /\ ((((exists pa_h_hj32_seed_two_seven_product_successor. pa_h_hj32_seed_two_seven_product_successor + S (pa_s_hj32_seed_two_seven_product) = S ((S (S pa_i_hj32_seed_two_seven_product)) * pa_v_hj32_seed_two_seven_product)) /\ exists pa_q_hj32_seed_two_seven_product_successor. pa_u_hj32_seed_two_seven_product = pa_q_hj32_seed_two_seven_product_successor * S ((S (S pa_i_hj32_seed_two_seven_product)) * pa_v_hj32_seed_two_seven_product) + (pa_s_hj32_seed_two_seven_product))) /\ pa_s_hj32_seed_two_seven_product = pa_r_hj32_seed_two_seven_product * pa_p_hj32_seed_two_seven_product))))))))
  8. 0008apply pow_two_seed_bundle_from_total
  9. 0009exact htotal
  10. 0010cases td_seeds
  11. 0011have td_bridge : y = x
  12. 0012specialize pow_mul_exp_from_total 2
  13. 0013specialize pow_mul_exp_from_total 2
  14. 0014specialize pow_mul_exp_from_total k
  15. 0015specialize pow_mul_exp_from_total (2 * k)
  16. 0016specialize pow_mul_exp_from_total 4
  17. 0017specialize pow_mul_exp_from_total y
  18. 0018specialize pow_mul_exp_from_total x
  19. 0019apply pow_mul_exp_from_total
  20. 0020exact htotal
  21. 0021refl
  22. 0022exact td_seeds_left
  23. 0023exact hy
  24. 0024exact hx
  25. 0025symm
  26. 0026exact td_bridge