BT00W6 · Bertrand theorem

pow_six_ten_le_pow_four_thirteen_from_total

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

The block seed 6^10 <= 4^13 used by the finite H window.

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

∀ x. ∀ y. (∀ z. ∀ n. ∃ m. Pow(z,n,m)) → Pow(6,10,x)Pow(4,13,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

14 occurrences

Exact expanded native-PA statement
forall x y. (forall bpt_a_hj32_six_ten bpt_e_hj32_six_ten. exists bpt_x_hj32_six_ten. (exists ff_b_bpt_value_hj32_six_ten ff_c_bpt_value_hj32_six_ten. ((forall ff_i_bpt_value_hj32_six_ten_repeat. (exists ff_lt_bpt_value_hj32_six_ten_repeat_bound. ff_lt_bpt_value_hj32_six_ten_repeat_bound + S ff_i_bpt_value_hj32_six_ten_repeat = bpt_e_hj32_six_ten) -> (((exists ff_h_bpt_value_hj32_six_ten_repeat_decoded. ff_h_bpt_value_hj32_six_ten_repeat_decoded + S (bpt_a_hj32_six_ten) = S ((S (ff_i_bpt_value_hj32_six_ten_repeat)) * ff_c_bpt_value_hj32_six_ten)) /\ exists ff_q_bpt_value_hj32_six_ten_repeat_decoded. ff_b_bpt_value_hj32_six_ten = ff_q_bpt_value_hj32_six_ten_repeat_decoded * S ((S (ff_i_bpt_value_hj32_six_ten_repeat)) * ff_c_bpt_value_hj32_six_ten) + (bpt_a_hj32_six_ten)))) /\ (exists ff_u_bpt_value_hj32_six_ten_product ff_v_bpt_value_hj32_six_ten_product. ((((exists ff_h_bpt_value_hj32_six_ten_product_start. ff_h_bpt_value_hj32_six_ten_product_start + S (1) = S ((S (0)) * ff_v_bpt_value_hj32_six_ten_product)) /\ exists ff_q_bpt_value_hj32_six_ten_product_start. ff_u_bpt_value_hj32_six_ten_product = ff_q_bpt_value_hj32_six_ten_product_start * S ((S (0)) * ff_v_bpt_value_hj32_six_ten_product) + (1))) /\ ((((exists ff_h_bpt_value_hj32_six_ten_product_terminal. ff_h_bpt_value_hj32_six_ten_product_terminal + S (bpt_x_hj32_six_ten) = S ((S (bpt_e_hj32_six_ten)) * ff_v_bpt_value_hj32_six_ten_product)) /\ exists ff_q_bpt_value_hj32_six_ten_product_terminal. ff_u_bpt_value_hj32_six_ten_product = ff_q_bpt_value_hj32_six_ten_product_terminal * S ((S (bpt_e_hj32_six_ten)) * ff_v_bpt_value_hj32_six_ten_product) + (bpt_x_hj32_six_ten))) /\ forall ff_i_bpt_value_hj32_six_ten_product. (exists ff_lt_bpt_value_hj32_six_ten_product_bound. ff_lt_bpt_value_hj32_six_ten_product_bound + S ff_i_bpt_value_hj32_six_ten_product = bpt_e_hj32_six_ten) -> exists ff_p_bpt_value_hj32_six_ten_product ff_r_bpt_value_hj32_six_ten_product ff_s_bpt_value_hj32_six_ten_product. ((((exists ff_h_bpt_value_hj32_six_ten_product_factor. ff_h_bpt_value_hj32_six_ten_product_factor + S (ff_p_bpt_value_hj32_six_ten_product) = S ((S (ff_i_bpt_value_hj32_six_ten_product)) * ff_c_bpt_value_hj32_six_ten)) /\ exists ff_q_bpt_value_hj32_six_ten_product_factor. ff_b_bpt_value_hj32_six_ten = ff_q_bpt_value_hj32_six_ten_product_factor * S ((S (ff_i_bpt_value_hj32_six_ten_product)) * ff_c_bpt_value_hj32_six_ten) + (ff_p_bpt_value_hj32_six_ten_product))) /\ ((((exists ff_h_bpt_value_hj32_six_ten_product_partial. ff_h_bpt_value_hj32_six_ten_product_partial + S (ff_r_bpt_value_hj32_six_ten_product) = S ((S (ff_i_bpt_value_hj32_six_ten_product)) * ff_v_bpt_value_hj32_six_ten_product)) /\ exists ff_q_bpt_value_hj32_six_ten_product_partial. ff_u_bpt_value_hj32_six_ten_product = ff_q_bpt_value_hj32_six_ten_product_partial * S ((S (ff_i_bpt_value_hj32_six_ten_product)) * ff_v_bpt_value_hj32_six_ten_product) + (ff_r_bpt_value_hj32_six_ten_product))) /\ ((((exists ff_h_bpt_value_hj32_six_ten_product_successor. ff_h_bpt_value_hj32_six_ten_product_successor + S (ff_s_bpt_value_hj32_six_ten_product) = S ((S (S ff_i_bpt_value_hj32_six_ten_product)) * ff_v_bpt_value_hj32_six_ten_product)) /\ exists ff_q_bpt_value_hj32_six_ten_product_successor. ff_u_bpt_value_hj32_six_ten_product = ff_q_bpt_value_hj32_six_ten_product_successor * S ((S (S ff_i_bpt_value_hj32_six_ten_product)) * ff_v_bpt_value_hj32_six_ten_product) + (ff_s_bpt_value_hj32_six_ten_product))) /\ ff_s_bpt_value_hj32_six_ten_product = ff_r_bpt_value_hj32_six_ten_product * ff_p_bpt_value_hj32_six_ten_product))))))))) -> (exists pa_b_hj32_six_ten_left pa_c_hj32_six_ten_left. ((forall pa_i_hj32_six_ten_left_repeat. (exists pa_lt_hj32_six_ten_left_repeat_bound. pa_lt_hj32_six_ten_left_repeat_bound + S pa_i_hj32_six_ten_left_repeat = 10) -> (((exists pa_h_hj32_six_ten_left_repeat_decoded. pa_h_hj32_six_ten_left_repeat_decoded + S (6) = S ((S (pa_i_hj32_six_ten_left_repeat)) * pa_c_hj32_six_ten_left)) /\ exists pa_q_hj32_six_ten_left_repeat_decoded. pa_b_hj32_six_ten_left = pa_q_hj32_six_ten_left_repeat_decoded * S ((S (pa_i_hj32_six_ten_left_repeat)) * pa_c_hj32_six_ten_left) + (6)))) /\ (exists pa_u_hj32_six_ten_left_product pa_v_hj32_six_ten_left_product. ((((exists pa_h_hj32_six_ten_left_product_start. pa_h_hj32_six_ten_left_product_start + S (1) = S ((S (0)) * pa_v_hj32_six_ten_left_product)) /\ exists pa_q_hj32_six_ten_left_product_start. pa_u_hj32_six_ten_left_product = pa_q_hj32_six_ten_left_product_start * S ((S (0)) * pa_v_hj32_six_ten_left_product) + (1))) /\ ((((exists pa_h_hj32_six_ten_left_product_terminal. pa_h_hj32_six_ten_left_product_terminal + S (x) = S ((S (10)) * pa_v_hj32_six_ten_left_product)) /\ exists pa_q_hj32_six_ten_left_product_terminal. pa_u_hj32_six_ten_left_product = pa_q_hj32_six_ten_left_product_terminal * S ((S (10)) * pa_v_hj32_six_ten_left_product) + (x))) /\ forall pa_i_hj32_six_ten_left_product. (exists pa_lt_hj32_six_ten_left_product_bound. pa_lt_hj32_six_ten_left_product_bound + S pa_i_hj32_six_ten_left_product = 10) -> exists pa_p_hj32_six_ten_left_product pa_r_hj32_six_ten_left_product pa_s_hj32_six_ten_left_product. ((((exists pa_h_hj32_six_ten_left_product_factor. pa_h_hj32_six_ten_left_product_factor + S (pa_p_hj32_six_ten_left_product) = S ((S (pa_i_hj32_six_ten_left_product)) * pa_c_hj32_six_ten_left)) /\ exists pa_q_hj32_six_ten_left_product_factor. pa_b_hj32_six_ten_left = pa_q_hj32_six_ten_left_product_factor * S ((S (pa_i_hj32_six_ten_left_product)) * pa_c_hj32_six_ten_left) + (pa_p_hj32_six_ten_left_product))) /\ ((((exists pa_h_hj32_six_ten_left_product_partial. pa_h_hj32_six_ten_left_product_partial + S (pa_r_hj32_six_ten_left_product) = S ((S (pa_i_hj32_six_ten_left_product)) * pa_v_hj32_six_ten_left_product)) /\ exists pa_q_hj32_six_ten_left_product_partial. pa_u_hj32_six_ten_left_product = pa_q_hj32_six_ten_left_product_partial * S ((S (pa_i_hj32_six_ten_left_product)) * pa_v_hj32_six_ten_left_product) + (pa_r_hj32_six_ten_left_product))) /\ ((((exists pa_h_hj32_six_ten_left_product_successor. pa_h_hj32_six_ten_left_product_successor + S (pa_s_hj32_six_ten_left_product) = S ((S (S pa_i_hj32_six_ten_left_product)) * pa_v_hj32_six_ten_left_product)) /\ exists pa_q_hj32_six_ten_left_product_successor. pa_u_hj32_six_ten_left_product = pa_q_hj32_six_ten_left_product_successor * S ((S (S pa_i_hj32_six_ten_left_product)) * pa_v_hj32_six_ten_left_product) + (pa_s_hj32_six_ten_left_product))) /\ pa_s_hj32_six_ten_left_product = pa_r_hj32_six_ten_left_product * pa_p_hj32_six_ten_left_product)))))))) -> (exists pa_b_hj32_six_ten_right pa_c_hj32_six_ten_right. ((forall pa_i_hj32_six_ten_right_repeat. (exists pa_lt_hj32_six_ten_right_repeat_bound. pa_lt_hj32_six_ten_right_repeat_bound + S pa_i_hj32_six_ten_right_repeat = 13) -> (((exists pa_h_hj32_six_ten_right_repeat_decoded. pa_h_hj32_six_ten_right_repeat_decoded + S (4) = S ((S (pa_i_hj32_six_ten_right_repeat)) * pa_c_hj32_six_ten_right)) /\ exists pa_q_hj32_six_ten_right_repeat_decoded. pa_b_hj32_six_ten_right = pa_q_hj32_six_ten_right_repeat_decoded * S ((S (pa_i_hj32_six_ten_right_repeat)) * pa_c_hj32_six_ten_right) + (4)))) /\ (exists pa_u_hj32_six_ten_right_product pa_v_hj32_six_ten_right_product. ((((exists pa_h_hj32_six_ten_right_product_start. pa_h_hj32_six_ten_right_product_start + S (1) = S ((S (0)) * pa_v_hj32_six_ten_right_product)) /\ exists pa_q_hj32_six_ten_right_product_start. pa_u_hj32_six_ten_right_product = pa_q_hj32_six_ten_right_product_start * S ((S (0)) * pa_v_hj32_six_ten_right_product) + (1))) /\ ((((exists pa_h_hj32_six_ten_right_product_terminal. pa_h_hj32_six_ten_right_product_terminal + S (y) = S ((S (13)) * pa_v_hj32_six_ten_right_product)) /\ exists pa_q_hj32_six_ten_right_product_terminal. pa_u_hj32_six_ten_right_product = pa_q_hj32_six_ten_right_product_terminal * S ((S (13)) * pa_v_hj32_six_ten_right_product) + (y))) /\ forall pa_i_hj32_six_ten_right_product. (exists pa_lt_hj32_six_ten_right_product_bound. pa_lt_hj32_six_ten_right_product_bound + S pa_i_hj32_six_ten_right_product = 13) -> exists pa_p_hj32_six_ten_right_product pa_r_hj32_six_ten_right_product pa_s_hj32_six_ten_right_product. ((((exists pa_h_hj32_six_ten_right_product_factor. pa_h_hj32_six_ten_right_product_factor + S (pa_p_hj32_six_ten_right_product) = S ((S (pa_i_hj32_six_ten_right_product)) * pa_c_hj32_six_ten_right)) /\ exists pa_q_hj32_six_ten_right_product_factor. pa_b_hj32_six_ten_right = pa_q_hj32_six_ten_right_product_factor * S ((S (pa_i_hj32_six_ten_right_product)) * pa_c_hj32_six_ten_right) + (pa_p_hj32_six_ten_right_product))) /\ ((((exists pa_h_hj32_six_ten_right_product_partial. pa_h_hj32_six_ten_right_product_partial + S (pa_r_hj32_six_ten_right_product) = S ((S (pa_i_hj32_six_ten_right_product)) * pa_v_hj32_six_ten_right_product)) /\ exists pa_q_hj32_six_ten_right_product_partial. pa_u_hj32_six_ten_right_product = pa_q_hj32_six_ten_right_product_partial * S ((S (pa_i_hj32_six_ten_right_product)) * pa_v_hj32_six_ten_right_product) + (pa_r_hj32_six_ten_right_product))) /\ ((((exists pa_h_hj32_six_ten_right_product_successor. pa_h_hj32_six_ten_right_product_successor + S (pa_s_hj32_six_ten_right_product) = S ((S (S pa_i_hj32_six_ten_right_product)) * pa_v_hj32_six_ten_right_product)) /\ exists pa_q_hj32_six_ten_right_product_successor. pa_u_hj32_six_ten_right_product = pa_q_hj32_six_ten_right_product_successor * S ((S (S pa_i_hj32_six_ten_right_product)) * pa_v_hj32_six_ten_right_product) + (pa_s_hj32_six_ten_right_product))) /\ pa_s_hj32_six_ten_right_product = pa_r_hj32_six_ten_right_product * pa_p_hj32_six_ten_right_product)))))))) -> (exists bqb_le_gap_hj32_six_ten_result. bqb_le_gap_hj32_six_ten_result + (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

136 script commands · 35 reading checkpoints · 19 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 (8)
01Fix variables and assumptionsL1–5

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

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

Establish this local claim before using it. It is not an additional assumption.

  1. L6
    have hthree_five : ∃ q. Pow(3,5,q)Definitions: Pow(3,5,q)Original native command in the exact edition
  2. L7
    specialize htotal 3
  3. L8
    specialize htotal 5
  4. L9
    exact htotal
03Separate the logical casesL10–10

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

  1. L10
    cases hthree_five
04Establish hfour_fourL11–14

Establish this local claim before using it. It is not an additional assumption.

  1. L11
    have hfour_four : ∃ q. Pow(4,4,q)Definitions: Pow(4,4,q)Original native command in the exact edition
  2. L12
    specialize htotal 4
  3. L13
    specialize htotal 4
  4. L14
    exact htotal
05Separate the logical casesL15–15

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

  1. L15
    cases hfour_four
06Establish hseedL16–22

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow three five le pow four four from total.

  1. L16
  2. L17
    specialize pow_three_five_le_pow_four_four_from_total x1
  3. L18
    specialize pow_three_five_le_pow_four_four_from_total x2
  4. L19
    apply pow_three_five_le_pow_four_four_from_total
  5. L20
    exact htotal
  6. L21
    exact hthree_five_witness
  7. L22
    exact hfour_four_witness
07Establish hthree_tenL23–26

Establish this local claim before using it. It is not an additional assumption.

  1. L23
    have hthree_ten : ∃ q. Pow(3,10,q)Definitions: Pow(3,10,q)Original native command in the exact edition
  2. L24
    specialize htotal 3
  3. L25
    specialize htotal 10
  4. L26
    exact htotal
08Separate the logical casesL27–27

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

  1. L27
    cases hthree_ten
09Establish hfour_eightL28–31

Establish this local claim before using it. It is not an additional assumption.

  1. L28
    have hfour_eight : ∃ q. Pow(4,8,q)Definitions: Pow(4,8,q)Original native command in the exact edition
  2. L29
    specialize htotal 4
  3. L30
    specialize htotal 8
  4. L31
    exact htotal
10Separate the logical casesL32–32

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

  1. L32
    cases hfour_eight
11Establish hthree_ten_blockL33–33

Establish this local claim before using it. It is not an additional assumption.

  1. L33
    have hthree_ten_block : Pow(3,5 · 2,x3)Definitions: Pow(3,5 · 2,x3)Original native command in the exact edition
12Establish hthree_ten_exponentL34–40

Establish this local claim before using it. It is not an additional assumption.

  1. L34
    have hthree_ten_exponent : 5 * 2 = 10
  2. L35
    norm_num
  3. L36
    rewrite hthree_ten_exponent
  4. L37
    rewrite hthree_ten_exponent
  5. L38
    rewrite hthree_ten_exponent
  6. L39
    rewrite hthree_ten_exponent
  7. L40
    exact hthree_ten_witness
13Establish hfour_eight_blockL41–41

Establish this local claim before using it. It is not an additional assumption.

  1. L41
    have hfour_eight_block : Pow(4,4 · 2,x4)Definitions: Pow(4,4 · 2,x4)Original native command in the exact edition
14Establish hfour_eight_exponentL42–48

Establish this local claim before using it. It is not an additional assumption.

  1. L42
    have hfour_eight_exponent : 4 * 2 = 8
  2. L43
    norm_num
  3. L44
    rewrite hfour_eight_exponent
  4. L45
    rewrite hfour_eight_exponent
  5. L46
    rewrite hfour_eight_exponent
  6. L47
    rewrite hfour_eight_exponent
  7. L48
    exact hfour_eight_witness
15Establish hblockL49–58

Establish this local claim before using it. It is not an additional assumption.

  1. L49
    have hblock : Le(x3,x4)Definitions: Le(x3,x4)Original native command in the exact edition
  2. L50
    specialize pow_block_bound_from_total 3
  3. L51
    specialize pow_block_bound_from_total 4
  4. L52
    specialize pow_block_bound_from_total 5
  5. L53
    specialize pow_block_bound_from_total 4
  6. L54
    specialize pow_block_bound_from_total 2
  7. L55
    specialize pow_block_bound_from_total x1
  8. L56
    specialize pow_block_bound_from_total x2
  9. L57
    specialize pow_block_bound_from_total x3
  10. L58
    specialize pow_block_bound_from_total x4
16Use earlier factsL59–65

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

  1. L59
    apply pow_block_bound_from_total
  2. L60
    exact htotal
  3. L61
    exact hthree_five_witness
  4. L62
    exact hfour_four_witness
  5. L63
    exact hseed
  6. L64
    exact hthree_ten_block
  7. L65
    exact hfour_eight_block
17Establish htwo_tenL66–69

Establish this local claim before using it. It is not an additional assumption.

  1. L66
    have htwo_ten : ∃ q. Pow(2,10,q)Definitions: Pow(2,10,q)Original native command in the exact edition
  2. L67
    specialize htotal 2
  3. L68
    specialize htotal 10
  4. L69
    exact htotal
18Separate the logical casesL70–70

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

  1. L70
    cases htwo_ten
19Establish hfour_fiveL71–74

Establish this local claim before using it. It is not an additional assumption.

  1. L71
    have hfour_five : ∃ q. Pow(4,5,q)Definitions: Pow(4,5,q)Original native command in the exact edition
  2. L72
    specialize htotal 4
  3. L73
    specialize htotal 5
  4. L74
    exact htotal
20Separate the logical casesL75–75

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

  1. L75
    cases hfour_five
21Establish hseedsL76–78

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. L76
    have hseeds : 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. L77
    apply pow_two_seed_bundle_from_total
  3. L78
    exact htotal
22Separate the logical casesL79–79

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

  1. L79
    cases hseeds
23Establish htwo_bridgeL80–89

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

  1. L80
    have htwo_bridge : x6 = x5
  2. L81
    specialize pow_mul_exp_from_total 2
  3. L82
    specialize pow_mul_exp_from_total 2
  4. L83
    specialize pow_mul_exp_from_total 5
  5. L84
    specialize pow_mul_exp_from_total 10
  6. L85
    specialize pow_mul_exp_from_total 4
  7. L86
    specialize pow_mul_exp_from_total x6
  8. L87
    specialize pow_mul_exp_from_total x5
  9. L88
    apply pow_mul_exp_from_total
  10. L89
    exact htotal
24Calculate and transport equalitiesL90–90

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

  1. L90
    norm_num
25Use earlier factsL91–93

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

  1. L91
    exact hseeds_left
  2. L92
    exact hfour_five_witness
  3. L93
    exact htwo_ten_witness
26Establish hxfactorL94–94

Establish this local claim before using it. It is not an additional assumption.

  1. L94
    have hxfactor : Pow(2 · 3,10,x)Definitions: Pow(2 · 3,10,x)Original native command in the exact edition
27Establish hsixL95–99

Establish this local claim before using it. It is not an additional assumption.

  1. L95
    have hsix : 2 * 3 = 6
  2. L96
    norm_num
  3. L97
    rewrite hsix
  4. L98
    rewrite hsix
  5. L99
    exact hx
28Establish hxproductL100–109

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

  1. L100
    have hxproduct : x = x5 * x3
  2. L101
    specialize pow_mul_base 2
  3. L102
    specialize pow_mul_base 3
  4. L103
    specialize pow_mul_base 10
  5. L104
    specialize pow_mul_base x5
  6. L105
    specialize pow_mul_base x3
  7. L106
    specialize pow_mul_base x
  8. L107
    apply pow_mul_base
  9. L108
    exact htwo_ten_witness
  10. L109
    exact hthree_ten_witness
29Use earlier factsL110–110

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

  1. L110
    exact hxfactor
30Establish hyproductL111–120

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

  1. L111
    have hyproduct : y = x6 * x4
  2. L112
    specialize pow_add 4
  3. L113
    specialize pow_add 5
  4. L114
    specialize pow_add 8
  5. L115
    specialize pow_add 13
  6. L116
    specialize pow_add x6
  7. L117
    specialize pow_add x4
  8. L118
    specialize pow_add y
  9. L119
    apply pow_add
  10. L120
    norm_num
31Use earlier factsL121–123

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

  1. L121
    exact hfour_five_witness
  2. L122
    exact hfour_eight_witness
  3. L123
    exact hy
32Calculate and transport equalitiesL124–124

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

  1. L124
    rewrite htwo_bridge at hyproduct
33Establish hfactor_boundL125–134

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

  1. L125
    have hfactor_bound : Le(x5 · x3,x5 · x4)Definitions: Le(x5 · x3,x5 · x4)Original native command in the exact edition
  2. L126
    specialize mul_le_mul x5
  3. L127
    specialize mul_le_mul x5
  4. L128
    specialize mul_le_mul x3
  5. L129
    specialize mul_le_mul x4
  6. L130
    apply mul_le_mul
  7. L131
    specialize le_refl x5
  8. L132
    exact le_refl
  9. L133
    exact hblock
  10. L134
    rewrite <- hxproduct at hfactor_bound
34Calculate and transport equalitiesL135–135

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

  1. L135
    rewrite <- hyproduct at hfactor_bound
35Use earlier factsL136–136

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

  1. L136
    exact hfactor_bound

Library-wide reading audit

Original defined command ledger · 136 lines
  1. 0001intro x
  2. 0002intro y
  3. 0003intro htotal
  4. 0004intro hx
  5. 0005intro hy
  6. 0006have hthree_five : ∃ q. Pow(3,5,q)
    Exact native replay linehave hthree_five : exists q. (exists pa_b_hj32_row4_three_five pa_c_hj32_row4_three_five. ((forall pa_i_hj32_row4_three_five_repeat. (exists pa_lt_hj32_row4_three_five_repeat_bound. pa_lt_hj32_row4_three_five_repeat_bound + S pa_i_hj32_row4_three_five_repeat = 5) -> (((exists pa_h_hj32_row4_three_five_repeat_decoded. pa_h_hj32_row4_three_five_repeat_decoded + S (3) = S ((S (pa_i_hj32_row4_three_five_repeat)) * pa_c_hj32_row4_three_five)) /\ exists pa_q_hj32_row4_three_five_repeat_decoded. pa_b_hj32_row4_three_five = pa_q_hj32_row4_three_five_repeat_decoded * S ((S (pa_i_hj32_row4_three_five_repeat)) * pa_c_hj32_row4_three_five) + (3)))) /\ (exists pa_u_hj32_row4_three_five_product pa_v_hj32_row4_three_five_product. ((((exists pa_h_hj32_row4_three_five_product_start. pa_h_hj32_row4_three_five_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_three_five_product)) /\ exists pa_q_hj32_row4_three_five_product_start. pa_u_hj32_row4_three_five_product = pa_q_hj32_row4_three_five_product_start * S ((S (0)) * pa_v_hj32_row4_three_five_product) + (1))) /\ ((((exists pa_h_hj32_row4_three_five_product_terminal. pa_h_hj32_row4_three_five_product_terminal + S (q) = S ((S (5)) * pa_v_hj32_row4_three_five_product)) /\ exists pa_q_hj32_row4_three_five_product_terminal. pa_u_hj32_row4_three_five_product = pa_q_hj32_row4_three_five_product_terminal * S ((S (5)) * pa_v_hj32_row4_three_five_product) + (q))) /\ forall pa_i_hj32_row4_three_five_product. (exists pa_lt_hj32_row4_three_five_product_bound. pa_lt_hj32_row4_three_five_product_bound + S pa_i_hj32_row4_three_five_product = 5) -> exists pa_p_hj32_row4_three_five_product pa_r_hj32_row4_three_five_product pa_s_hj32_row4_three_five_product. ((((exists pa_h_hj32_row4_three_five_product_factor. pa_h_hj32_row4_three_five_product_factor + S (pa_p_hj32_row4_three_five_product) = S ((S (pa_i_hj32_row4_three_five_product)) * pa_c_hj32_row4_three_five)) /\ exists pa_q_hj32_row4_three_five_product_factor. pa_b_hj32_row4_three_five = pa_q_hj32_row4_three_five_product_factor * S ((S (pa_i_hj32_row4_three_five_product)) * pa_c_hj32_row4_three_five) + (pa_p_hj32_row4_three_five_product))) /\ ((((exists pa_h_hj32_row4_three_five_product_partial. pa_h_hj32_row4_three_five_product_partial + S (pa_r_hj32_row4_three_five_product) = S ((S (pa_i_hj32_row4_three_five_product)) * pa_v_hj32_row4_three_five_product)) /\ exists pa_q_hj32_row4_three_five_product_partial. pa_u_hj32_row4_three_five_product = pa_q_hj32_row4_three_five_product_partial * S ((S (pa_i_hj32_row4_three_five_product)) * pa_v_hj32_row4_three_five_product) + (pa_r_hj32_row4_three_five_product))) /\ ((((exists pa_h_hj32_row4_three_five_product_successor. pa_h_hj32_row4_three_five_product_successor + S (pa_s_hj32_row4_three_five_product) = S ((S (S pa_i_hj32_row4_three_five_product)) * pa_v_hj32_row4_three_five_product)) /\ exists pa_q_hj32_row4_three_five_product_successor. pa_u_hj32_row4_three_five_product = pa_q_hj32_row4_three_five_product_successor * S ((S (S pa_i_hj32_row4_three_five_product)) * pa_v_hj32_row4_three_five_product) + (pa_s_hj32_row4_three_five_product))) /\ pa_s_hj32_row4_three_five_product = pa_r_hj32_row4_three_five_product * pa_p_hj32_row4_three_five_product))))))))
  7. 0007specialize htotal 3
  8. 0008specialize htotal 5
  9. 0009exact htotal
  10. 0010cases hthree_five
  11. 0011have hfour_four : ∃ q. Pow(4,4,q)
    Exact native replay linehave hfour_four : exists q. (exists pa_b_hj32_row4_four_four pa_c_hj32_row4_four_four. ((forall pa_i_hj32_row4_four_four_repeat. (exists pa_lt_hj32_row4_four_four_repeat_bound. pa_lt_hj32_row4_four_four_repeat_bound + S pa_i_hj32_row4_four_four_repeat = 4) -> (((exists pa_h_hj32_row4_four_four_repeat_decoded. pa_h_hj32_row4_four_four_repeat_decoded + S (4) = S ((S (pa_i_hj32_row4_four_four_repeat)) * pa_c_hj32_row4_four_four)) /\ exists pa_q_hj32_row4_four_four_repeat_decoded. pa_b_hj32_row4_four_four = pa_q_hj32_row4_four_four_repeat_decoded * S ((S (pa_i_hj32_row4_four_four_repeat)) * pa_c_hj32_row4_four_four) + (4)))) /\ (exists pa_u_hj32_row4_four_four_product pa_v_hj32_row4_four_four_product. ((((exists pa_h_hj32_row4_four_four_product_start. pa_h_hj32_row4_four_four_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_four_four_product)) /\ exists pa_q_hj32_row4_four_four_product_start. pa_u_hj32_row4_four_four_product = pa_q_hj32_row4_four_four_product_start * S ((S (0)) * pa_v_hj32_row4_four_four_product) + (1))) /\ ((((exists pa_h_hj32_row4_four_four_product_terminal. pa_h_hj32_row4_four_four_product_terminal + S (q) = S ((S (4)) * pa_v_hj32_row4_four_four_product)) /\ exists pa_q_hj32_row4_four_four_product_terminal. pa_u_hj32_row4_four_four_product = pa_q_hj32_row4_four_four_product_terminal * S ((S (4)) * pa_v_hj32_row4_four_four_product) + (q))) /\ forall pa_i_hj32_row4_four_four_product. (exists pa_lt_hj32_row4_four_four_product_bound. pa_lt_hj32_row4_four_four_product_bound + S pa_i_hj32_row4_four_four_product = 4) -> exists pa_p_hj32_row4_four_four_product pa_r_hj32_row4_four_four_product pa_s_hj32_row4_four_four_product. ((((exists pa_h_hj32_row4_four_four_product_factor. pa_h_hj32_row4_four_four_product_factor + S (pa_p_hj32_row4_four_four_product) = S ((S (pa_i_hj32_row4_four_four_product)) * pa_c_hj32_row4_four_four)) /\ exists pa_q_hj32_row4_four_four_product_factor. pa_b_hj32_row4_four_four = pa_q_hj32_row4_four_four_product_factor * S ((S (pa_i_hj32_row4_four_four_product)) * pa_c_hj32_row4_four_four) + (pa_p_hj32_row4_four_four_product))) /\ ((((exists pa_h_hj32_row4_four_four_product_partial. pa_h_hj32_row4_four_four_product_partial + S (pa_r_hj32_row4_four_four_product) = S ((S (pa_i_hj32_row4_four_four_product)) * pa_v_hj32_row4_four_four_product)) /\ exists pa_q_hj32_row4_four_four_product_partial. pa_u_hj32_row4_four_four_product = pa_q_hj32_row4_four_four_product_partial * S ((S (pa_i_hj32_row4_four_four_product)) * pa_v_hj32_row4_four_four_product) + (pa_r_hj32_row4_four_four_product))) /\ ((((exists pa_h_hj32_row4_four_four_product_successor. pa_h_hj32_row4_four_four_product_successor + S (pa_s_hj32_row4_four_four_product) = S ((S (S pa_i_hj32_row4_four_four_product)) * pa_v_hj32_row4_four_four_product)) /\ exists pa_q_hj32_row4_four_four_product_successor. pa_u_hj32_row4_four_four_product = pa_q_hj32_row4_four_four_product_successor * S ((S (S pa_i_hj32_row4_four_four_product)) * pa_v_hj32_row4_four_four_product) + (pa_s_hj32_row4_four_four_product))) /\ pa_s_hj32_row4_four_four_product = pa_r_hj32_row4_four_four_product * pa_p_hj32_row4_four_four_product))))))))
  12. 0012specialize htotal 4
  13. 0013specialize htotal 4
  14. 0014exact htotal
  15. 0015cases hfour_four
  16. 0016have hseed : Le(x1,x2)
    Exact native replay linehave hseed : exists bqb_le_gap_hj32_row4_seed_bound. bqb_le_gap_hj32_row4_seed_bound + (x1) = (x2)
  17. 0017specialize pow_three_five_le_pow_four_four_from_total x1
  18. 0018specialize pow_three_five_le_pow_four_four_from_total x2
  19. 0019apply pow_three_five_le_pow_four_four_from_total
  20. 0020exact htotal
  21. 0021exact hthree_five_witness
  22. 0022exact hfour_four_witness
  23. 0023have hthree_ten : ∃ q. Pow(3,10,q)
    Exact native replay linehave hthree_ten : exists q. (exists pa_b_hj32_row4_three_ten pa_c_hj32_row4_three_ten. ((forall pa_i_hj32_row4_three_ten_repeat. (exists pa_lt_hj32_row4_three_ten_repeat_bound. pa_lt_hj32_row4_three_ten_repeat_bound + S pa_i_hj32_row4_three_ten_repeat = 10) -> (((exists pa_h_hj32_row4_three_ten_repeat_decoded. pa_h_hj32_row4_three_ten_repeat_decoded + S (3) = S ((S (pa_i_hj32_row4_three_ten_repeat)) * pa_c_hj32_row4_three_ten)) /\ exists pa_q_hj32_row4_three_ten_repeat_decoded. pa_b_hj32_row4_three_ten = pa_q_hj32_row4_three_ten_repeat_decoded * S ((S (pa_i_hj32_row4_three_ten_repeat)) * pa_c_hj32_row4_three_ten) + (3)))) /\ (exists pa_u_hj32_row4_three_ten_product pa_v_hj32_row4_three_ten_product. ((((exists pa_h_hj32_row4_three_ten_product_start. pa_h_hj32_row4_three_ten_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_three_ten_product)) /\ exists pa_q_hj32_row4_three_ten_product_start. pa_u_hj32_row4_three_ten_product = pa_q_hj32_row4_three_ten_product_start * S ((S (0)) * pa_v_hj32_row4_three_ten_product) + (1))) /\ ((((exists pa_h_hj32_row4_three_ten_product_terminal. pa_h_hj32_row4_three_ten_product_terminal + S (q) = S ((S (10)) * pa_v_hj32_row4_three_ten_product)) /\ exists pa_q_hj32_row4_three_ten_product_terminal. pa_u_hj32_row4_three_ten_product = pa_q_hj32_row4_three_ten_product_terminal * S ((S (10)) * pa_v_hj32_row4_three_ten_product) + (q))) /\ forall pa_i_hj32_row4_three_ten_product. (exists pa_lt_hj32_row4_three_ten_product_bound. pa_lt_hj32_row4_three_ten_product_bound + S pa_i_hj32_row4_three_ten_product = 10) -> exists pa_p_hj32_row4_three_ten_product pa_r_hj32_row4_three_ten_product pa_s_hj32_row4_three_ten_product. ((((exists pa_h_hj32_row4_three_ten_product_factor. pa_h_hj32_row4_three_ten_product_factor + S (pa_p_hj32_row4_three_ten_product) = S ((S (pa_i_hj32_row4_three_ten_product)) * pa_c_hj32_row4_three_ten)) /\ exists pa_q_hj32_row4_three_ten_product_factor. pa_b_hj32_row4_three_ten = pa_q_hj32_row4_three_ten_product_factor * S ((S (pa_i_hj32_row4_three_ten_product)) * pa_c_hj32_row4_three_ten) + (pa_p_hj32_row4_three_ten_product))) /\ ((((exists pa_h_hj32_row4_three_ten_product_partial. pa_h_hj32_row4_three_ten_product_partial + S (pa_r_hj32_row4_three_ten_product) = S ((S (pa_i_hj32_row4_three_ten_product)) * pa_v_hj32_row4_three_ten_product)) /\ exists pa_q_hj32_row4_three_ten_product_partial. pa_u_hj32_row4_three_ten_product = pa_q_hj32_row4_three_ten_product_partial * S ((S (pa_i_hj32_row4_three_ten_product)) * pa_v_hj32_row4_three_ten_product) + (pa_r_hj32_row4_three_ten_product))) /\ ((((exists pa_h_hj32_row4_three_ten_product_successor. pa_h_hj32_row4_three_ten_product_successor + S (pa_s_hj32_row4_three_ten_product) = S ((S (S pa_i_hj32_row4_three_ten_product)) * pa_v_hj32_row4_three_ten_product)) /\ exists pa_q_hj32_row4_three_ten_product_successor. pa_u_hj32_row4_three_ten_product = pa_q_hj32_row4_three_ten_product_successor * S ((S (S pa_i_hj32_row4_three_ten_product)) * pa_v_hj32_row4_three_ten_product) + (pa_s_hj32_row4_three_ten_product))) /\ pa_s_hj32_row4_three_ten_product = pa_r_hj32_row4_three_ten_product * pa_p_hj32_row4_three_ten_product))))))))
  24. 0024specialize htotal 3
  25. 0025specialize htotal 10
  26. 0026exact htotal
  27. 0027cases hthree_ten
  28. 0028have hfour_eight : ∃ q. Pow(4,8,q)
    Exact native replay linehave hfour_eight : exists q. (exists pa_b_hj32_row4_four_eight pa_c_hj32_row4_four_eight. ((forall pa_i_hj32_row4_four_eight_repeat. (exists pa_lt_hj32_row4_four_eight_repeat_bound. pa_lt_hj32_row4_four_eight_repeat_bound + S pa_i_hj32_row4_four_eight_repeat = 8) -> (((exists pa_h_hj32_row4_four_eight_repeat_decoded. pa_h_hj32_row4_four_eight_repeat_decoded + S (4) = S ((S (pa_i_hj32_row4_four_eight_repeat)) * pa_c_hj32_row4_four_eight)) /\ exists pa_q_hj32_row4_four_eight_repeat_decoded. pa_b_hj32_row4_four_eight = pa_q_hj32_row4_four_eight_repeat_decoded * S ((S (pa_i_hj32_row4_four_eight_repeat)) * pa_c_hj32_row4_four_eight) + (4)))) /\ (exists pa_u_hj32_row4_four_eight_product pa_v_hj32_row4_four_eight_product. ((((exists pa_h_hj32_row4_four_eight_product_start. pa_h_hj32_row4_four_eight_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_four_eight_product)) /\ exists pa_q_hj32_row4_four_eight_product_start. pa_u_hj32_row4_four_eight_product = pa_q_hj32_row4_four_eight_product_start * S ((S (0)) * pa_v_hj32_row4_four_eight_product) + (1))) /\ ((((exists pa_h_hj32_row4_four_eight_product_terminal. pa_h_hj32_row4_four_eight_product_terminal + S (q) = S ((S (8)) * pa_v_hj32_row4_four_eight_product)) /\ exists pa_q_hj32_row4_four_eight_product_terminal. pa_u_hj32_row4_four_eight_product = pa_q_hj32_row4_four_eight_product_terminal * S ((S (8)) * pa_v_hj32_row4_four_eight_product) + (q))) /\ forall pa_i_hj32_row4_four_eight_product. (exists pa_lt_hj32_row4_four_eight_product_bound. pa_lt_hj32_row4_four_eight_product_bound + S pa_i_hj32_row4_four_eight_product = 8) -> exists pa_p_hj32_row4_four_eight_product pa_r_hj32_row4_four_eight_product pa_s_hj32_row4_four_eight_product. ((((exists pa_h_hj32_row4_four_eight_product_factor. pa_h_hj32_row4_four_eight_product_factor + S (pa_p_hj32_row4_four_eight_product) = S ((S (pa_i_hj32_row4_four_eight_product)) * pa_c_hj32_row4_four_eight)) /\ exists pa_q_hj32_row4_four_eight_product_factor. pa_b_hj32_row4_four_eight = pa_q_hj32_row4_four_eight_product_factor * S ((S (pa_i_hj32_row4_four_eight_product)) * pa_c_hj32_row4_four_eight) + (pa_p_hj32_row4_four_eight_product))) /\ ((((exists pa_h_hj32_row4_four_eight_product_partial. pa_h_hj32_row4_four_eight_product_partial + S (pa_r_hj32_row4_four_eight_product) = S ((S (pa_i_hj32_row4_four_eight_product)) * pa_v_hj32_row4_four_eight_product)) /\ exists pa_q_hj32_row4_four_eight_product_partial. pa_u_hj32_row4_four_eight_product = pa_q_hj32_row4_four_eight_product_partial * S ((S (pa_i_hj32_row4_four_eight_product)) * pa_v_hj32_row4_four_eight_product) + (pa_r_hj32_row4_four_eight_product))) /\ ((((exists pa_h_hj32_row4_four_eight_product_successor. pa_h_hj32_row4_four_eight_product_successor + S (pa_s_hj32_row4_four_eight_product) = S ((S (S pa_i_hj32_row4_four_eight_product)) * pa_v_hj32_row4_four_eight_product)) /\ exists pa_q_hj32_row4_four_eight_product_successor. pa_u_hj32_row4_four_eight_product = pa_q_hj32_row4_four_eight_product_successor * S ((S (S pa_i_hj32_row4_four_eight_product)) * pa_v_hj32_row4_four_eight_product) + (pa_s_hj32_row4_four_eight_product))) /\ pa_s_hj32_row4_four_eight_product = pa_r_hj32_row4_four_eight_product * pa_p_hj32_row4_four_eight_product))))))))
  29. 0029specialize htotal 4
  30. 0030specialize htotal 8
  31. 0031exact htotal
  32. 0032cases hfour_eight
  33. 0033have hthree_ten_block : Pow(3,5 · 2,x3)
    Exact native replay linehave hthree_ten_block : exists pa_b_hj32_row4_three_ten_block pa_c_hj32_row4_three_ten_block. ((forall pa_i_hj32_row4_three_ten_block_repeat. (exists pa_lt_hj32_row4_three_ten_block_repeat_bound. pa_lt_hj32_row4_three_ten_block_repeat_bound + S pa_i_hj32_row4_three_ten_block_repeat = 5 * 2) -> (((exists pa_h_hj32_row4_three_ten_block_repeat_decoded. pa_h_hj32_row4_three_ten_block_repeat_decoded + S (3) = S ((S (pa_i_hj32_row4_three_ten_block_repeat)) * pa_c_hj32_row4_three_ten_block)) /\ exists pa_q_hj32_row4_three_ten_block_repeat_decoded. pa_b_hj32_row4_three_ten_block = pa_q_hj32_row4_three_ten_block_repeat_decoded * S ((S (pa_i_hj32_row4_three_ten_block_repeat)) * pa_c_hj32_row4_three_ten_block) + (3)))) /\ (exists pa_u_hj32_row4_three_ten_block_product pa_v_hj32_row4_three_ten_block_product. ((((exists pa_h_hj32_row4_three_ten_block_product_start. pa_h_hj32_row4_three_ten_block_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_three_ten_block_product)) /\ exists pa_q_hj32_row4_three_ten_block_product_start. pa_u_hj32_row4_three_ten_block_product = pa_q_hj32_row4_three_ten_block_product_start * S ((S (0)) * pa_v_hj32_row4_three_ten_block_product) + (1))) /\ ((((exists pa_h_hj32_row4_three_ten_block_product_terminal. pa_h_hj32_row4_three_ten_block_product_terminal + S (x3) = S ((S (5 * 2)) * pa_v_hj32_row4_three_ten_block_product)) /\ exists pa_q_hj32_row4_three_ten_block_product_terminal. pa_u_hj32_row4_three_ten_block_product = pa_q_hj32_row4_three_ten_block_product_terminal * S ((S (5 * 2)) * pa_v_hj32_row4_three_ten_block_product) + (x3))) /\ forall pa_i_hj32_row4_three_ten_block_product. (exists pa_lt_hj32_row4_three_ten_block_product_bound. pa_lt_hj32_row4_three_ten_block_product_bound + S pa_i_hj32_row4_three_ten_block_product = 5 * 2) -> exists pa_p_hj32_row4_three_ten_block_product pa_r_hj32_row4_three_ten_block_product pa_s_hj32_row4_three_ten_block_product. ((((exists pa_h_hj32_row4_three_ten_block_product_factor. pa_h_hj32_row4_three_ten_block_product_factor + S (pa_p_hj32_row4_three_ten_block_product) = S ((S (pa_i_hj32_row4_three_ten_block_product)) * pa_c_hj32_row4_three_ten_block)) /\ exists pa_q_hj32_row4_three_ten_block_product_factor. pa_b_hj32_row4_three_ten_block = pa_q_hj32_row4_three_ten_block_product_factor * S ((S (pa_i_hj32_row4_three_ten_block_product)) * pa_c_hj32_row4_three_ten_block) + (pa_p_hj32_row4_three_ten_block_product))) /\ ((((exists pa_h_hj32_row4_three_ten_block_product_partial. pa_h_hj32_row4_three_ten_block_product_partial + S (pa_r_hj32_row4_three_ten_block_product) = S ((S (pa_i_hj32_row4_three_ten_block_product)) * pa_v_hj32_row4_three_ten_block_product)) /\ exists pa_q_hj32_row4_three_ten_block_product_partial. pa_u_hj32_row4_three_ten_block_product = pa_q_hj32_row4_three_ten_block_product_partial * S ((S (pa_i_hj32_row4_three_ten_block_product)) * pa_v_hj32_row4_three_ten_block_product) + (pa_r_hj32_row4_three_ten_block_product))) /\ ((((exists pa_h_hj32_row4_three_ten_block_product_successor. pa_h_hj32_row4_three_ten_block_product_successor + S (pa_s_hj32_row4_three_ten_block_product) = S ((S (S pa_i_hj32_row4_three_ten_block_product)) * pa_v_hj32_row4_three_ten_block_product)) /\ exists pa_q_hj32_row4_three_ten_block_product_successor. pa_u_hj32_row4_three_ten_block_product = pa_q_hj32_row4_three_ten_block_product_successor * S ((S (S pa_i_hj32_row4_three_ten_block_product)) * pa_v_hj32_row4_three_ten_block_product) + (pa_s_hj32_row4_three_ten_block_product))) /\ pa_s_hj32_row4_three_ten_block_product = pa_r_hj32_row4_three_ten_block_product * pa_p_hj32_row4_three_ten_block_product)))))))
  34. 0034have hthree_ten_exponent : 5 * 2 = 10
  35. 0035norm_num
  36. 0036rewrite hthree_ten_exponent
  37. 0037rewrite hthree_ten_exponent
  38. 0038rewrite hthree_ten_exponent
  39. 0039rewrite hthree_ten_exponent
  40. 0040exact hthree_ten_witness
  41. 0041have hfour_eight_block : Pow(4,4 · 2,x4)
    Exact native replay linehave hfour_eight_block : exists pa_b_hj32_row4_four_eight_block pa_c_hj32_row4_four_eight_block. ((forall pa_i_hj32_row4_four_eight_block_repeat. (exists pa_lt_hj32_row4_four_eight_block_repeat_bound. pa_lt_hj32_row4_four_eight_block_repeat_bound + S pa_i_hj32_row4_four_eight_block_repeat = 4 * 2) -> (((exists pa_h_hj32_row4_four_eight_block_repeat_decoded. pa_h_hj32_row4_four_eight_block_repeat_decoded + S (4) = S ((S (pa_i_hj32_row4_four_eight_block_repeat)) * pa_c_hj32_row4_four_eight_block)) /\ exists pa_q_hj32_row4_four_eight_block_repeat_decoded. pa_b_hj32_row4_four_eight_block = pa_q_hj32_row4_four_eight_block_repeat_decoded * S ((S (pa_i_hj32_row4_four_eight_block_repeat)) * pa_c_hj32_row4_four_eight_block) + (4)))) /\ (exists pa_u_hj32_row4_four_eight_block_product pa_v_hj32_row4_four_eight_block_product. ((((exists pa_h_hj32_row4_four_eight_block_product_start. pa_h_hj32_row4_four_eight_block_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_four_eight_block_product)) /\ exists pa_q_hj32_row4_four_eight_block_product_start. pa_u_hj32_row4_four_eight_block_product = pa_q_hj32_row4_four_eight_block_product_start * S ((S (0)) * pa_v_hj32_row4_four_eight_block_product) + (1))) /\ ((((exists pa_h_hj32_row4_four_eight_block_product_terminal. pa_h_hj32_row4_four_eight_block_product_terminal + S (x4) = S ((S (4 * 2)) * pa_v_hj32_row4_four_eight_block_product)) /\ exists pa_q_hj32_row4_four_eight_block_product_terminal. pa_u_hj32_row4_four_eight_block_product = pa_q_hj32_row4_four_eight_block_product_terminal * S ((S (4 * 2)) * pa_v_hj32_row4_four_eight_block_product) + (x4))) /\ forall pa_i_hj32_row4_four_eight_block_product. (exists pa_lt_hj32_row4_four_eight_block_product_bound. pa_lt_hj32_row4_four_eight_block_product_bound + S pa_i_hj32_row4_four_eight_block_product = 4 * 2) -> exists pa_p_hj32_row4_four_eight_block_product pa_r_hj32_row4_four_eight_block_product pa_s_hj32_row4_four_eight_block_product. ((((exists pa_h_hj32_row4_four_eight_block_product_factor. pa_h_hj32_row4_four_eight_block_product_factor + S (pa_p_hj32_row4_four_eight_block_product) = S ((S (pa_i_hj32_row4_four_eight_block_product)) * pa_c_hj32_row4_four_eight_block)) /\ exists pa_q_hj32_row4_four_eight_block_product_factor. pa_b_hj32_row4_four_eight_block = pa_q_hj32_row4_four_eight_block_product_factor * S ((S (pa_i_hj32_row4_four_eight_block_product)) * pa_c_hj32_row4_four_eight_block) + (pa_p_hj32_row4_four_eight_block_product))) /\ ((((exists pa_h_hj32_row4_four_eight_block_product_partial. pa_h_hj32_row4_four_eight_block_product_partial + S (pa_r_hj32_row4_four_eight_block_product) = S ((S (pa_i_hj32_row4_four_eight_block_product)) * pa_v_hj32_row4_four_eight_block_product)) /\ exists pa_q_hj32_row4_four_eight_block_product_partial. pa_u_hj32_row4_four_eight_block_product = pa_q_hj32_row4_four_eight_block_product_partial * S ((S (pa_i_hj32_row4_four_eight_block_product)) * pa_v_hj32_row4_four_eight_block_product) + (pa_r_hj32_row4_four_eight_block_product))) /\ ((((exists pa_h_hj32_row4_four_eight_block_product_successor. pa_h_hj32_row4_four_eight_block_product_successor + S (pa_s_hj32_row4_four_eight_block_product) = S ((S (S pa_i_hj32_row4_four_eight_block_product)) * pa_v_hj32_row4_four_eight_block_product)) /\ exists pa_q_hj32_row4_four_eight_block_product_successor. pa_u_hj32_row4_four_eight_block_product = pa_q_hj32_row4_four_eight_block_product_successor * S ((S (S pa_i_hj32_row4_four_eight_block_product)) * pa_v_hj32_row4_four_eight_block_product) + (pa_s_hj32_row4_four_eight_block_product))) /\ pa_s_hj32_row4_four_eight_block_product = pa_r_hj32_row4_four_eight_block_product * pa_p_hj32_row4_four_eight_block_product)))))))
  42. 0042have hfour_eight_exponent : 4 * 2 = 8
  43. 0043norm_num
  44. 0044rewrite hfour_eight_exponent
  45. 0045rewrite hfour_eight_exponent
  46. 0046rewrite hfour_eight_exponent
  47. 0047rewrite hfour_eight_exponent
  48. 0048exact hfour_eight_witness
  49. 0049have hblock : Le(x3,x4)
    Exact native replay linehave hblock : exists bqb_le_gap_hj32_row4_block_bound. bqb_le_gap_hj32_row4_block_bound + (x3) = (x4)
  50. 0050specialize pow_block_bound_from_total 3
  51. 0051specialize pow_block_bound_from_total 4
  52. 0052specialize pow_block_bound_from_total 5
  53. 0053specialize pow_block_bound_from_total 4
  54. 0054specialize pow_block_bound_from_total 2
  55. 0055specialize pow_block_bound_from_total x1
  56. 0056specialize pow_block_bound_from_total x2
  57. 0057specialize pow_block_bound_from_total x3
  58. 0058specialize pow_block_bound_from_total x4
  59. 0059apply pow_block_bound_from_total
  60. 0060exact htotal
  61. 0061exact hthree_five_witness
  62. 0062exact hfour_four_witness
  63. 0063exact hseed
  64. 0064exact hthree_ten_block
  65. 0065exact hfour_eight_block
  66. 0066have htwo_ten : ∃ q. Pow(2,10,q)
    Exact native replay linehave htwo_ten : exists q. (exists pa_b_hj32_row4_two_ten pa_c_hj32_row4_two_ten. ((forall pa_i_hj32_row4_two_ten_repeat. (exists pa_lt_hj32_row4_two_ten_repeat_bound. pa_lt_hj32_row4_two_ten_repeat_bound + S pa_i_hj32_row4_two_ten_repeat = 10) -> (((exists pa_h_hj32_row4_two_ten_repeat_decoded. pa_h_hj32_row4_two_ten_repeat_decoded + S (2) = S ((S (pa_i_hj32_row4_two_ten_repeat)) * pa_c_hj32_row4_two_ten)) /\ exists pa_q_hj32_row4_two_ten_repeat_decoded. pa_b_hj32_row4_two_ten = pa_q_hj32_row4_two_ten_repeat_decoded * S ((S (pa_i_hj32_row4_two_ten_repeat)) * pa_c_hj32_row4_two_ten) + (2)))) /\ (exists pa_u_hj32_row4_two_ten_product pa_v_hj32_row4_two_ten_product. ((((exists pa_h_hj32_row4_two_ten_product_start. pa_h_hj32_row4_two_ten_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_two_ten_product)) /\ exists pa_q_hj32_row4_two_ten_product_start. pa_u_hj32_row4_two_ten_product = pa_q_hj32_row4_two_ten_product_start * S ((S (0)) * pa_v_hj32_row4_two_ten_product) + (1))) /\ ((((exists pa_h_hj32_row4_two_ten_product_terminal. pa_h_hj32_row4_two_ten_product_terminal + S (q) = S ((S (10)) * pa_v_hj32_row4_two_ten_product)) /\ exists pa_q_hj32_row4_two_ten_product_terminal. pa_u_hj32_row4_two_ten_product = pa_q_hj32_row4_two_ten_product_terminal * S ((S (10)) * pa_v_hj32_row4_two_ten_product) + (q))) /\ forall pa_i_hj32_row4_two_ten_product. (exists pa_lt_hj32_row4_two_ten_product_bound. pa_lt_hj32_row4_two_ten_product_bound + S pa_i_hj32_row4_two_ten_product = 10) -> exists pa_p_hj32_row4_two_ten_product pa_r_hj32_row4_two_ten_product pa_s_hj32_row4_two_ten_product. ((((exists pa_h_hj32_row4_two_ten_product_factor. pa_h_hj32_row4_two_ten_product_factor + S (pa_p_hj32_row4_two_ten_product) = S ((S (pa_i_hj32_row4_two_ten_product)) * pa_c_hj32_row4_two_ten)) /\ exists pa_q_hj32_row4_two_ten_product_factor. pa_b_hj32_row4_two_ten = pa_q_hj32_row4_two_ten_product_factor * S ((S (pa_i_hj32_row4_two_ten_product)) * pa_c_hj32_row4_two_ten) + (pa_p_hj32_row4_two_ten_product))) /\ ((((exists pa_h_hj32_row4_two_ten_product_partial. pa_h_hj32_row4_two_ten_product_partial + S (pa_r_hj32_row4_two_ten_product) = S ((S (pa_i_hj32_row4_two_ten_product)) * pa_v_hj32_row4_two_ten_product)) /\ exists pa_q_hj32_row4_two_ten_product_partial. pa_u_hj32_row4_two_ten_product = pa_q_hj32_row4_two_ten_product_partial * S ((S (pa_i_hj32_row4_two_ten_product)) * pa_v_hj32_row4_two_ten_product) + (pa_r_hj32_row4_two_ten_product))) /\ ((((exists pa_h_hj32_row4_two_ten_product_successor. pa_h_hj32_row4_two_ten_product_successor + S (pa_s_hj32_row4_two_ten_product) = S ((S (S pa_i_hj32_row4_two_ten_product)) * pa_v_hj32_row4_two_ten_product)) /\ exists pa_q_hj32_row4_two_ten_product_successor. pa_u_hj32_row4_two_ten_product = pa_q_hj32_row4_two_ten_product_successor * S ((S (S pa_i_hj32_row4_two_ten_product)) * pa_v_hj32_row4_two_ten_product) + (pa_s_hj32_row4_two_ten_product))) /\ pa_s_hj32_row4_two_ten_product = pa_r_hj32_row4_two_ten_product * pa_p_hj32_row4_two_ten_product))))))))
  67. 0067specialize htotal 2
  68. 0068specialize htotal 10
  69. 0069exact htotal
  70. 0070cases htwo_ten
  71. 0071have hfour_five : ∃ q. Pow(4,5,q)
    Exact native replay linehave hfour_five : exists q. (exists pa_b_hj32_row4_four_five pa_c_hj32_row4_four_five. ((forall pa_i_hj32_row4_four_five_repeat. (exists pa_lt_hj32_row4_four_five_repeat_bound. pa_lt_hj32_row4_four_five_repeat_bound + S pa_i_hj32_row4_four_five_repeat = 5) -> (((exists pa_h_hj32_row4_four_five_repeat_decoded. pa_h_hj32_row4_four_five_repeat_decoded + S (4) = S ((S (pa_i_hj32_row4_four_five_repeat)) * pa_c_hj32_row4_four_five)) /\ exists pa_q_hj32_row4_four_five_repeat_decoded. pa_b_hj32_row4_four_five = pa_q_hj32_row4_four_five_repeat_decoded * S ((S (pa_i_hj32_row4_four_five_repeat)) * pa_c_hj32_row4_four_five) + (4)))) /\ (exists pa_u_hj32_row4_four_five_product pa_v_hj32_row4_four_five_product. ((((exists pa_h_hj32_row4_four_five_product_start. pa_h_hj32_row4_four_five_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_four_five_product)) /\ exists pa_q_hj32_row4_four_five_product_start. pa_u_hj32_row4_four_five_product = pa_q_hj32_row4_four_five_product_start * S ((S (0)) * pa_v_hj32_row4_four_five_product) + (1))) /\ ((((exists pa_h_hj32_row4_four_five_product_terminal. pa_h_hj32_row4_four_five_product_terminal + S (q) = S ((S (5)) * pa_v_hj32_row4_four_five_product)) /\ exists pa_q_hj32_row4_four_five_product_terminal. pa_u_hj32_row4_four_five_product = pa_q_hj32_row4_four_five_product_terminal * S ((S (5)) * pa_v_hj32_row4_four_five_product) + (q))) /\ forall pa_i_hj32_row4_four_five_product. (exists pa_lt_hj32_row4_four_five_product_bound. pa_lt_hj32_row4_four_five_product_bound + S pa_i_hj32_row4_four_five_product = 5) -> exists pa_p_hj32_row4_four_five_product pa_r_hj32_row4_four_five_product pa_s_hj32_row4_four_five_product. ((((exists pa_h_hj32_row4_four_five_product_factor. pa_h_hj32_row4_four_five_product_factor + S (pa_p_hj32_row4_four_five_product) = S ((S (pa_i_hj32_row4_four_five_product)) * pa_c_hj32_row4_four_five)) /\ exists pa_q_hj32_row4_four_five_product_factor. pa_b_hj32_row4_four_five = pa_q_hj32_row4_four_five_product_factor * S ((S (pa_i_hj32_row4_four_five_product)) * pa_c_hj32_row4_four_five) + (pa_p_hj32_row4_four_five_product))) /\ ((((exists pa_h_hj32_row4_four_five_product_partial. pa_h_hj32_row4_four_five_product_partial + S (pa_r_hj32_row4_four_five_product) = S ((S (pa_i_hj32_row4_four_five_product)) * pa_v_hj32_row4_four_five_product)) /\ exists pa_q_hj32_row4_four_five_product_partial. pa_u_hj32_row4_four_five_product = pa_q_hj32_row4_four_five_product_partial * S ((S (pa_i_hj32_row4_four_five_product)) * pa_v_hj32_row4_four_five_product) + (pa_r_hj32_row4_four_five_product))) /\ ((((exists pa_h_hj32_row4_four_five_product_successor. pa_h_hj32_row4_four_five_product_successor + S (pa_s_hj32_row4_four_five_product) = S ((S (S pa_i_hj32_row4_four_five_product)) * pa_v_hj32_row4_four_five_product)) /\ exists pa_q_hj32_row4_four_five_product_successor. pa_u_hj32_row4_four_five_product = pa_q_hj32_row4_four_five_product_successor * S ((S (S pa_i_hj32_row4_four_five_product)) * pa_v_hj32_row4_four_five_product) + (pa_s_hj32_row4_four_five_product))) /\ pa_s_hj32_row4_four_five_product = pa_r_hj32_row4_four_five_product * pa_p_hj32_row4_four_five_product))))))))
  72. 0072specialize htotal 4
  73. 0073specialize htotal 5
  74. 0074exact htotal
  75. 0075cases hfour_five
  76. 0076have hseeds : Pow(2,2,4)Pow(2,7,128)
    Exact native replay linehave hseeds : (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))))))))
  77. 0077apply pow_two_seed_bundle_from_total
  78. 0078exact htotal
  79. 0079cases hseeds
  80. 0080have htwo_bridge : x6 = x5
  81. 0081specialize pow_mul_exp_from_total 2
  82. 0082specialize pow_mul_exp_from_total 2
  83. 0083specialize pow_mul_exp_from_total 5
  84. 0084specialize pow_mul_exp_from_total 10
  85. 0085specialize pow_mul_exp_from_total 4
  86. 0086specialize pow_mul_exp_from_total x6
  87. 0087specialize pow_mul_exp_from_total x5
  88. 0088apply pow_mul_exp_from_total
  89. 0089exact htotal
  90. 0090norm_num
  91. 0091exact hseeds_left
  92. 0092exact hfour_five_witness
  93. 0093exact htwo_ten_witness
  94. 0094have hxfactor : Pow(2 · 3,10,x)
    Exact native replay linehave hxfactor : exists pa_b_hj32_row4_six_factor pa_c_hj32_row4_six_factor. ((forall pa_i_hj32_row4_six_factor_repeat. (exists pa_lt_hj32_row4_six_factor_repeat_bound. pa_lt_hj32_row4_six_factor_repeat_bound + S pa_i_hj32_row4_six_factor_repeat = 10) -> (((exists pa_h_hj32_row4_six_factor_repeat_decoded. pa_h_hj32_row4_six_factor_repeat_decoded + S (2 * 3) = S ((S (pa_i_hj32_row4_six_factor_repeat)) * pa_c_hj32_row4_six_factor)) /\ exists pa_q_hj32_row4_six_factor_repeat_decoded. pa_b_hj32_row4_six_factor = pa_q_hj32_row4_six_factor_repeat_decoded * S ((S (pa_i_hj32_row4_six_factor_repeat)) * pa_c_hj32_row4_six_factor) + (2 * 3)))) /\ (exists pa_u_hj32_row4_six_factor_product pa_v_hj32_row4_six_factor_product. ((((exists pa_h_hj32_row4_six_factor_product_start. pa_h_hj32_row4_six_factor_product_start + S (1) = S ((S (0)) * pa_v_hj32_row4_six_factor_product)) /\ exists pa_q_hj32_row4_six_factor_product_start. pa_u_hj32_row4_six_factor_product = pa_q_hj32_row4_six_factor_product_start * S ((S (0)) * pa_v_hj32_row4_six_factor_product) + (1))) /\ ((((exists pa_h_hj32_row4_six_factor_product_terminal. pa_h_hj32_row4_six_factor_product_terminal + S (x) = S ((S (10)) * pa_v_hj32_row4_six_factor_product)) /\ exists pa_q_hj32_row4_six_factor_product_terminal. pa_u_hj32_row4_six_factor_product = pa_q_hj32_row4_six_factor_product_terminal * S ((S (10)) * pa_v_hj32_row4_six_factor_product) + (x))) /\ forall pa_i_hj32_row4_six_factor_product. (exists pa_lt_hj32_row4_six_factor_product_bound. pa_lt_hj32_row4_six_factor_product_bound + S pa_i_hj32_row4_six_factor_product = 10) -> exists pa_p_hj32_row4_six_factor_product pa_r_hj32_row4_six_factor_product pa_s_hj32_row4_six_factor_product. ((((exists pa_h_hj32_row4_six_factor_product_factor. pa_h_hj32_row4_six_factor_product_factor + S (pa_p_hj32_row4_six_factor_product) = S ((S (pa_i_hj32_row4_six_factor_product)) * pa_c_hj32_row4_six_factor)) /\ exists pa_q_hj32_row4_six_factor_product_factor. pa_b_hj32_row4_six_factor = pa_q_hj32_row4_six_factor_product_factor * S ((S (pa_i_hj32_row4_six_factor_product)) * pa_c_hj32_row4_six_factor) + (pa_p_hj32_row4_six_factor_product))) /\ ((((exists pa_h_hj32_row4_six_factor_product_partial. pa_h_hj32_row4_six_factor_product_partial + S (pa_r_hj32_row4_six_factor_product) = S ((S (pa_i_hj32_row4_six_factor_product)) * pa_v_hj32_row4_six_factor_product)) /\ exists pa_q_hj32_row4_six_factor_product_partial. pa_u_hj32_row4_six_factor_product = pa_q_hj32_row4_six_factor_product_partial * S ((S (pa_i_hj32_row4_six_factor_product)) * pa_v_hj32_row4_six_factor_product) + (pa_r_hj32_row4_six_factor_product))) /\ ((((exists pa_h_hj32_row4_six_factor_product_successor. pa_h_hj32_row4_six_factor_product_successor + S (pa_s_hj32_row4_six_factor_product) = S ((S (S pa_i_hj32_row4_six_factor_product)) * pa_v_hj32_row4_six_factor_product)) /\ exists pa_q_hj32_row4_six_factor_product_successor. pa_u_hj32_row4_six_factor_product = pa_q_hj32_row4_six_factor_product_successor * S ((S (S pa_i_hj32_row4_six_factor_product)) * pa_v_hj32_row4_six_factor_product) + (pa_s_hj32_row4_six_factor_product))) /\ pa_s_hj32_row4_six_factor_product = pa_r_hj32_row4_six_factor_product * pa_p_hj32_row4_six_factor_product)))))))
  95. 0095have hsix : 2 * 3 = 6
  96. 0096norm_num
  97. 0097rewrite hsix
  98. 0098rewrite hsix
  99. 0099exact hx
  100. 0100have hxproduct : x = x5 * x3
  101. 0101specialize pow_mul_base 2
  102. 0102specialize pow_mul_base 3
  103. 0103specialize pow_mul_base 10
  104. 0104specialize pow_mul_base x5
  105. 0105specialize pow_mul_base x3
  106. 0106specialize pow_mul_base x
  107. 0107apply pow_mul_base
  108. 0108exact htwo_ten_witness
  109. 0109exact hthree_ten_witness
  110. 0110exact hxfactor
  111. 0111have hyproduct : y = x6 * x4
  112. 0112specialize pow_add 4
  113. 0113specialize pow_add 5
  114. 0114specialize pow_add 8
  115. 0115specialize pow_add 13
  116. 0116specialize pow_add x6
  117. 0117specialize pow_add x4
  118. 0118specialize pow_add y
  119. 0119apply pow_add
  120. 0120norm_num
  121. 0121exact hfour_five_witness
  122. 0122exact hfour_eight_witness
  123. 0123exact hy
  124. 0124rewrite htwo_bridge at hyproduct
  125. 0125have hfactor_bound : Le(x5 · x3,x5 · x4)
    Exact native replay linehave hfactor_bound : exists bqb_le_gap_hj32_row4_product_bound. bqb_le_gap_hj32_row4_product_bound + (x5 * x3) = (x5 * x4)
  126. 0126specialize mul_le_mul x5
  127. 0127specialize mul_le_mul x5
  128. 0128specialize mul_le_mul x3
  129. 0129specialize mul_le_mul x4
  130. 0130apply mul_le_mul
  131. 0131specialize le_refl x5
  132. 0132exact le_refl
  133. 0133exact hblock
  134. 0134rewrite <- hxproduct at hfactor_bound
  135. 0135rewrite <- hyproduct at hfactor_bound
  136. 0136exact hfactor_bound