BT00WO

pow_thirty_six_double_block_eq_pow_six_four_block_from_total

Alpha body-checked ยท checked-use disabled

A double block of base thirty six is a fourfold block of base six.

Exact expanded PA statement

forall m x y. (forall bpt_a_hj32_thirty_six_block bpt_e_hj32_thirty_six_block. exists bpt_x_hj32_thirty_six_block. (exists ff_b_bpt_value_hj32_thirty_six_block ff_c_bpt_value_hj32_thirty_six_block. ((forall ff_i_bpt_value_hj32_thirty_six_block_repeat. (exists ff_lt_bpt_value_hj32_thirty_six_block_repeat_bound. ff_lt_bpt_value_hj32_thirty_six_block_repeat_bound + S ff_i_bpt_value_hj32_thirty_six_block_repeat = bpt_e_hj32_thirty_six_block) -> (((exists ff_h_bpt_value_hj32_thirty_six_block_repeat_decoded. ff_h_bpt_value_hj32_thirty_six_block_repeat_decoded + S (bpt_a_hj32_thirty_six_block) = S ((S (ff_i_bpt_value_hj32_thirty_six_block_repeat)) * ff_c_bpt_value_hj32_thirty_six_block)) /\ exists ff_q_bpt_value_hj32_thirty_six_block_repeat_decoded. ff_b_bpt_value_hj32_thirty_six_block = ff_q_bpt_value_hj32_thirty_six_block_repeat_decoded * S ((S (ff_i_bpt_value_hj32_thirty_six_block_repeat)) * ff_c_bpt_value_hj32_thirty_six_block) + (bpt_a_hj32_thirty_six_block)))) /\ (exists ff_u_bpt_value_hj32_thirty_six_block_product ff_v_bpt_value_hj32_thirty_six_block_product. ((((exists ff_h_bpt_value_hj32_thirty_six_block_product_start. ff_h_bpt_value_hj32_thirty_six_block_product_start + S (1) = S ((S (0)) * ff_v_bpt_value_hj32_thirty_six_block_product)) /\ exists ff_q_bpt_value_hj32_thirty_six_block_product_start. ff_u_bpt_value_hj32_thirty_six_block_product = ff_q_bpt_value_hj32_thirty_six_block_product_start * S ((S (0)) * ff_v_bpt_value_hj32_thirty_six_block_product) + (1))) /\ ((((exists ff_h_bpt_value_hj32_thirty_six_block_product_terminal. ff_h_bpt_value_hj32_thirty_six_block_product_terminal + S (bpt_x_hj32_thirty_six_block) = S ((S (bpt_e_hj32_thirty_six_block)) * ff_v_bpt_value_hj32_thirty_six_block_product)) /\ exists ff_q_bpt_value_hj32_thirty_six_block_product_terminal. ff_u_bpt_value_hj32_thirty_six_block_product = ff_q_bpt_value_hj32_thirty_six_block_product_terminal * S ((S (bpt_e_hj32_thirty_six_block)) * ff_v_bpt_value_hj32_thirty_six_block_product) + (bpt_x_hj32_thirty_six_block))) /\ forall ff_i_bpt_value_hj32_thirty_six_block_product. (exists ff_lt_bpt_value_hj32_thirty_six_block_product_bound. ff_lt_bpt_value_hj32_thirty_six_block_product_bound + S ff_i_bpt_value_hj32_thirty_six_block_product = bpt_e_hj32_thirty_six_block) -> exists ff_p_bpt_value_hj32_thirty_six_block_product ff_r_bpt_value_hj32_thirty_six_block_product ff_s_bpt_value_hj32_thirty_six_block_product. ((((exists ff_h_bpt_value_hj32_thirty_six_block_product_factor. ff_h_bpt_value_hj32_thirty_six_block_product_factor + S (ff_p_bpt_value_hj32_thirty_six_block_product) = S ((S (ff_i_bpt_value_hj32_thirty_six_block_product)) * ff_c_bpt_value_hj32_thirty_six_block)) /\ exists ff_q_bpt_value_hj32_thirty_six_block_product_factor. ff_b_bpt_value_hj32_thirty_six_block = ff_q_bpt_value_hj32_thirty_six_block_product_factor * S ((S (ff_i_bpt_value_hj32_thirty_six_block_product)) * ff_c_bpt_value_hj32_thirty_six_block) + (ff_p_bpt_value_hj32_thirty_six_block_product))) /\ ((((exists ff_h_bpt_value_hj32_thirty_six_block_product_partial. ff_h_bpt_value_hj32_thirty_six_block_product_partial + S (ff_r_bpt_value_hj32_thirty_six_block_product) = S ((S (ff_i_bpt_value_hj32_thirty_six_block_product)) * ff_v_bpt_value_hj32_thirty_six_block_product)) /\ exists ff_q_bpt_value_hj32_thirty_six_block_product_partial. ff_u_bpt_value_hj32_thirty_six_block_product = ff_q_bpt_value_hj32_thirty_six_block_product_partial * S ((S (ff_i_bpt_value_hj32_thirty_six_block_product)) * ff_v_bpt_value_hj32_thirty_six_block_product) + (ff_r_bpt_value_hj32_thirty_six_block_product))) /\ ((((exists ff_h_bpt_value_hj32_thirty_six_block_product_successor. ff_h_bpt_value_hj32_thirty_six_block_product_successor + S (ff_s_bpt_value_hj32_thirty_six_block_product) = S ((S (S ff_i_bpt_value_hj32_thirty_six_block_product)) * ff_v_bpt_value_hj32_thirty_six_block_product)) /\ exists ff_q_bpt_value_hj32_thirty_six_block_product_successor. ff_u_bpt_value_hj32_thirty_six_block_product = ff_q_bpt_value_hj32_thirty_six_block_product_successor * S ((S (S ff_i_bpt_value_hj32_thirty_six_block_product)) * ff_v_bpt_value_hj32_thirty_six_block_product) + (ff_s_bpt_value_hj32_thirty_six_block_product))) /\ ff_s_bpt_value_hj32_thirty_six_block_product = ff_r_bpt_value_hj32_thirty_six_block_product * ff_p_bpt_value_hj32_thirty_six_block_product))))))))) -> (exists pa_b_hj32_thirty_six_left pa_c_hj32_thirty_six_left. ((forall pa_i_hj32_thirty_six_left_repeat. (exists pa_lt_hj32_thirty_six_left_repeat_bound. pa_lt_hj32_thirty_six_left_repeat_bound + S pa_i_hj32_thirty_six_left_repeat = 2 * m) -> (((exists pa_h_hj32_thirty_six_left_repeat_decoded. pa_h_hj32_thirty_six_left_repeat_decoded + S (36) = S ((S (pa_i_hj32_thirty_six_left_repeat)) * pa_c_hj32_thirty_six_left)) /\ exists pa_q_hj32_thirty_six_left_repeat_decoded. pa_b_hj32_thirty_six_left = pa_q_hj32_thirty_six_left_repeat_decoded * S ((S (pa_i_hj32_thirty_six_left_repeat)) * pa_c_hj32_thirty_six_left) + (36)))) /\ (exists pa_u_hj32_thirty_six_left_product pa_v_hj32_thirty_six_left_product. ((((exists pa_h_hj32_thirty_six_left_product_start. pa_h_hj32_thirty_six_left_product_start + S (1) = S ((S (0)) * pa_v_hj32_thirty_six_left_product)) /\ exists pa_q_hj32_thirty_six_left_product_start. pa_u_hj32_thirty_six_left_product = pa_q_hj32_thirty_six_left_product_start * S ((S (0)) * pa_v_hj32_thirty_six_left_product) + (1))) /\ ((((exists pa_h_hj32_thirty_six_left_product_terminal. pa_h_hj32_thirty_six_left_product_terminal + S (x) = S ((S (2 * m)) * pa_v_hj32_thirty_six_left_product)) /\ exists pa_q_hj32_thirty_six_left_product_terminal. pa_u_hj32_thirty_six_left_product = pa_q_hj32_thirty_six_left_product_terminal * S ((S (2 * m)) * pa_v_hj32_thirty_six_left_product) + (x))) /\ forall pa_i_hj32_thirty_six_left_product. (exists pa_lt_hj32_thirty_six_left_product_bound. pa_lt_hj32_thirty_six_left_product_bound + S pa_i_hj32_thirty_six_left_product = 2 * m) -> exists pa_p_hj32_thirty_six_left_product pa_r_hj32_thirty_six_left_product pa_s_hj32_thirty_six_left_product. ((((exists pa_h_hj32_thirty_six_left_product_factor. pa_h_hj32_thirty_six_left_product_factor + S (pa_p_hj32_thirty_six_left_product) = S ((S (pa_i_hj32_thirty_six_left_product)) * pa_c_hj32_thirty_six_left)) /\ exists pa_q_hj32_thirty_six_left_product_factor. pa_b_hj32_thirty_six_left = pa_q_hj32_thirty_six_left_product_factor * S ((S (pa_i_hj32_thirty_six_left_product)) * pa_c_hj32_thirty_six_left) + (pa_p_hj32_thirty_six_left_product))) /\ ((((exists pa_h_hj32_thirty_six_left_product_partial. pa_h_hj32_thirty_six_left_product_partial + S (pa_r_hj32_thirty_six_left_product) = S ((S (pa_i_hj32_thirty_six_left_product)) * pa_v_hj32_thirty_six_left_product)) /\ exists pa_q_hj32_thirty_six_left_product_partial. pa_u_hj32_thirty_six_left_product = pa_q_hj32_thirty_six_left_product_partial * S ((S (pa_i_hj32_thirty_six_left_product)) * pa_v_hj32_thirty_six_left_product) + (pa_r_hj32_thirty_six_left_product))) /\ ((((exists pa_h_hj32_thirty_six_left_product_successor. pa_h_hj32_thirty_six_left_product_successor + S (pa_s_hj32_thirty_six_left_product) = S ((S (S pa_i_hj32_thirty_six_left_product)) * pa_v_hj32_thirty_six_left_product)) /\ exists pa_q_hj32_thirty_six_left_product_successor. pa_u_hj32_thirty_six_left_product = pa_q_hj32_thirty_six_left_product_successor * S ((S (S pa_i_hj32_thirty_six_left_product)) * pa_v_hj32_thirty_six_left_product) + (pa_s_hj32_thirty_six_left_product))) /\ pa_s_hj32_thirty_six_left_product = pa_r_hj32_thirty_six_left_product * pa_p_hj32_thirty_six_left_product)))))))) -> (exists pa_b_hj32_thirty_six_right pa_c_hj32_thirty_six_right. ((forall pa_i_hj32_thirty_six_right_repeat. (exists pa_lt_hj32_thirty_six_right_repeat_bound. pa_lt_hj32_thirty_six_right_repeat_bound + S pa_i_hj32_thirty_six_right_repeat = 4 * m) -> (((exists pa_h_hj32_thirty_six_right_repeat_decoded. pa_h_hj32_thirty_six_right_repeat_decoded + S (6) = S ((S (pa_i_hj32_thirty_six_right_repeat)) * pa_c_hj32_thirty_six_right)) /\ exists pa_q_hj32_thirty_six_right_repeat_decoded. pa_b_hj32_thirty_six_right = pa_q_hj32_thirty_six_right_repeat_decoded * S ((S (pa_i_hj32_thirty_six_right_repeat)) * pa_c_hj32_thirty_six_right) + (6)))) /\ (exists pa_u_hj32_thirty_six_right_product pa_v_hj32_thirty_six_right_product. ((((exists pa_h_hj32_thirty_six_right_product_start. pa_h_hj32_thirty_six_right_product_start + S (1) = S ((S (0)) * pa_v_hj32_thirty_six_right_product)) /\ exists pa_q_hj32_thirty_six_right_product_start. pa_u_hj32_thirty_six_right_product = pa_q_hj32_thirty_six_right_product_start * S ((S (0)) * pa_v_hj32_thirty_six_right_product) + (1))) /\ ((((exists pa_h_hj32_thirty_six_right_product_terminal. pa_h_hj32_thirty_six_right_product_terminal + S (y) = S ((S (4 * m)) * pa_v_hj32_thirty_six_right_product)) /\ exists pa_q_hj32_thirty_six_right_product_terminal. pa_u_hj32_thirty_six_right_product = pa_q_hj32_thirty_six_right_product_terminal * S ((S (4 * m)) * pa_v_hj32_thirty_six_right_product) + (y))) /\ forall pa_i_hj32_thirty_six_right_product. (exists pa_lt_hj32_thirty_six_right_product_bound. pa_lt_hj32_thirty_six_right_product_bound + S pa_i_hj32_thirty_six_right_product = 4 * m) -> exists pa_p_hj32_thirty_six_right_product pa_r_hj32_thirty_six_right_product pa_s_hj32_thirty_six_right_product. ((((exists pa_h_hj32_thirty_six_right_product_factor. pa_h_hj32_thirty_six_right_product_factor + S (pa_p_hj32_thirty_six_right_product) = S ((S (pa_i_hj32_thirty_six_right_product)) * pa_c_hj32_thirty_six_right)) /\ exists pa_q_hj32_thirty_six_right_product_factor. pa_b_hj32_thirty_six_right = pa_q_hj32_thirty_six_right_product_factor * S ((S (pa_i_hj32_thirty_six_right_product)) * pa_c_hj32_thirty_six_right) + (pa_p_hj32_thirty_six_right_product))) /\ ((((exists pa_h_hj32_thirty_six_right_product_partial. pa_h_hj32_thirty_six_right_product_partial + S (pa_r_hj32_thirty_six_right_product) = S ((S (pa_i_hj32_thirty_six_right_product)) * pa_v_hj32_thirty_six_right_product)) /\ exists pa_q_hj32_thirty_six_right_product_partial. pa_u_hj32_thirty_six_right_product = pa_q_hj32_thirty_six_right_product_partial * S ((S (pa_i_hj32_thirty_six_right_product)) * pa_v_hj32_thirty_six_right_product) + (pa_r_hj32_thirty_six_right_product))) /\ ((((exists pa_h_hj32_thirty_six_right_product_successor. pa_h_hj32_thirty_six_right_product_successor + S (pa_s_hj32_thirty_six_right_product) = S ((S (S pa_i_hj32_thirty_six_right_product)) * pa_v_hj32_thirty_six_right_product)) /\ exists pa_q_hj32_thirty_six_right_product_successor. pa_u_hj32_thirty_six_right_product = pa_q_hj32_thirty_six_right_product_successor * S ((S (S pa_i_hj32_thirty_six_right_product)) * pa_v_hj32_thirty_six_right_product) + (pa_s_hj32_thirty_six_right_product))) /\ pa_s_hj32_thirty_six_right_product = pa_r_hj32_thirty_six_right_product * pa_p_hj32_thirty_six_right_product)))))))) -> x = y

Structural proof guide

A double block of base thirty six is a fourfold block of base six.

Direct prerequisites: pow_two, pow_mul_exp_from_total, mul_assoc. The authored body proceeds by case analysis (1), intermediate claims (6), equality transport (3), closed numeral normalization (2).

Proof neighborhood

Direct dependencies

Direct dependents

Formal native tactic body

Dependencies are hypotheses of this body receipt. The focused endpoint audits separately check the complete empty-context certificates.

  1. 0001intro m
  2. 0002intro x
  3. 0003intro y
  4. 0004intro htotal
  5. 0005intro hx
  6. 0006intro hy
  7. 0007have ts_seed_any : exists ts_value. (exists pa_b_hj32_ts_seed_any pa_c_hj32_ts_seed_any. ((forall pa_i_hj32_ts_seed_any_repeat. (exists pa_lt_hj32_ts_seed_any_repeat_bound. pa_lt_hj32_ts_seed_any_repeat_bound + S pa_i_hj32_ts_seed_any_repeat = 2) -> (((exists pa_h_hj32_ts_seed_any_repeat_decoded. pa_h_hj32_ts_seed_any_repeat_decoded + S (6) = S ((S (pa_i_hj32_ts_seed_any_repeat)) * pa_c_hj32_ts_seed_any)) /\ exists pa_q_hj32_ts_seed_any_repeat_decoded. pa_b_hj32_ts_seed_any = pa_q_hj32_ts_seed_any_repeat_decoded * S ((S (pa_i_hj32_ts_seed_any_repeat)) * pa_c_hj32_ts_seed_any) + (6)))) /\ (exists pa_u_hj32_ts_seed_any_product pa_v_hj32_ts_seed_any_product. ((((exists pa_h_hj32_ts_seed_any_product_start. pa_h_hj32_ts_seed_any_product_start + S (1) = S ((S (0)) * pa_v_hj32_ts_seed_any_product)) /\ exists pa_q_hj32_ts_seed_any_product_start. pa_u_hj32_ts_seed_any_product = pa_q_hj32_ts_seed_any_product_start * S ((S (0)) * pa_v_hj32_ts_seed_any_product) + (1))) /\ ((((exists pa_h_hj32_ts_seed_any_product_terminal. pa_h_hj32_ts_seed_any_product_terminal + S (ts_value) = S ((S (2)) * pa_v_hj32_ts_seed_any_product)) /\ exists pa_q_hj32_ts_seed_any_product_terminal. pa_u_hj32_ts_seed_any_product = pa_q_hj32_ts_seed_any_product_terminal * S ((S (2)) * pa_v_hj32_ts_seed_any_product) + (ts_value))) /\ forall pa_i_hj32_ts_seed_any_product. (exists pa_lt_hj32_ts_seed_any_product_bound. pa_lt_hj32_ts_seed_any_product_bound + S pa_i_hj32_ts_seed_any_product = 2) -> exists pa_p_hj32_ts_seed_any_product pa_r_hj32_ts_seed_any_product pa_s_hj32_ts_seed_any_product. ((((exists pa_h_hj32_ts_seed_any_product_factor. pa_h_hj32_ts_seed_any_product_factor + S (pa_p_hj32_ts_seed_any_product) = S ((S (pa_i_hj32_ts_seed_any_product)) * pa_c_hj32_ts_seed_any)) /\ exists pa_q_hj32_ts_seed_any_product_factor. pa_b_hj32_ts_seed_any = pa_q_hj32_ts_seed_any_product_factor * S ((S (pa_i_hj32_ts_seed_any_product)) * pa_c_hj32_ts_seed_any) + (pa_p_hj32_ts_seed_any_product))) /\ ((((exists pa_h_hj32_ts_seed_any_product_partial. pa_h_hj32_ts_seed_any_product_partial + S (pa_r_hj32_ts_seed_any_product) = S ((S (pa_i_hj32_ts_seed_any_product)) * pa_v_hj32_ts_seed_any_product)) /\ exists pa_q_hj32_ts_seed_any_product_partial. pa_u_hj32_ts_seed_any_product = pa_q_hj32_ts_seed_any_product_partial * S ((S (pa_i_hj32_ts_seed_any_product)) * pa_v_hj32_ts_seed_any_product) + (pa_r_hj32_ts_seed_any_product))) /\ ((((exists pa_h_hj32_ts_seed_any_product_successor. pa_h_hj32_ts_seed_any_product_successor + S (pa_s_hj32_ts_seed_any_product) = S ((S (S pa_i_hj32_ts_seed_any_product)) * pa_v_hj32_ts_seed_any_product)) /\ exists pa_q_hj32_ts_seed_any_product_successor. pa_u_hj32_ts_seed_any_product = pa_q_hj32_ts_seed_any_product_successor * S ((S (S pa_i_hj32_ts_seed_any_product)) * pa_v_hj32_ts_seed_any_product) + (pa_s_hj32_ts_seed_any_product))) /\ pa_s_hj32_ts_seed_any_product = pa_r_hj32_ts_seed_any_product * pa_p_hj32_ts_seed_any_product))))))))
  8. 0008specialize htotal 6
  9. 0009specialize htotal 2
  10. 0010exact htotal
  11. 0011cases ts_seed_any
  12. 0012have ts_value : x1 = 36
  13. 0013have ts_square : x1 = 6 * 6
  14. 0014specialize pow_two 6
  15. 0015specialize pow_two 2
  16. 0016specialize pow_two x1
  17. 0017apply pow_two
  18. 0018refl
  19. 0019exact ts_seed_any_witness
  20. 0020trans 6 * 6
  21. 0021exact ts_square
  22. 0022norm_num
  23. 0023have ts_seed : exists pa_b_hj32_ts_seed pa_c_hj32_ts_seed. ((forall pa_i_hj32_ts_seed_repeat. (exists pa_lt_hj32_ts_seed_repeat_bound. pa_lt_hj32_ts_seed_repeat_bound + S pa_i_hj32_ts_seed_repeat = 2) -> (((exists pa_h_hj32_ts_seed_repeat_decoded. pa_h_hj32_ts_seed_repeat_decoded + S (6) = S ((S (pa_i_hj32_ts_seed_repeat)) * pa_c_hj32_ts_seed)) /\ exists pa_q_hj32_ts_seed_repeat_decoded. pa_b_hj32_ts_seed = pa_q_hj32_ts_seed_repeat_decoded * S ((S (pa_i_hj32_ts_seed_repeat)) * pa_c_hj32_ts_seed) + (6)))) /\ (exists pa_u_hj32_ts_seed_product pa_v_hj32_ts_seed_product. ((((exists pa_h_hj32_ts_seed_product_start. pa_h_hj32_ts_seed_product_start + S (1) = S ((S (0)) * pa_v_hj32_ts_seed_product)) /\ exists pa_q_hj32_ts_seed_product_start. pa_u_hj32_ts_seed_product = pa_q_hj32_ts_seed_product_start * S ((S (0)) * pa_v_hj32_ts_seed_product) + (1))) /\ ((((exists pa_h_hj32_ts_seed_product_terminal. pa_h_hj32_ts_seed_product_terminal + S (36) = S ((S (2)) * pa_v_hj32_ts_seed_product)) /\ exists pa_q_hj32_ts_seed_product_terminal. pa_u_hj32_ts_seed_product = pa_q_hj32_ts_seed_product_terminal * S ((S (2)) * pa_v_hj32_ts_seed_product) + (36))) /\ forall pa_i_hj32_ts_seed_product. (exists pa_lt_hj32_ts_seed_product_bound. pa_lt_hj32_ts_seed_product_bound + S pa_i_hj32_ts_seed_product = 2) -> exists pa_p_hj32_ts_seed_product pa_r_hj32_ts_seed_product pa_s_hj32_ts_seed_product. ((((exists pa_h_hj32_ts_seed_product_factor. pa_h_hj32_ts_seed_product_factor + S (pa_p_hj32_ts_seed_product) = S ((S (pa_i_hj32_ts_seed_product)) * pa_c_hj32_ts_seed)) /\ exists pa_q_hj32_ts_seed_product_factor. pa_b_hj32_ts_seed = pa_q_hj32_ts_seed_product_factor * S ((S (pa_i_hj32_ts_seed_product)) * pa_c_hj32_ts_seed) + (pa_p_hj32_ts_seed_product))) /\ ((((exists pa_h_hj32_ts_seed_product_partial. pa_h_hj32_ts_seed_product_partial + S (pa_r_hj32_ts_seed_product) = S ((S (pa_i_hj32_ts_seed_product)) * pa_v_hj32_ts_seed_product)) /\ exists pa_q_hj32_ts_seed_product_partial. pa_u_hj32_ts_seed_product = pa_q_hj32_ts_seed_product_partial * S ((S (pa_i_hj32_ts_seed_product)) * pa_v_hj32_ts_seed_product) + (pa_r_hj32_ts_seed_product))) /\ ((((exists pa_h_hj32_ts_seed_product_successor. pa_h_hj32_ts_seed_product_successor + S (pa_s_hj32_ts_seed_product) = S ((S (S pa_i_hj32_ts_seed_product)) * pa_v_hj32_ts_seed_product)) /\ exists pa_q_hj32_ts_seed_product_successor. pa_u_hj32_ts_seed_product = pa_q_hj32_ts_seed_product_successor * S ((S (S pa_i_hj32_ts_seed_product)) * pa_v_hj32_ts_seed_product) + (pa_s_hj32_ts_seed_product))) /\ pa_s_hj32_ts_seed_product = pa_r_hj32_ts_seed_product * pa_p_hj32_ts_seed_product)))))))
  24. 0024rewrite <- ts_value
  25. 0025rewrite <- ts_value
  26. 0026exact ts_seed_any_witness
  27. 0027have ts_exponent : 4 * m = 2 * (2 * m)
  28. 0028have ts_four : 4 = 2 * 2
  29. 0029norm_num
  30. 0030rewrite ts_four
  31. 0031specialize mul_assoc 2
  32. 0032specialize mul_assoc 2
  33. 0033specialize mul_assoc m
  34. 0034apply mul_assoc
  35. 0035specialize pow_mul_exp_from_total 6
  36. 0036specialize pow_mul_exp_from_total 2
  37. 0037specialize pow_mul_exp_from_total (2 * m)
  38. 0038specialize pow_mul_exp_from_total (4 * m)
  39. 0039specialize pow_mul_exp_from_total 36
  40. 0040specialize pow_mul_exp_from_total x
  41. 0041specialize pow_mul_exp_from_total y
  42. 0042apply pow_mul_exp_from_total
  43. 0043exact htotal
  44. 0044exact ts_exponent
  45. 0045exact ts_seed
  46. 0046exact hx
  47. 0047exact hy