BT00W4 · Bertrand theorem

pow_three_five_le_pow_four_four_from_total

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

The concrete seed inequality 3^5 <= 4^4 in the relational graph.

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(3,5,x)Pow(4,4,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

13 occurrences

Exact expanded native-PA statement
forall x y. (forall bpt_a_hj32_three_four bpt_e_hj32_three_four. exists bpt_x_hj32_three_four. (exists ff_b_bpt_value_hj32_three_four ff_c_bpt_value_hj32_three_four. ((forall ff_i_bpt_value_hj32_three_four_repeat. (exists ff_lt_bpt_value_hj32_three_four_repeat_bound. ff_lt_bpt_value_hj32_three_four_repeat_bound + S ff_i_bpt_value_hj32_three_four_repeat = bpt_e_hj32_three_four) -> (((exists ff_h_bpt_value_hj32_three_four_repeat_decoded. ff_h_bpt_value_hj32_three_four_repeat_decoded + S (bpt_a_hj32_three_four) = S ((S (ff_i_bpt_value_hj32_three_four_repeat)) * ff_c_bpt_value_hj32_three_four)) /\ exists ff_q_bpt_value_hj32_three_four_repeat_decoded. ff_b_bpt_value_hj32_three_four = ff_q_bpt_value_hj32_three_four_repeat_decoded * S ((S (ff_i_bpt_value_hj32_three_four_repeat)) * ff_c_bpt_value_hj32_three_four) + (bpt_a_hj32_three_four)))) /\ (exists ff_u_bpt_value_hj32_three_four_product ff_v_bpt_value_hj32_three_four_product. ((((exists ff_h_bpt_value_hj32_three_four_product_start. ff_h_bpt_value_hj32_three_four_product_start + S (1) = S ((S (0)) * ff_v_bpt_value_hj32_three_four_product)) /\ exists ff_q_bpt_value_hj32_three_four_product_start. ff_u_bpt_value_hj32_three_four_product = ff_q_bpt_value_hj32_three_four_product_start * S ((S (0)) * ff_v_bpt_value_hj32_three_four_product) + (1))) /\ ((((exists ff_h_bpt_value_hj32_three_four_product_terminal. ff_h_bpt_value_hj32_three_four_product_terminal + S (bpt_x_hj32_three_four) = S ((S (bpt_e_hj32_three_four)) * ff_v_bpt_value_hj32_three_four_product)) /\ exists ff_q_bpt_value_hj32_three_four_product_terminal. ff_u_bpt_value_hj32_three_four_product = ff_q_bpt_value_hj32_three_four_product_terminal * S ((S (bpt_e_hj32_three_four)) * ff_v_bpt_value_hj32_three_four_product) + (bpt_x_hj32_three_four))) /\ forall ff_i_bpt_value_hj32_three_four_product. (exists ff_lt_bpt_value_hj32_three_four_product_bound. ff_lt_bpt_value_hj32_three_four_product_bound + S ff_i_bpt_value_hj32_three_four_product = bpt_e_hj32_three_four) -> exists ff_p_bpt_value_hj32_three_four_product ff_r_bpt_value_hj32_three_four_product ff_s_bpt_value_hj32_three_four_product. ((((exists ff_h_bpt_value_hj32_three_four_product_factor. ff_h_bpt_value_hj32_three_four_product_factor + S (ff_p_bpt_value_hj32_three_four_product) = S ((S (ff_i_bpt_value_hj32_three_four_product)) * ff_c_bpt_value_hj32_three_four)) /\ exists ff_q_bpt_value_hj32_three_four_product_factor. ff_b_bpt_value_hj32_three_four = ff_q_bpt_value_hj32_three_four_product_factor * S ((S (ff_i_bpt_value_hj32_three_four_product)) * ff_c_bpt_value_hj32_three_four) + (ff_p_bpt_value_hj32_three_four_product))) /\ ((((exists ff_h_bpt_value_hj32_three_four_product_partial. ff_h_bpt_value_hj32_three_four_product_partial + S (ff_r_bpt_value_hj32_three_four_product) = S ((S (ff_i_bpt_value_hj32_three_four_product)) * ff_v_bpt_value_hj32_three_four_product)) /\ exists ff_q_bpt_value_hj32_three_four_product_partial. ff_u_bpt_value_hj32_three_four_product = ff_q_bpt_value_hj32_three_four_product_partial * S ((S (ff_i_bpt_value_hj32_three_four_product)) * ff_v_bpt_value_hj32_three_four_product) + (ff_r_bpt_value_hj32_three_four_product))) /\ ((((exists ff_h_bpt_value_hj32_three_four_product_successor. ff_h_bpt_value_hj32_three_four_product_successor + S (ff_s_bpt_value_hj32_three_four_product) = S ((S (S ff_i_bpt_value_hj32_three_four_product)) * ff_v_bpt_value_hj32_three_four_product)) /\ exists ff_q_bpt_value_hj32_three_four_product_successor. ff_u_bpt_value_hj32_three_four_product = ff_q_bpt_value_hj32_three_four_product_successor * S ((S (S ff_i_bpt_value_hj32_three_four_product)) * ff_v_bpt_value_hj32_three_four_product) + (ff_s_bpt_value_hj32_three_four_product))) /\ ff_s_bpt_value_hj32_three_four_product = ff_r_bpt_value_hj32_three_four_product * ff_p_bpt_value_hj32_three_four_product))))))))) -> (exists pa_b_hj32_three_five pa_c_hj32_three_five. ((forall pa_i_hj32_three_five_repeat. (exists pa_lt_hj32_three_five_repeat_bound. pa_lt_hj32_three_five_repeat_bound + S pa_i_hj32_three_five_repeat = 5) -> (((exists pa_h_hj32_three_five_repeat_decoded. pa_h_hj32_three_five_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_five_repeat)) * pa_c_hj32_three_five)) /\ exists pa_q_hj32_three_five_repeat_decoded. pa_b_hj32_three_five = pa_q_hj32_three_five_repeat_decoded * S ((S (pa_i_hj32_three_five_repeat)) * pa_c_hj32_three_five) + (3)))) /\ (exists pa_u_hj32_three_five_product pa_v_hj32_three_five_product. ((((exists pa_h_hj32_three_five_product_start. pa_h_hj32_three_five_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_five_product)) /\ exists pa_q_hj32_three_five_product_start. pa_u_hj32_three_five_product = pa_q_hj32_three_five_product_start * S ((S (0)) * pa_v_hj32_three_five_product) + (1))) /\ ((((exists pa_h_hj32_three_five_product_terminal. pa_h_hj32_three_five_product_terminal + S (x) = S ((S (5)) * pa_v_hj32_three_five_product)) /\ exists pa_q_hj32_three_five_product_terminal. pa_u_hj32_three_five_product = pa_q_hj32_three_five_product_terminal * S ((S (5)) * pa_v_hj32_three_five_product) + (x))) /\ forall pa_i_hj32_three_five_product. (exists pa_lt_hj32_three_five_product_bound. pa_lt_hj32_three_five_product_bound + S pa_i_hj32_three_five_product = 5) -> exists pa_p_hj32_three_five_product pa_r_hj32_three_five_product pa_s_hj32_three_five_product. ((((exists pa_h_hj32_three_five_product_factor. pa_h_hj32_three_five_product_factor + S (pa_p_hj32_three_five_product) = S ((S (pa_i_hj32_three_five_product)) * pa_c_hj32_three_five)) /\ exists pa_q_hj32_three_five_product_factor. pa_b_hj32_three_five = pa_q_hj32_three_five_product_factor * S ((S (pa_i_hj32_three_five_product)) * pa_c_hj32_three_five) + (pa_p_hj32_three_five_product))) /\ ((((exists pa_h_hj32_three_five_product_partial. pa_h_hj32_three_five_product_partial + S (pa_r_hj32_three_five_product) = S ((S (pa_i_hj32_three_five_product)) * pa_v_hj32_three_five_product)) /\ exists pa_q_hj32_three_five_product_partial. pa_u_hj32_three_five_product = pa_q_hj32_three_five_product_partial * S ((S (pa_i_hj32_three_five_product)) * pa_v_hj32_three_five_product) + (pa_r_hj32_three_five_product))) /\ ((((exists pa_h_hj32_three_five_product_successor. pa_h_hj32_three_five_product_successor + S (pa_s_hj32_three_five_product) = S ((S (S pa_i_hj32_three_five_product)) * pa_v_hj32_three_five_product)) /\ exists pa_q_hj32_three_five_product_successor. pa_u_hj32_three_five_product = pa_q_hj32_three_five_product_successor * S ((S (S pa_i_hj32_three_five_product)) * pa_v_hj32_three_five_product) + (pa_s_hj32_three_five_product))) /\ pa_s_hj32_three_five_product = pa_r_hj32_three_five_product * pa_p_hj32_three_five_product)))))))) -> (exists pa_b_hj32_four_four pa_c_hj32_four_four. ((forall pa_i_hj32_four_four_repeat. (exists pa_lt_hj32_four_four_repeat_bound. pa_lt_hj32_four_four_repeat_bound + S pa_i_hj32_four_four_repeat = 4) -> (((exists pa_h_hj32_four_four_repeat_decoded. pa_h_hj32_four_four_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_four_repeat)) * pa_c_hj32_four_four)) /\ exists pa_q_hj32_four_four_repeat_decoded. pa_b_hj32_four_four = pa_q_hj32_four_four_repeat_decoded * S ((S (pa_i_hj32_four_four_repeat)) * pa_c_hj32_four_four) + (4)))) /\ (exists pa_u_hj32_four_four_product pa_v_hj32_four_four_product. ((((exists pa_h_hj32_four_four_product_start. pa_h_hj32_four_four_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_four_product)) /\ exists pa_q_hj32_four_four_product_start. pa_u_hj32_four_four_product = pa_q_hj32_four_four_product_start * S ((S (0)) * pa_v_hj32_four_four_product) + (1))) /\ ((((exists pa_h_hj32_four_four_product_terminal. pa_h_hj32_four_four_product_terminal + S (y) = S ((S (4)) * pa_v_hj32_four_four_product)) /\ exists pa_q_hj32_four_four_product_terminal. pa_u_hj32_four_four_product = pa_q_hj32_four_four_product_terminal * S ((S (4)) * pa_v_hj32_four_four_product) + (y))) /\ forall pa_i_hj32_four_four_product. (exists pa_lt_hj32_four_four_product_bound. pa_lt_hj32_four_four_product_bound + S pa_i_hj32_four_four_product = 4) -> exists pa_p_hj32_four_four_product pa_r_hj32_four_four_product pa_s_hj32_four_four_product. ((((exists pa_h_hj32_four_four_product_factor. pa_h_hj32_four_four_product_factor + S (pa_p_hj32_four_four_product) = S ((S (pa_i_hj32_four_four_product)) * pa_c_hj32_four_four)) /\ exists pa_q_hj32_four_four_product_factor. pa_b_hj32_four_four = pa_q_hj32_four_four_product_factor * S ((S (pa_i_hj32_four_four_product)) * pa_c_hj32_four_four) + (pa_p_hj32_four_four_product))) /\ ((((exists pa_h_hj32_four_four_product_partial. pa_h_hj32_four_four_product_partial + S (pa_r_hj32_four_four_product) = S ((S (pa_i_hj32_four_four_product)) * pa_v_hj32_four_four_product)) /\ exists pa_q_hj32_four_four_product_partial. pa_u_hj32_four_four_product = pa_q_hj32_four_four_product_partial * S ((S (pa_i_hj32_four_four_product)) * pa_v_hj32_four_four_product) + (pa_r_hj32_four_four_product))) /\ ((((exists pa_h_hj32_four_four_product_successor. pa_h_hj32_four_four_product_successor + S (pa_s_hj32_four_four_product) = S ((S (S pa_i_hj32_four_four_product)) * pa_v_hj32_four_four_product)) /\ exists pa_q_hj32_four_four_product_successor. pa_u_hj32_four_four_product = pa_q_hj32_four_four_product_successor * S ((S (S pa_i_hj32_four_four_product)) * pa_v_hj32_four_four_product) + (pa_s_hj32_four_four_product))) /\ pa_s_hj32_four_four_product = pa_r_hj32_four_four_product * pa_p_hj32_four_four_product)))))))) -> (exists bqb_le_gap_hj32_three_four_result. bqb_le_gap_hj32_three_four_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

171 script commands · 29 reading checkpoints · 21 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 (6)
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_zero_anyL6–9

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

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

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

  1. L10
    cases hthree_zero_any
04Establish hthree_zero_valueL11–17

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

  1. L11
    have hthree_zero_value : x1 = 1
  2. L12
    specialize pow_zero 3
  3. L13
    specialize pow_zero 0
  4. L14
    specialize pow_zero x1
  5. L15
    apply pow_zero
  6. L16
    refl
  7. L17
    exact hthree_zero_any_witness
05Establish hthree_zeroL18–21

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

  1. L18
    have hthree_zero : Pow(3,0,1)Definitions: Pow(3,0,1)Original native command in the exact edition
  2. L19
    rewrite hthree_zero_value at hthree_zero_any_witness
  3. L20
    rewrite hthree_zero_value at hthree_zero_any_witness
  4. L21
    exact hthree_zero_any_witness
06Establish hthree_oneL22–30

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

  1. L22
    have hthree_one : Pow(3,1,1 · 3)Definitions: Pow(3,1,1 · 3)Original native command in the exact edition
  2. L23
    specialize pow_successor_compose_from_total 3
  3. L24
    specialize pow_successor_compose_from_total 0
  4. L25
    specialize pow_successor_compose_from_total 1
  5. L26
    specialize pow_successor_compose_from_total (1 * 3)
  6. L27
    apply pow_successor_compose_from_total
  7. L28
    exact htotal
  8. L29
    exact hthree_zero
  9. L30
    refl
07Establish hthree_twoL31–39

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

  1. L31
    have hthree_two : Pow(3,2,1 · 3 · 3)Definitions: Pow(3,2,1 · 3 · 3)Original native command in the exact edition
  2. L32
    specialize pow_successor_compose_from_total 3
  3. L33
    specialize pow_successor_compose_from_total 1
  4. L34
    specialize pow_successor_compose_from_total (1 * 3)
  5. L35
    specialize pow_successor_compose_from_total ((1 * 3) * 3)
  6. L36
    apply pow_successor_compose_from_total
  7. L37
    exact htotal
  8. L38
    exact hthree_one
  9. L39
    refl
08Establish hthree_threeL40–48

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

  1. L40
    have hthree_three : Pow(3,3,1 · 3 · 3 · 3)Definitions: Pow(3,3,1 · 3 · 3 · 3)Original native command in the exact edition
  2. L41
    specialize pow_successor_compose_from_total 3
  3. L42
    specialize pow_successor_compose_from_total 2
  4. L43
    specialize pow_successor_compose_from_total ((1 * 3) * 3)
  5. L44
    specialize pow_successor_compose_from_total (((1 * 3) * 3) * 3)
  6. L45
    apply pow_successor_compose_from_total
  7. L46
    exact htotal
  8. L47
    exact hthree_two
  9. L48
    refl
09Establish hthree_fourL49–57

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

  1. L49
    have hthree_four : Pow(3,4,1 · 3 · 3 · 3 · 3)Definitions: Pow(3,4,1 · 3 · 3 · 3 · 3)Original native command in the exact edition
  2. L50
    specialize pow_successor_compose_from_total 3
  3. L51
    specialize pow_successor_compose_from_total 3
  4. L52
    specialize pow_successor_compose_from_total (((1 * 3) * 3) * 3)
  5. L53
    specialize pow_successor_compose_from_total ((((1 * 3) * 3) * 3) * 3)
  6. L54
    apply pow_successor_compose_from_total
  7. L55
    exact htotal
  8. L56
    exact hthree_three
  9. L57
    refl
10Establish hthree_fiveL58–66

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

  1. L58
    have hthree_five : Pow(3,5,1 · 3 · 3 · 3 · 3 · 3)Definitions: Pow(3,5,1 · 3 · 3 · 3 · 3 · 3)Original native command in the exact edition
  2. L59
    specialize pow_successor_compose_from_total 3
  3. L60
    specialize pow_successor_compose_from_total 4
  4. L61
    specialize pow_successor_compose_from_total ((((1 * 3) * 3) * 3) * 3)
  5. L62
    specialize pow_successor_compose_from_total (((((1 * 3) * 3) * 3) * 3) * 3)
  6. L63
    apply pow_successor_compose_from_total
  7. L64
    exact htotal
  8. L65
    exact hthree_four
  9. L66
    refl
11Establish hfour_zero_anyL67–70

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

  1. L67
    have hfour_zero_any : ∃ q. Pow(4,0,q)Definitions: Pow(4,0,q)Original native command in the exact edition
  2. L68
    specialize htotal 4
  3. L69
    specialize htotal 0
  4. L70
    exact htotal
12Separate the logical casesL71–71

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

  1. L71
    cases hfour_zero_any
13Establish hfour_zero_valueL72–78

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

  1. L72
    have hfour_zero_value : x2 = 1
  2. L73
    specialize pow_zero 4
  3. L74
    specialize pow_zero 0
  4. L75
    specialize pow_zero x2
  5. L76
    apply pow_zero
  6. L77
    refl
  7. L78
    exact hfour_zero_any_witness
14Establish hfour_zeroL79–82

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

  1. L79
    have hfour_zero : Pow(4,0,1)Definitions: Pow(4,0,1)Original native command in the exact edition
  2. L80
    rewrite hfour_zero_value at hfour_zero_any_witness
  3. L81
    rewrite hfour_zero_value at hfour_zero_any_witness
  4. L82
    exact hfour_zero_any_witness
15Establish hfour_oneL83–91

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

  1. L83
    have hfour_one : Pow(4,1,1 · 4)Definitions: Pow(4,1,1 · 4)Original native command in the exact edition
  2. L84
    specialize pow_successor_compose_from_total 4
  3. L85
    specialize pow_successor_compose_from_total 0
  4. L86
    specialize pow_successor_compose_from_total 1
  5. L87
    specialize pow_successor_compose_from_total (1 * 4)
  6. L88
    apply pow_successor_compose_from_total
  7. L89
    exact htotal
  8. L90
    exact hfour_zero
  9. L91
    refl
16Establish hfour_twoL92–100

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

  1. L92
    have hfour_two : Pow(4,2,1 · 4 · 4)Definitions: Pow(4,2,1 · 4 · 4)Original native command in the exact edition
  2. L93
    specialize pow_successor_compose_from_total 4
  3. L94
    specialize pow_successor_compose_from_total 1
  4. L95
    specialize pow_successor_compose_from_total (1 * 4)
  5. L96
    specialize pow_successor_compose_from_total ((1 * 4) * 4)
  6. L97
    apply pow_successor_compose_from_total
  7. L98
    exact htotal
  8. L99
    exact hfour_one
  9. L100
    refl
17Establish hfour_threeL101–109

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

  1. L101
    have hfour_three : Pow(4,3,1 · 4 · 4 · 4)Definitions: Pow(4,3,1 · 4 · 4 · 4)Original native command in the exact edition
  2. L102
    specialize pow_successor_compose_from_total 4
  3. L103
    specialize pow_successor_compose_from_total 2
  4. L104
    specialize pow_successor_compose_from_total ((1 * 4) * 4)
  5. L105
    specialize pow_successor_compose_from_total (((1 * 4) * 4) * 4)
  6. L106
    apply pow_successor_compose_from_total
  7. L107
    exact htotal
  8. L108
    exact hfour_two
  9. L109
    refl
18Establish hfour_fourL110–118

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

  1. L110
    have hfour_four : Pow(4,4,1 · 4 · 4 · 4 · 4)Definitions: Pow(4,4,1 · 4 · 4 · 4 · 4)Original native command in the exact edition
  2. L111
    specialize pow_successor_compose_from_total 4
  3. L112
    specialize pow_successor_compose_from_total 3
  4. L113
    specialize pow_successor_compose_from_total (((1 * 4) * 4) * 4)
  5. L114
    specialize pow_successor_compose_from_total ((((1 * 4) * 4) * 4) * 4)
  6. L115
    apply pow_successor_compose_from_total
  7. L116
    exact htotal
  8. L117
    exact hfour_three
  9. L118
    refl
19Establish hx_valueL119–126

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

  1. L119
    have hx_value : x = ((((1 * 3) * 3) * 3) * 3) * 3
  2. L120
    specialize pow_functional 3
  3. L121
    specialize pow_functional 5
  4. L122
    specialize pow_functional x
  5. L123
    specialize pow_functional (((((1 * 3) * 3) * 3) * 3) * 3)
  6. L124
    apply pow_functional
  7. L125
    exact hx
  8. L126
    exact hthree_five
20Establish hy_valueL127–136

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

  1. L127
    have hy_value : y = (((1 * 4) * 4) * 4) * 4
  2. L128
    specialize pow_functional 4
  3. L129
    specialize pow_functional 4
  4. L130
    specialize pow_functional y
  5. L131
    specialize pow_functional ((((1 * 4) * 4) * 4) * 4)
  6. L132
    apply pow_functional
  7. L133
    exact hy
  8. L134
    exact hfour_four
  9. L135
    rewrite hx_value
  10. L136
    rewrite hy_value
21Construct an explicit witnessL137–137

Supply the displayed value, then prove that it has the required property.

  1. L137
    exists 13
22Establish hthree_four_splitL138–144

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

  1. L138
    have hthree_four_split : (((1 * 3) * 3) * 3) * 3 = (((1 * 4) * 4) * 4) + 17
  2. L139
    norm_num
  3. L140
    rewrite hthree_four_split
  4. L141
    specialize add_mul (((1 * 4) * 4) * 4)
  5. L142
    specialize add_mul 17
  6. L143
    specialize add_mul 3
  7. L144
    rewrite add_mul
23Establish hfour_stepL145–147

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

  1. L145
    have hfour_step : (((1 * 4) * 4) * 4) * 4 = (((1 * 4) * 4) * 4) * 3 + (((1 * 4) * 4) * 4)
  2. L146
    apply PA6
  3. L147
    rewrite hfour_step
24Establish hseventeen_threeL148–150

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

  1. L148
    have hseventeen_three : 17 * 3 = 51
  2. L149
    norm_num
  3. L150
    rewrite hseventeen_three
25Establish hthirteen_fifty_oneL151–160

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

  1. L151
    have hthirteen_fifty_one : 13 + 51 = ((1 * 4) * 4) * 4
  2. L152
    norm_num
  3. L153
    trans (13 + (((1 * 4) * 4) * 4) * 3) + 51
  4. L154
    symm
  5. L155
    specialize add_assoc 13
  6. L156
    specialize add_assoc ((((1 * 4) * 4) * 4) * 3)
  7. L157
    specialize add_assoc 51
  8. L158
    apply add_assoc
  9. L159
    trans ((((1 * 4) * 4) * 4) * 3 + 13) + 51
  10. L160
    congr
26Use earlier factsL161–163

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

  1. L161
    specialize add_comm 13
  2. L162
    specialize add_comm ((((1 * 4) * 4) * 4) * 3)
  3. L163
    apply add_comm
27Calculate and transport equalitiesL164–165

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

  1. L164
    refl
  2. L165
    trans (((1 * 4) * 4) * 4) * 3 + (13 + 51)
28Use earlier factsL166–169

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

  1. L166
    specialize add_assoc ((((1 * 4) * 4) * 4) * 3)
  2. L167
    specialize add_assoc 13
  3. L168
    specialize add_assoc 51
  4. L169
    apply add_assoc
29Calculate and transport equalitiesL170–171

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

  1. L170
    rewrite hthirteen_fifty_one
  2. L171
    refl

Library-wide reading audit

Original defined command ledger · 171 lines
  1. 0001intro x
  2. 0002intro y
  3. 0003intro htotal
  4. 0004intro hx
  5. 0005intro hy
  6. 0006have hthree_zero_any : ∃ q. Pow(3,0,q)
    Exact native replay linehave hthree_zero_any : exists q. (exists pa_b_hj32_three_zero_any pa_c_hj32_three_zero_any. ((forall pa_i_hj32_three_zero_any_repeat. (exists pa_lt_hj32_three_zero_any_repeat_bound. pa_lt_hj32_three_zero_any_repeat_bound + S pa_i_hj32_three_zero_any_repeat = 0) -> (((exists pa_h_hj32_three_zero_any_repeat_decoded. pa_h_hj32_three_zero_any_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_zero_any_repeat)) * pa_c_hj32_three_zero_any)) /\ exists pa_q_hj32_three_zero_any_repeat_decoded. pa_b_hj32_three_zero_any = pa_q_hj32_three_zero_any_repeat_decoded * S ((S (pa_i_hj32_three_zero_any_repeat)) * pa_c_hj32_three_zero_any) + (3)))) /\ (exists pa_u_hj32_three_zero_any_product pa_v_hj32_three_zero_any_product. ((((exists pa_h_hj32_three_zero_any_product_start. pa_h_hj32_three_zero_any_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_zero_any_product)) /\ exists pa_q_hj32_three_zero_any_product_start. pa_u_hj32_three_zero_any_product = pa_q_hj32_three_zero_any_product_start * S ((S (0)) * pa_v_hj32_three_zero_any_product) + (1))) /\ ((((exists pa_h_hj32_three_zero_any_product_terminal. pa_h_hj32_three_zero_any_product_terminal + S (q) = S ((S (0)) * pa_v_hj32_three_zero_any_product)) /\ exists pa_q_hj32_three_zero_any_product_terminal. pa_u_hj32_three_zero_any_product = pa_q_hj32_three_zero_any_product_terminal * S ((S (0)) * pa_v_hj32_three_zero_any_product) + (q))) /\ forall pa_i_hj32_three_zero_any_product. (exists pa_lt_hj32_three_zero_any_product_bound. pa_lt_hj32_three_zero_any_product_bound + S pa_i_hj32_three_zero_any_product = 0) -> exists pa_p_hj32_three_zero_any_product pa_r_hj32_three_zero_any_product pa_s_hj32_three_zero_any_product. ((((exists pa_h_hj32_three_zero_any_product_factor. pa_h_hj32_three_zero_any_product_factor + S (pa_p_hj32_three_zero_any_product) = S ((S (pa_i_hj32_three_zero_any_product)) * pa_c_hj32_three_zero_any)) /\ exists pa_q_hj32_three_zero_any_product_factor. pa_b_hj32_three_zero_any = pa_q_hj32_three_zero_any_product_factor * S ((S (pa_i_hj32_three_zero_any_product)) * pa_c_hj32_three_zero_any) + (pa_p_hj32_three_zero_any_product))) /\ ((((exists pa_h_hj32_three_zero_any_product_partial. pa_h_hj32_three_zero_any_product_partial + S (pa_r_hj32_three_zero_any_product) = S ((S (pa_i_hj32_three_zero_any_product)) * pa_v_hj32_three_zero_any_product)) /\ exists pa_q_hj32_three_zero_any_product_partial. pa_u_hj32_three_zero_any_product = pa_q_hj32_three_zero_any_product_partial * S ((S (pa_i_hj32_three_zero_any_product)) * pa_v_hj32_three_zero_any_product) + (pa_r_hj32_three_zero_any_product))) /\ ((((exists pa_h_hj32_three_zero_any_product_successor. pa_h_hj32_three_zero_any_product_successor + S (pa_s_hj32_three_zero_any_product) = S ((S (S pa_i_hj32_three_zero_any_product)) * pa_v_hj32_three_zero_any_product)) /\ exists pa_q_hj32_three_zero_any_product_successor. pa_u_hj32_three_zero_any_product = pa_q_hj32_three_zero_any_product_successor * S ((S (S pa_i_hj32_three_zero_any_product)) * pa_v_hj32_three_zero_any_product) + (pa_s_hj32_three_zero_any_product))) /\ pa_s_hj32_three_zero_any_product = pa_r_hj32_three_zero_any_product * pa_p_hj32_three_zero_any_product))))))))
  7. 0007specialize htotal 3
  8. 0008specialize htotal 0
  9. 0009exact htotal
  10. 0010cases hthree_zero_any
  11. 0011have hthree_zero_value : x1 = 1
  12. 0012specialize pow_zero 3
  13. 0013specialize pow_zero 0
  14. 0014specialize pow_zero x1
  15. 0015apply pow_zero
  16. 0016refl
  17. 0017exact hthree_zero_any_witness
  18. 0018have hthree_zero : Pow(3,0,1)
    Exact native replay linehave hthree_zero : exists pa_b_hj32_three_zero pa_c_hj32_three_zero. ((forall pa_i_hj32_three_zero_repeat. (exists pa_lt_hj32_three_zero_repeat_bound. pa_lt_hj32_three_zero_repeat_bound + S pa_i_hj32_three_zero_repeat = 0) -> (((exists pa_h_hj32_three_zero_repeat_decoded. pa_h_hj32_three_zero_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_zero_repeat)) * pa_c_hj32_three_zero)) /\ exists pa_q_hj32_three_zero_repeat_decoded. pa_b_hj32_three_zero = pa_q_hj32_three_zero_repeat_decoded * S ((S (pa_i_hj32_three_zero_repeat)) * pa_c_hj32_three_zero) + (3)))) /\ (exists pa_u_hj32_three_zero_product pa_v_hj32_three_zero_product. ((((exists pa_h_hj32_three_zero_product_start. pa_h_hj32_three_zero_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_zero_product)) /\ exists pa_q_hj32_three_zero_product_start. pa_u_hj32_three_zero_product = pa_q_hj32_three_zero_product_start * S ((S (0)) * pa_v_hj32_three_zero_product) + (1))) /\ ((((exists pa_h_hj32_three_zero_product_terminal. pa_h_hj32_three_zero_product_terminal + S (1) = S ((S (0)) * pa_v_hj32_three_zero_product)) /\ exists pa_q_hj32_three_zero_product_terminal. pa_u_hj32_three_zero_product = pa_q_hj32_three_zero_product_terminal * S ((S (0)) * pa_v_hj32_three_zero_product) + (1))) /\ forall pa_i_hj32_three_zero_product. (exists pa_lt_hj32_three_zero_product_bound. pa_lt_hj32_three_zero_product_bound + S pa_i_hj32_three_zero_product = 0) -> exists pa_p_hj32_three_zero_product pa_r_hj32_three_zero_product pa_s_hj32_three_zero_product. ((((exists pa_h_hj32_three_zero_product_factor. pa_h_hj32_three_zero_product_factor + S (pa_p_hj32_three_zero_product) = S ((S (pa_i_hj32_three_zero_product)) * pa_c_hj32_three_zero)) /\ exists pa_q_hj32_three_zero_product_factor. pa_b_hj32_three_zero = pa_q_hj32_three_zero_product_factor * S ((S (pa_i_hj32_three_zero_product)) * pa_c_hj32_three_zero) + (pa_p_hj32_three_zero_product))) /\ ((((exists pa_h_hj32_three_zero_product_partial. pa_h_hj32_three_zero_product_partial + S (pa_r_hj32_three_zero_product) = S ((S (pa_i_hj32_three_zero_product)) * pa_v_hj32_three_zero_product)) /\ exists pa_q_hj32_three_zero_product_partial. pa_u_hj32_three_zero_product = pa_q_hj32_three_zero_product_partial * S ((S (pa_i_hj32_three_zero_product)) * pa_v_hj32_three_zero_product) + (pa_r_hj32_three_zero_product))) /\ ((((exists pa_h_hj32_three_zero_product_successor. pa_h_hj32_three_zero_product_successor + S (pa_s_hj32_three_zero_product) = S ((S (S pa_i_hj32_three_zero_product)) * pa_v_hj32_three_zero_product)) /\ exists pa_q_hj32_three_zero_product_successor. pa_u_hj32_three_zero_product = pa_q_hj32_three_zero_product_successor * S ((S (S pa_i_hj32_three_zero_product)) * pa_v_hj32_three_zero_product) + (pa_s_hj32_three_zero_product))) /\ pa_s_hj32_three_zero_product = pa_r_hj32_three_zero_product * pa_p_hj32_three_zero_product)))))))
  19. 0019rewrite hthree_zero_value at hthree_zero_any_witness
  20. 0020rewrite hthree_zero_value at hthree_zero_any_witness
  21. 0021exact hthree_zero_any_witness
  22. 0022have hthree_one : Pow(3,1,1 · 3)
    Exact native replay linehave hthree_one : exists pa_b_hj32_three_one pa_c_hj32_three_one. ((forall pa_i_hj32_three_one_repeat. (exists pa_lt_hj32_three_one_repeat_bound. pa_lt_hj32_three_one_repeat_bound + S pa_i_hj32_three_one_repeat = 1) -> (((exists pa_h_hj32_three_one_repeat_decoded. pa_h_hj32_three_one_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_one_repeat)) * pa_c_hj32_three_one)) /\ exists pa_q_hj32_three_one_repeat_decoded. pa_b_hj32_three_one = pa_q_hj32_three_one_repeat_decoded * S ((S (pa_i_hj32_three_one_repeat)) * pa_c_hj32_three_one) + (3)))) /\ (exists pa_u_hj32_three_one_product pa_v_hj32_three_one_product. ((((exists pa_h_hj32_three_one_product_start. pa_h_hj32_three_one_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_one_product)) /\ exists pa_q_hj32_three_one_product_start. pa_u_hj32_three_one_product = pa_q_hj32_three_one_product_start * S ((S (0)) * pa_v_hj32_three_one_product) + (1))) /\ ((((exists pa_h_hj32_three_one_product_terminal. pa_h_hj32_three_one_product_terminal + S (1 * 3) = S ((S (1)) * pa_v_hj32_three_one_product)) /\ exists pa_q_hj32_three_one_product_terminal. pa_u_hj32_three_one_product = pa_q_hj32_three_one_product_terminal * S ((S (1)) * pa_v_hj32_three_one_product) + (1 * 3))) /\ forall pa_i_hj32_three_one_product. (exists pa_lt_hj32_three_one_product_bound. pa_lt_hj32_three_one_product_bound + S pa_i_hj32_three_one_product = 1) -> exists pa_p_hj32_three_one_product pa_r_hj32_three_one_product pa_s_hj32_three_one_product. ((((exists pa_h_hj32_three_one_product_factor. pa_h_hj32_three_one_product_factor + S (pa_p_hj32_three_one_product) = S ((S (pa_i_hj32_three_one_product)) * pa_c_hj32_three_one)) /\ exists pa_q_hj32_three_one_product_factor. pa_b_hj32_three_one = pa_q_hj32_three_one_product_factor * S ((S (pa_i_hj32_three_one_product)) * pa_c_hj32_three_one) + (pa_p_hj32_three_one_product))) /\ ((((exists pa_h_hj32_three_one_product_partial. pa_h_hj32_three_one_product_partial + S (pa_r_hj32_three_one_product) = S ((S (pa_i_hj32_three_one_product)) * pa_v_hj32_three_one_product)) /\ exists pa_q_hj32_three_one_product_partial. pa_u_hj32_three_one_product = pa_q_hj32_three_one_product_partial * S ((S (pa_i_hj32_three_one_product)) * pa_v_hj32_three_one_product) + (pa_r_hj32_three_one_product))) /\ ((((exists pa_h_hj32_three_one_product_successor. pa_h_hj32_three_one_product_successor + S (pa_s_hj32_three_one_product) = S ((S (S pa_i_hj32_three_one_product)) * pa_v_hj32_three_one_product)) /\ exists pa_q_hj32_three_one_product_successor. pa_u_hj32_three_one_product = pa_q_hj32_three_one_product_successor * S ((S (S pa_i_hj32_three_one_product)) * pa_v_hj32_three_one_product) + (pa_s_hj32_three_one_product))) /\ pa_s_hj32_three_one_product = pa_r_hj32_three_one_product * pa_p_hj32_three_one_product)))))))
  23. 0023specialize pow_successor_compose_from_total 3
  24. 0024specialize pow_successor_compose_from_total 0
  25. 0025specialize pow_successor_compose_from_total 1
  26. 0026specialize pow_successor_compose_from_total (1 * 3)
  27. 0027apply pow_successor_compose_from_total
  28. 0028exact htotal
  29. 0029exact hthree_zero
  30. 0030refl
  31. 0031have hthree_two : Pow(3,2,1 · 3 · 3)
    Exact native replay linehave hthree_two : exists pa_b_hj32_three_two pa_c_hj32_three_two. ((forall pa_i_hj32_three_two_repeat. (exists pa_lt_hj32_three_two_repeat_bound. pa_lt_hj32_three_two_repeat_bound + S pa_i_hj32_three_two_repeat = 2) -> (((exists pa_h_hj32_three_two_repeat_decoded. pa_h_hj32_three_two_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_two_repeat)) * pa_c_hj32_three_two)) /\ exists pa_q_hj32_three_two_repeat_decoded. pa_b_hj32_three_two = pa_q_hj32_three_two_repeat_decoded * S ((S (pa_i_hj32_three_two_repeat)) * pa_c_hj32_three_two) + (3)))) /\ (exists pa_u_hj32_three_two_product pa_v_hj32_three_two_product. ((((exists pa_h_hj32_three_two_product_start. pa_h_hj32_three_two_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_two_product)) /\ exists pa_q_hj32_three_two_product_start. pa_u_hj32_three_two_product = pa_q_hj32_three_two_product_start * S ((S (0)) * pa_v_hj32_three_two_product) + (1))) /\ ((((exists pa_h_hj32_three_two_product_terminal. pa_h_hj32_three_two_product_terminal + S ((1 * 3) * 3) = S ((S (2)) * pa_v_hj32_three_two_product)) /\ exists pa_q_hj32_three_two_product_terminal. pa_u_hj32_three_two_product = pa_q_hj32_three_two_product_terminal * S ((S (2)) * pa_v_hj32_three_two_product) + ((1 * 3) * 3))) /\ forall pa_i_hj32_three_two_product. (exists pa_lt_hj32_three_two_product_bound. pa_lt_hj32_three_two_product_bound + S pa_i_hj32_three_two_product = 2) -> exists pa_p_hj32_three_two_product pa_r_hj32_three_two_product pa_s_hj32_three_two_product. ((((exists pa_h_hj32_three_two_product_factor. pa_h_hj32_three_two_product_factor + S (pa_p_hj32_three_two_product) = S ((S (pa_i_hj32_three_two_product)) * pa_c_hj32_three_two)) /\ exists pa_q_hj32_three_two_product_factor. pa_b_hj32_three_two = pa_q_hj32_three_two_product_factor * S ((S (pa_i_hj32_three_two_product)) * pa_c_hj32_three_two) + (pa_p_hj32_three_two_product))) /\ ((((exists pa_h_hj32_three_two_product_partial. pa_h_hj32_three_two_product_partial + S (pa_r_hj32_three_two_product) = S ((S (pa_i_hj32_three_two_product)) * pa_v_hj32_three_two_product)) /\ exists pa_q_hj32_three_two_product_partial. pa_u_hj32_three_two_product = pa_q_hj32_three_two_product_partial * S ((S (pa_i_hj32_three_two_product)) * pa_v_hj32_three_two_product) + (pa_r_hj32_three_two_product))) /\ ((((exists pa_h_hj32_three_two_product_successor. pa_h_hj32_three_two_product_successor + S (pa_s_hj32_three_two_product) = S ((S (S pa_i_hj32_three_two_product)) * pa_v_hj32_three_two_product)) /\ exists pa_q_hj32_three_two_product_successor. pa_u_hj32_three_two_product = pa_q_hj32_three_two_product_successor * S ((S (S pa_i_hj32_three_two_product)) * pa_v_hj32_three_two_product) + (pa_s_hj32_three_two_product))) /\ pa_s_hj32_three_two_product = pa_r_hj32_three_two_product * pa_p_hj32_three_two_product)))))))
  32. 0032specialize pow_successor_compose_from_total 3
  33. 0033specialize pow_successor_compose_from_total 1
  34. 0034specialize pow_successor_compose_from_total (1 * 3)
  35. 0035specialize pow_successor_compose_from_total ((1 * 3) * 3)
  36. 0036apply pow_successor_compose_from_total
  37. 0037exact htotal
  38. 0038exact hthree_one
  39. 0039refl
  40. 0040have hthree_three : Pow(3,3,1 · 3 · 3 · 3)
    Exact native replay linehave hthree_three : exists pa_b_hj32_three_three pa_c_hj32_three_three. ((forall pa_i_hj32_three_three_repeat. (exists pa_lt_hj32_three_three_repeat_bound. pa_lt_hj32_three_three_repeat_bound + S pa_i_hj32_three_three_repeat = 3) -> (((exists pa_h_hj32_three_three_repeat_decoded. pa_h_hj32_three_three_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_three_repeat)) * pa_c_hj32_three_three)) /\ exists pa_q_hj32_three_three_repeat_decoded. pa_b_hj32_three_three = pa_q_hj32_three_three_repeat_decoded * S ((S (pa_i_hj32_three_three_repeat)) * pa_c_hj32_three_three) + (3)))) /\ (exists pa_u_hj32_three_three_product pa_v_hj32_three_three_product. ((((exists pa_h_hj32_three_three_product_start. pa_h_hj32_three_three_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_three_product)) /\ exists pa_q_hj32_three_three_product_start. pa_u_hj32_three_three_product = pa_q_hj32_three_three_product_start * S ((S (0)) * pa_v_hj32_three_three_product) + (1))) /\ ((((exists pa_h_hj32_three_three_product_terminal. pa_h_hj32_three_three_product_terminal + S (((1 * 3) * 3) * 3) = S ((S (3)) * pa_v_hj32_three_three_product)) /\ exists pa_q_hj32_three_three_product_terminal. pa_u_hj32_three_three_product = pa_q_hj32_three_three_product_terminal * S ((S (3)) * pa_v_hj32_three_three_product) + (((1 * 3) * 3) * 3))) /\ forall pa_i_hj32_three_three_product. (exists pa_lt_hj32_three_three_product_bound. pa_lt_hj32_three_three_product_bound + S pa_i_hj32_three_three_product = 3) -> exists pa_p_hj32_three_three_product pa_r_hj32_three_three_product pa_s_hj32_three_three_product. ((((exists pa_h_hj32_three_three_product_factor. pa_h_hj32_three_three_product_factor + S (pa_p_hj32_three_three_product) = S ((S (pa_i_hj32_three_three_product)) * pa_c_hj32_three_three)) /\ exists pa_q_hj32_three_three_product_factor. pa_b_hj32_three_three = pa_q_hj32_three_three_product_factor * S ((S (pa_i_hj32_three_three_product)) * pa_c_hj32_three_three) + (pa_p_hj32_three_three_product))) /\ ((((exists pa_h_hj32_three_three_product_partial. pa_h_hj32_three_three_product_partial + S (pa_r_hj32_three_three_product) = S ((S (pa_i_hj32_three_three_product)) * pa_v_hj32_three_three_product)) /\ exists pa_q_hj32_three_three_product_partial. pa_u_hj32_three_three_product = pa_q_hj32_three_three_product_partial * S ((S (pa_i_hj32_three_three_product)) * pa_v_hj32_three_three_product) + (pa_r_hj32_three_three_product))) /\ ((((exists pa_h_hj32_three_three_product_successor. pa_h_hj32_three_three_product_successor + S (pa_s_hj32_three_three_product) = S ((S (S pa_i_hj32_three_three_product)) * pa_v_hj32_three_three_product)) /\ exists pa_q_hj32_three_three_product_successor. pa_u_hj32_three_three_product = pa_q_hj32_three_three_product_successor * S ((S (S pa_i_hj32_three_three_product)) * pa_v_hj32_three_three_product) + (pa_s_hj32_three_three_product))) /\ pa_s_hj32_three_three_product = pa_r_hj32_three_three_product * pa_p_hj32_three_three_product)))))))
  41. 0041specialize pow_successor_compose_from_total 3
  42. 0042specialize pow_successor_compose_from_total 2
  43. 0043specialize pow_successor_compose_from_total ((1 * 3) * 3)
  44. 0044specialize pow_successor_compose_from_total (((1 * 3) * 3) * 3)
  45. 0045apply pow_successor_compose_from_total
  46. 0046exact htotal
  47. 0047exact hthree_two
  48. 0048refl
  49. 0049have hthree_four : Pow(3,4,1 · 3 · 3 · 3 · 3)
    Exact native replay linehave hthree_four : exists pa_b_hj32_three_four pa_c_hj32_three_four. ((forall pa_i_hj32_three_four_repeat. (exists pa_lt_hj32_three_four_repeat_bound. pa_lt_hj32_three_four_repeat_bound + S pa_i_hj32_three_four_repeat = 4) -> (((exists pa_h_hj32_three_four_repeat_decoded. pa_h_hj32_three_four_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_four_repeat)) * pa_c_hj32_three_four)) /\ exists pa_q_hj32_three_four_repeat_decoded. pa_b_hj32_three_four = pa_q_hj32_three_four_repeat_decoded * S ((S (pa_i_hj32_three_four_repeat)) * pa_c_hj32_three_four) + (3)))) /\ (exists pa_u_hj32_three_four_product pa_v_hj32_three_four_product. ((((exists pa_h_hj32_three_four_product_start. pa_h_hj32_three_four_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_four_product)) /\ exists pa_q_hj32_three_four_product_start. pa_u_hj32_three_four_product = pa_q_hj32_three_four_product_start * S ((S (0)) * pa_v_hj32_three_four_product) + (1))) /\ ((((exists pa_h_hj32_three_four_product_terminal. pa_h_hj32_three_four_product_terminal + S ((((1 * 3) * 3) * 3) * 3) = S ((S (4)) * pa_v_hj32_three_four_product)) /\ exists pa_q_hj32_three_four_product_terminal. pa_u_hj32_three_four_product = pa_q_hj32_three_four_product_terminal * S ((S (4)) * pa_v_hj32_three_four_product) + ((((1 * 3) * 3) * 3) * 3))) /\ forall pa_i_hj32_three_four_product. (exists pa_lt_hj32_three_four_product_bound. pa_lt_hj32_three_four_product_bound + S pa_i_hj32_three_four_product = 4) -> exists pa_p_hj32_three_four_product pa_r_hj32_three_four_product pa_s_hj32_three_four_product. ((((exists pa_h_hj32_three_four_product_factor. pa_h_hj32_three_four_product_factor + S (pa_p_hj32_three_four_product) = S ((S (pa_i_hj32_three_four_product)) * pa_c_hj32_three_four)) /\ exists pa_q_hj32_three_four_product_factor. pa_b_hj32_three_four = pa_q_hj32_three_four_product_factor * S ((S (pa_i_hj32_three_four_product)) * pa_c_hj32_three_four) + (pa_p_hj32_three_four_product))) /\ ((((exists pa_h_hj32_three_four_product_partial. pa_h_hj32_three_four_product_partial + S (pa_r_hj32_three_four_product) = S ((S (pa_i_hj32_three_four_product)) * pa_v_hj32_three_four_product)) /\ exists pa_q_hj32_three_four_product_partial. pa_u_hj32_three_four_product = pa_q_hj32_three_four_product_partial * S ((S (pa_i_hj32_three_four_product)) * pa_v_hj32_three_four_product) + (pa_r_hj32_three_four_product))) /\ ((((exists pa_h_hj32_three_four_product_successor. pa_h_hj32_three_four_product_successor + S (pa_s_hj32_three_four_product) = S ((S (S pa_i_hj32_three_four_product)) * pa_v_hj32_three_four_product)) /\ exists pa_q_hj32_three_four_product_successor. pa_u_hj32_three_four_product = pa_q_hj32_three_four_product_successor * S ((S (S pa_i_hj32_three_four_product)) * pa_v_hj32_three_four_product) + (pa_s_hj32_three_four_product))) /\ pa_s_hj32_three_four_product = pa_r_hj32_three_four_product * pa_p_hj32_three_four_product)))))))
  50. 0050specialize pow_successor_compose_from_total 3
  51. 0051specialize pow_successor_compose_from_total 3
  52. 0052specialize pow_successor_compose_from_total (((1 * 3) * 3) * 3)
  53. 0053specialize pow_successor_compose_from_total ((((1 * 3) * 3) * 3) * 3)
  54. 0054apply pow_successor_compose_from_total
  55. 0055exact htotal
  56. 0056exact hthree_three
  57. 0057refl
  58. 0058have hthree_five : Pow(3,5,1 · 3 · 3 · 3 · 3 · 3)
    Exact native replay linehave hthree_five : exists pa_b_hj32_three_five_exact pa_c_hj32_three_five_exact. ((forall pa_i_hj32_three_five_exact_repeat. (exists pa_lt_hj32_three_five_exact_repeat_bound. pa_lt_hj32_three_five_exact_repeat_bound + S pa_i_hj32_three_five_exact_repeat = 5) -> (((exists pa_h_hj32_three_five_exact_repeat_decoded. pa_h_hj32_three_five_exact_repeat_decoded + S (3) = S ((S (pa_i_hj32_three_five_exact_repeat)) * pa_c_hj32_three_five_exact)) /\ exists pa_q_hj32_three_five_exact_repeat_decoded. pa_b_hj32_three_five_exact = pa_q_hj32_three_five_exact_repeat_decoded * S ((S (pa_i_hj32_three_five_exact_repeat)) * pa_c_hj32_three_five_exact) + (3)))) /\ (exists pa_u_hj32_three_five_exact_product pa_v_hj32_three_five_exact_product. ((((exists pa_h_hj32_three_five_exact_product_start. pa_h_hj32_three_five_exact_product_start + S (1) = S ((S (0)) * pa_v_hj32_three_five_exact_product)) /\ exists pa_q_hj32_three_five_exact_product_start. pa_u_hj32_three_five_exact_product = pa_q_hj32_three_five_exact_product_start * S ((S (0)) * pa_v_hj32_three_five_exact_product) + (1))) /\ ((((exists pa_h_hj32_three_five_exact_product_terminal. pa_h_hj32_three_five_exact_product_terminal + S (((((1 * 3) * 3) * 3) * 3) * 3) = S ((S (5)) * pa_v_hj32_three_five_exact_product)) /\ exists pa_q_hj32_three_five_exact_product_terminal. pa_u_hj32_three_five_exact_product = pa_q_hj32_three_five_exact_product_terminal * S ((S (5)) * pa_v_hj32_three_five_exact_product) + (((((1 * 3) * 3) * 3) * 3) * 3))) /\ forall pa_i_hj32_three_five_exact_product. (exists pa_lt_hj32_three_five_exact_product_bound. pa_lt_hj32_three_five_exact_product_bound + S pa_i_hj32_three_five_exact_product = 5) -> exists pa_p_hj32_three_five_exact_product pa_r_hj32_three_five_exact_product pa_s_hj32_three_five_exact_product. ((((exists pa_h_hj32_three_five_exact_product_factor. pa_h_hj32_three_five_exact_product_factor + S (pa_p_hj32_three_five_exact_product) = S ((S (pa_i_hj32_three_five_exact_product)) * pa_c_hj32_three_five_exact)) /\ exists pa_q_hj32_three_five_exact_product_factor. pa_b_hj32_three_five_exact = pa_q_hj32_three_five_exact_product_factor * S ((S (pa_i_hj32_three_five_exact_product)) * pa_c_hj32_three_five_exact) + (pa_p_hj32_three_five_exact_product))) /\ ((((exists pa_h_hj32_three_five_exact_product_partial. pa_h_hj32_three_five_exact_product_partial + S (pa_r_hj32_three_five_exact_product) = S ((S (pa_i_hj32_three_five_exact_product)) * pa_v_hj32_three_five_exact_product)) /\ exists pa_q_hj32_three_five_exact_product_partial. pa_u_hj32_three_five_exact_product = pa_q_hj32_three_five_exact_product_partial * S ((S (pa_i_hj32_three_five_exact_product)) * pa_v_hj32_three_five_exact_product) + (pa_r_hj32_three_five_exact_product))) /\ ((((exists pa_h_hj32_three_five_exact_product_successor. pa_h_hj32_three_five_exact_product_successor + S (pa_s_hj32_three_five_exact_product) = S ((S (S pa_i_hj32_three_five_exact_product)) * pa_v_hj32_three_five_exact_product)) /\ exists pa_q_hj32_three_five_exact_product_successor. pa_u_hj32_three_five_exact_product = pa_q_hj32_three_five_exact_product_successor * S ((S (S pa_i_hj32_three_five_exact_product)) * pa_v_hj32_three_five_exact_product) + (pa_s_hj32_three_five_exact_product))) /\ pa_s_hj32_three_five_exact_product = pa_r_hj32_three_five_exact_product * pa_p_hj32_three_five_exact_product)))))))
  59. 0059specialize pow_successor_compose_from_total 3
  60. 0060specialize pow_successor_compose_from_total 4
  61. 0061specialize pow_successor_compose_from_total ((((1 * 3) * 3) * 3) * 3)
  62. 0062specialize pow_successor_compose_from_total (((((1 * 3) * 3) * 3) * 3) * 3)
  63. 0063apply pow_successor_compose_from_total
  64. 0064exact htotal
  65. 0065exact hthree_four
  66. 0066refl
  67. 0067have hfour_zero_any : ∃ q. Pow(4,0,q)
    Exact native replay linehave hfour_zero_any : exists q. (exists pa_b_hj32_four_zero_any pa_c_hj32_four_zero_any. ((forall pa_i_hj32_four_zero_any_repeat. (exists pa_lt_hj32_four_zero_any_repeat_bound. pa_lt_hj32_four_zero_any_repeat_bound + S pa_i_hj32_four_zero_any_repeat = 0) -> (((exists pa_h_hj32_four_zero_any_repeat_decoded. pa_h_hj32_four_zero_any_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_zero_any_repeat)) * pa_c_hj32_four_zero_any)) /\ exists pa_q_hj32_four_zero_any_repeat_decoded. pa_b_hj32_four_zero_any = pa_q_hj32_four_zero_any_repeat_decoded * S ((S (pa_i_hj32_four_zero_any_repeat)) * pa_c_hj32_four_zero_any) + (4)))) /\ (exists pa_u_hj32_four_zero_any_product pa_v_hj32_four_zero_any_product. ((((exists pa_h_hj32_four_zero_any_product_start. pa_h_hj32_four_zero_any_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_zero_any_product)) /\ exists pa_q_hj32_four_zero_any_product_start. pa_u_hj32_four_zero_any_product = pa_q_hj32_four_zero_any_product_start * S ((S (0)) * pa_v_hj32_four_zero_any_product) + (1))) /\ ((((exists pa_h_hj32_four_zero_any_product_terminal. pa_h_hj32_four_zero_any_product_terminal + S (q) = S ((S (0)) * pa_v_hj32_four_zero_any_product)) /\ exists pa_q_hj32_four_zero_any_product_terminal. pa_u_hj32_four_zero_any_product = pa_q_hj32_four_zero_any_product_terminal * S ((S (0)) * pa_v_hj32_four_zero_any_product) + (q))) /\ forall pa_i_hj32_four_zero_any_product. (exists pa_lt_hj32_four_zero_any_product_bound. pa_lt_hj32_four_zero_any_product_bound + S pa_i_hj32_four_zero_any_product = 0) -> exists pa_p_hj32_four_zero_any_product pa_r_hj32_four_zero_any_product pa_s_hj32_four_zero_any_product. ((((exists pa_h_hj32_four_zero_any_product_factor. pa_h_hj32_four_zero_any_product_factor + S (pa_p_hj32_four_zero_any_product) = S ((S (pa_i_hj32_four_zero_any_product)) * pa_c_hj32_four_zero_any)) /\ exists pa_q_hj32_four_zero_any_product_factor. pa_b_hj32_four_zero_any = pa_q_hj32_four_zero_any_product_factor * S ((S (pa_i_hj32_four_zero_any_product)) * pa_c_hj32_four_zero_any) + (pa_p_hj32_four_zero_any_product))) /\ ((((exists pa_h_hj32_four_zero_any_product_partial. pa_h_hj32_four_zero_any_product_partial + S (pa_r_hj32_four_zero_any_product) = S ((S (pa_i_hj32_four_zero_any_product)) * pa_v_hj32_four_zero_any_product)) /\ exists pa_q_hj32_four_zero_any_product_partial. pa_u_hj32_four_zero_any_product = pa_q_hj32_four_zero_any_product_partial * S ((S (pa_i_hj32_four_zero_any_product)) * pa_v_hj32_four_zero_any_product) + (pa_r_hj32_four_zero_any_product))) /\ ((((exists pa_h_hj32_four_zero_any_product_successor. pa_h_hj32_four_zero_any_product_successor + S (pa_s_hj32_four_zero_any_product) = S ((S (S pa_i_hj32_four_zero_any_product)) * pa_v_hj32_four_zero_any_product)) /\ exists pa_q_hj32_four_zero_any_product_successor. pa_u_hj32_four_zero_any_product = pa_q_hj32_four_zero_any_product_successor * S ((S (S pa_i_hj32_four_zero_any_product)) * pa_v_hj32_four_zero_any_product) + (pa_s_hj32_four_zero_any_product))) /\ pa_s_hj32_four_zero_any_product = pa_r_hj32_four_zero_any_product * pa_p_hj32_four_zero_any_product))))))))
  68. 0068specialize htotal 4
  69. 0069specialize htotal 0
  70. 0070exact htotal
  71. 0071cases hfour_zero_any
  72. 0072have hfour_zero_value : x2 = 1
  73. 0073specialize pow_zero 4
  74. 0074specialize pow_zero 0
  75. 0075specialize pow_zero x2
  76. 0076apply pow_zero
  77. 0077refl
  78. 0078exact hfour_zero_any_witness
  79. 0079have hfour_zero : Pow(4,0,1)
    Exact native replay linehave hfour_zero : exists pa_b_hj32_four_zero pa_c_hj32_four_zero. ((forall pa_i_hj32_four_zero_repeat. (exists pa_lt_hj32_four_zero_repeat_bound. pa_lt_hj32_four_zero_repeat_bound + S pa_i_hj32_four_zero_repeat = 0) -> (((exists pa_h_hj32_four_zero_repeat_decoded. pa_h_hj32_four_zero_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_zero_repeat)) * pa_c_hj32_four_zero)) /\ exists pa_q_hj32_four_zero_repeat_decoded. pa_b_hj32_four_zero = pa_q_hj32_four_zero_repeat_decoded * S ((S (pa_i_hj32_four_zero_repeat)) * pa_c_hj32_four_zero) + (4)))) /\ (exists pa_u_hj32_four_zero_product pa_v_hj32_four_zero_product. ((((exists pa_h_hj32_four_zero_product_start. pa_h_hj32_four_zero_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_zero_product)) /\ exists pa_q_hj32_four_zero_product_start. pa_u_hj32_four_zero_product = pa_q_hj32_four_zero_product_start * S ((S (0)) * pa_v_hj32_four_zero_product) + (1))) /\ ((((exists pa_h_hj32_four_zero_product_terminal. pa_h_hj32_four_zero_product_terminal + S (1) = S ((S (0)) * pa_v_hj32_four_zero_product)) /\ exists pa_q_hj32_four_zero_product_terminal. pa_u_hj32_four_zero_product = pa_q_hj32_four_zero_product_terminal * S ((S (0)) * pa_v_hj32_four_zero_product) + (1))) /\ forall pa_i_hj32_four_zero_product. (exists pa_lt_hj32_four_zero_product_bound. pa_lt_hj32_four_zero_product_bound + S pa_i_hj32_four_zero_product = 0) -> exists pa_p_hj32_four_zero_product pa_r_hj32_four_zero_product pa_s_hj32_four_zero_product. ((((exists pa_h_hj32_four_zero_product_factor. pa_h_hj32_four_zero_product_factor + S (pa_p_hj32_four_zero_product) = S ((S (pa_i_hj32_four_zero_product)) * pa_c_hj32_four_zero)) /\ exists pa_q_hj32_four_zero_product_factor. pa_b_hj32_four_zero = pa_q_hj32_four_zero_product_factor * S ((S (pa_i_hj32_four_zero_product)) * pa_c_hj32_four_zero) + (pa_p_hj32_four_zero_product))) /\ ((((exists pa_h_hj32_four_zero_product_partial. pa_h_hj32_four_zero_product_partial + S (pa_r_hj32_four_zero_product) = S ((S (pa_i_hj32_four_zero_product)) * pa_v_hj32_four_zero_product)) /\ exists pa_q_hj32_four_zero_product_partial. pa_u_hj32_four_zero_product = pa_q_hj32_four_zero_product_partial * S ((S (pa_i_hj32_four_zero_product)) * pa_v_hj32_four_zero_product) + (pa_r_hj32_four_zero_product))) /\ ((((exists pa_h_hj32_four_zero_product_successor. pa_h_hj32_four_zero_product_successor + S (pa_s_hj32_four_zero_product) = S ((S (S pa_i_hj32_four_zero_product)) * pa_v_hj32_four_zero_product)) /\ exists pa_q_hj32_four_zero_product_successor. pa_u_hj32_four_zero_product = pa_q_hj32_four_zero_product_successor * S ((S (S pa_i_hj32_four_zero_product)) * pa_v_hj32_four_zero_product) + (pa_s_hj32_four_zero_product))) /\ pa_s_hj32_four_zero_product = pa_r_hj32_four_zero_product * pa_p_hj32_four_zero_product)))))))
  80. 0080rewrite hfour_zero_value at hfour_zero_any_witness
  81. 0081rewrite hfour_zero_value at hfour_zero_any_witness
  82. 0082exact hfour_zero_any_witness
  83. 0083have hfour_one : Pow(4,1,1 · 4)
    Exact native replay linehave hfour_one : exists pa_b_hj32_four_one pa_c_hj32_four_one. ((forall pa_i_hj32_four_one_repeat. (exists pa_lt_hj32_four_one_repeat_bound. pa_lt_hj32_four_one_repeat_bound + S pa_i_hj32_four_one_repeat = 1) -> (((exists pa_h_hj32_four_one_repeat_decoded. pa_h_hj32_four_one_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_one_repeat)) * pa_c_hj32_four_one)) /\ exists pa_q_hj32_four_one_repeat_decoded. pa_b_hj32_four_one = pa_q_hj32_four_one_repeat_decoded * S ((S (pa_i_hj32_four_one_repeat)) * pa_c_hj32_four_one) + (4)))) /\ (exists pa_u_hj32_four_one_product pa_v_hj32_four_one_product. ((((exists pa_h_hj32_four_one_product_start. pa_h_hj32_four_one_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_one_product)) /\ exists pa_q_hj32_four_one_product_start. pa_u_hj32_four_one_product = pa_q_hj32_four_one_product_start * S ((S (0)) * pa_v_hj32_four_one_product) + (1))) /\ ((((exists pa_h_hj32_four_one_product_terminal. pa_h_hj32_four_one_product_terminal + S (1 * 4) = S ((S (1)) * pa_v_hj32_four_one_product)) /\ exists pa_q_hj32_four_one_product_terminal. pa_u_hj32_four_one_product = pa_q_hj32_four_one_product_terminal * S ((S (1)) * pa_v_hj32_four_one_product) + (1 * 4))) /\ forall pa_i_hj32_four_one_product. (exists pa_lt_hj32_four_one_product_bound. pa_lt_hj32_four_one_product_bound + S pa_i_hj32_four_one_product = 1) -> exists pa_p_hj32_four_one_product pa_r_hj32_four_one_product pa_s_hj32_four_one_product. ((((exists pa_h_hj32_four_one_product_factor. pa_h_hj32_four_one_product_factor + S (pa_p_hj32_four_one_product) = S ((S (pa_i_hj32_four_one_product)) * pa_c_hj32_four_one)) /\ exists pa_q_hj32_four_one_product_factor. pa_b_hj32_four_one = pa_q_hj32_four_one_product_factor * S ((S (pa_i_hj32_four_one_product)) * pa_c_hj32_four_one) + (pa_p_hj32_four_one_product))) /\ ((((exists pa_h_hj32_four_one_product_partial. pa_h_hj32_four_one_product_partial + S (pa_r_hj32_four_one_product) = S ((S (pa_i_hj32_four_one_product)) * pa_v_hj32_four_one_product)) /\ exists pa_q_hj32_four_one_product_partial. pa_u_hj32_four_one_product = pa_q_hj32_four_one_product_partial * S ((S (pa_i_hj32_four_one_product)) * pa_v_hj32_four_one_product) + (pa_r_hj32_four_one_product))) /\ ((((exists pa_h_hj32_four_one_product_successor. pa_h_hj32_four_one_product_successor + S (pa_s_hj32_four_one_product) = S ((S (S pa_i_hj32_four_one_product)) * pa_v_hj32_four_one_product)) /\ exists pa_q_hj32_four_one_product_successor. pa_u_hj32_four_one_product = pa_q_hj32_four_one_product_successor * S ((S (S pa_i_hj32_four_one_product)) * pa_v_hj32_four_one_product) + (pa_s_hj32_four_one_product))) /\ pa_s_hj32_four_one_product = pa_r_hj32_four_one_product * pa_p_hj32_four_one_product)))))))
  84. 0084specialize pow_successor_compose_from_total 4
  85. 0085specialize pow_successor_compose_from_total 0
  86. 0086specialize pow_successor_compose_from_total 1
  87. 0087specialize pow_successor_compose_from_total (1 * 4)
  88. 0088apply pow_successor_compose_from_total
  89. 0089exact htotal
  90. 0090exact hfour_zero
  91. 0091refl
  92. 0092have hfour_two : Pow(4,2,1 · 4 · 4)
    Exact native replay linehave hfour_two : exists pa_b_hj32_four_two pa_c_hj32_four_two. ((forall pa_i_hj32_four_two_repeat. (exists pa_lt_hj32_four_two_repeat_bound. pa_lt_hj32_four_two_repeat_bound + S pa_i_hj32_four_two_repeat = 2) -> (((exists pa_h_hj32_four_two_repeat_decoded. pa_h_hj32_four_two_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_two_repeat)) * pa_c_hj32_four_two)) /\ exists pa_q_hj32_four_two_repeat_decoded. pa_b_hj32_four_two = pa_q_hj32_four_two_repeat_decoded * S ((S (pa_i_hj32_four_two_repeat)) * pa_c_hj32_four_two) + (4)))) /\ (exists pa_u_hj32_four_two_product pa_v_hj32_four_two_product. ((((exists pa_h_hj32_four_two_product_start. pa_h_hj32_four_two_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_two_product)) /\ exists pa_q_hj32_four_two_product_start. pa_u_hj32_four_two_product = pa_q_hj32_four_two_product_start * S ((S (0)) * pa_v_hj32_four_two_product) + (1))) /\ ((((exists pa_h_hj32_four_two_product_terminal. pa_h_hj32_four_two_product_terminal + S ((1 * 4) * 4) = S ((S (2)) * pa_v_hj32_four_two_product)) /\ exists pa_q_hj32_four_two_product_terminal. pa_u_hj32_four_two_product = pa_q_hj32_four_two_product_terminal * S ((S (2)) * pa_v_hj32_four_two_product) + ((1 * 4) * 4))) /\ forall pa_i_hj32_four_two_product. (exists pa_lt_hj32_four_two_product_bound. pa_lt_hj32_four_two_product_bound + S pa_i_hj32_four_two_product = 2) -> exists pa_p_hj32_four_two_product pa_r_hj32_four_two_product pa_s_hj32_four_two_product. ((((exists pa_h_hj32_four_two_product_factor. pa_h_hj32_four_two_product_factor + S (pa_p_hj32_four_two_product) = S ((S (pa_i_hj32_four_two_product)) * pa_c_hj32_four_two)) /\ exists pa_q_hj32_four_two_product_factor. pa_b_hj32_four_two = pa_q_hj32_four_two_product_factor * S ((S (pa_i_hj32_four_two_product)) * pa_c_hj32_four_two) + (pa_p_hj32_four_two_product))) /\ ((((exists pa_h_hj32_four_two_product_partial. pa_h_hj32_four_two_product_partial + S (pa_r_hj32_four_two_product) = S ((S (pa_i_hj32_four_two_product)) * pa_v_hj32_four_two_product)) /\ exists pa_q_hj32_four_two_product_partial. pa_u_hj32_four_two_product = pa_q_hj32_four_two_product_partial * S ((S (pa_i_hj32_four_two_product)) * pa_v_hj32_four_two_product) + (pa_r_hj32_four_two_product))) /\ ((((exists pa_h_hj32_four_two_product_successor. pa_h_hj32_four_two_product_successor + S (pa_s_hj32_four_two_product) = S ((S (S pa_i_hj32_four_two_product)) * pa_v_hj32_four_two_product)) /\ exists pa_q_hj32_four_two_product_successor. pa_u_hj32_four_two_product = pa_q_hj32_four_two_product_successor * S ((S (S pa_i_hj32_four_two_product)) * pa_v_hj32_four_two_product) + (pa_s_hj32_four_two_product))) /\ pa_s_hj32_four_two_product = pa_r_hj32_four_two_product * pa_p_hj32_four_two_product)))))))
  93. 0093specialize pow_successor_compose_from_total 4
  94. 0094specialize pow_successor_compose_from_total 1
  95. 0095specialize pow_successor_compose_from_total (1 * 4)
  96. 0096specialize pow_successor_compose_from_total ((1 * 4) * 4)
  97. 0097apply pow_successor_compose_from_total
  98. 0098exact htotal
  99. 0099exact hfour_one
  100. 0100refl
  101. 0101have hfour_three : Pow(4,3,1 · 4 · 4 · 4)
    Exact native replay linehave hfour_three : exists pa_b_hj32_four_three pa_c_hj32_four_three. ((forall pa_i_hj32_four_three_repeat. (exists pa_lt_hj32_four_three_repeat_bound. pa_lt_hj32_four_three_repeat_bound + S pa_i_hj32_four_three_repeat = 3) -> (((exists pa_h_hj32_four_three_repeat_decoded. pa_h_hj32_four_three_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_three_repeat)) * pa_c_hj32_four_three)) /\ exists pa_q_hj32_four_three_repeat_decoded. pa_b_hj32_four_three = pa_q_hj32_four_three_repeat_decoded * S ((S (pa_i_hj32_four_three_repeat)) * pa_c_hj32_four_three) + (4)))) /\ (exists pa_u_hj32_four_three_product pa_v_hj32_four_three_product. ((((exists pa_h_hj32_four_three_product_start. pa_h_hj32_four_three_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_three_product)) /\ exists pa_q_hj32_four_three_product_start. pa_u_hj32_four_three_product = pa_q_hj32_four_three_product_start * S ((S (0)) * pa_v_hj32_four_three_product) + (1))) /\ ((((exists pa_h_hj32_four_three_product_terminal. pa_h_hj32_four_three_product_terminal + S (((1 * 4) * 4) * 4) = S ((S (3)) * pa_v_hj32_four_three_product)) /\ exists pa_q_hj32_four_three_product_terminal. pa_u_hj32_four_three_product = pa_q_hj32_four_three_product_terminal * S ((S (3)) * pa_v_hj32_four_three_product) + (((1 * 4) * 4) * 4))) /\ forall pa_i_hj32_four_three_product. (exists pa_lt_hj32_four_three_product_bound. pa_lt_hj32_four_three_product_bound + S pa_i_hj32_four_three_product = 3) -> exists pa_p_hj32_four_three_product pa_r_hj32_four_three_product pa_s_hj32_four_three_product. ((((exists pa_h_hj32_four_three_product_factor. pa_h_hj32_four_three_product_factor + S (pa_p_hj32_four_three_product) = S ((S (pa_i_hj32_four_three_product)) * pa_c_hj32_four_three)) /\ exists pa_q_hj32_four_three_product_factor. pa_b_hj32_four_three = pa_q_hj32_four_three_product_factor * S ((S (pa_i_hj32_four_three_product)) * pa_c_hj32_four_three) + (pa_p_hj32_four_three_product))) /\ ((((exists pa_h_hj32_four_three_product_partial. pa_h_hj32_four_three_product_partial + S (pa_r_hj32_four_three_product) = S ((S (pa_i_hj32_four_three_product)) * pa_v_hj32_four_three_product)) /\ exists pa_q_hj32_four_three_product_partial. pa_u_hj32_four_three_product = pa_q_hj32_four_three_product_partial * S ((S (pa_i_hj32_four_three_product)) * pa_v_hj32_four_three_product) + (pa_r_hj32_four_three_product))) /\ ((((exists pa_h_hj32_four_three_product_successor. pa_h_hj32_four_three_product_successor + S (pa_s_hj32_four_three_product) = S ((S (S pa_i_hj32_four_three_product)) * pa_v_hj32_four_three_product)) /\ exists pa_q_hj32_four_three_product_successor. pa_u_hj32_four_three_product = pa_q_hj32_four_three_product_successor * S ((S (S pa_i_hj32_four_three_product)) * pa_v_hj32_four_three_product) + (pa_s_hj32_four_three_product))) /\ pa_s_hj32_four_three_product = pa_r_hj32_four_three_product * pa_p_hj32_four_three_product)))))))
  102. 0102specialize pow_successor_compose_from_total 4
  103. 0103specialize pow_successor_compose_from_total 2
  104. 0104specialize pow_successor_compose_from_total ((1 * 4) * 4)
  105. 0105specialize pow_successor_compose_from_total (((1 * 4) * 4) * 4)
  106. 0106apply pow_successor_compose_from_total
  107. 0107exact htotal
  108. 0108exact hfour_two
  109. 0109refl
  110. 0110have hfour_four : Pow(4,4,1 · 4 · 4 · 4 · 4)
    Exact native replay linehave hfour_four : exists pa_b_hj32_four_four_exact pa_c_hj32_four_four_exact. ((forall pa_i_hj32_four_four_exact_repeat. (exists pa_lt_hj32_four_four_exact_repeat_bound. pa_lt_hj32_four_four_exact_repeat_bound + S pa_i_hj32_four_four_exact_repeat = 4) -> (((exists pa_h_hj32_four_four_exact_repeat_decoded. pa_h_hj32_four_four_exact_repeat_decoded + S (4) = S ((S (pa_i_hj32_four_four_exact_repeat)) * pa_c_hj32_four_four_exact)) /\ exists pa_q_hj32_four_four_exact_repeat_decoded. pa_b_hj32_four_four_exact = pa_q_hj32_four_four_exact_repeat_decoded * S ((S (pa_i_hj32_four_four_exact_repeat)) * pa_c_hj32_four_four_exact) + (4)))) /\ (exists pa_u_hj32_four_four_exact_product pa_v_hj32_four_four_exact_product. ((((exists pa_h_hj32_four_four_exact_product_start. pa_h_hj32_four_four_exact_product_start + S (1) = S ((S (0)) * pa_v_hj32_four_four_exact_product)) /\ exists pa_q_hj32_four_four_exact_product_start. pa_u_hj32_four_four_exact_product = pa_q_hj32_four_four_exact_product_start * S ((S (0)) * pa_v_hj32_four_four_exact_product) + (1))) /\ ((((exists pa_h_hj32_four_four_exact_product_terminal. pa_h_hj32_four_four_exact_product_terminal + S ((((1 * 4) * 4) * 4) * 4) = S ((S (4)) * pa_v_hj32_four_four_exact_product)) /\ exists pa_q_hj32_four_four_exact_product_terminal. pa_u_hj32_four_four_exact_product = pa_q_hj32_four_four_exact_product_terminal * S ((S (4)) * pa_v_hj32_four_four_exact_product) + ((((1 * 4) * 4) * 4) * 4))) /\ forall pa_i_hj32_four_four_exact_product. (exists pa_lt_hj32_four_four_exact_product_bound. pa_lt_hj32_four_four_exact_product_bound + S pa_i_hj32_four_four_exact_product = 4) -> exists pa_p_hj32_four_four_exact_product pa_r_hj32_four_four_exact_product pa_s_hj32_four_four_exact_product. ((((exists pa_h_hj32_four_four_exact_product_factor. pa_h_hj32_four_four_exact_product_factor + S (pa_p_hj32_four_four_exact_product) = S ((S (pa_i_hj32_four_four_exact_product)) * pa_c_hj32_four_four_exact)) /\ exists pa_q_hj32_four_four_exact_product_factor. pa_b_hj32_four_four_exact = pa_q_hj32_four_four_exact_product_factor * S ((S (pa_i_hj32_four_four_exact_product)) * pa_c_hj32_four_four_exact) + (pa_p_hj32_four_four_exact_product))) /\ ((((exists pa_h_hj32_four_four_exact_product_partial. pa_h_hj32_four_four_exact_product_partial + S (pa_r_hj32_four_four_exact_product) = S ((S (pa_i_hj32_four_four_exact_product)) * pa_v_hj32_four_four_exact_product)) /\ exists pa_q_hj32_four_four_exact_product_partial. pa_u_hj32_four_four_exact_product = pa_q_hj32_four_four_exact_product_partial * S ((S (pa_i_hj32_four_four_exact_product)) * pa_v_hj32_four_four_exact_product) + (pa_r_hj32_four_four_exact_product))) /\ ((((exists pa_h_hj32_four_four_exact_product_successor. pa_h_hj32_four_four_exact_product_successor + S (pa_s_hj32_four_four_exact_product) = S ((S (S pa_i_hj32_four_four_exact_product)) * pa_v_hj32_four_four_exact_product)) /\ exists pa_q_hj32_four_four_exact_product_successor. pa_u_hj32_four_four_exact_product = pa_q_hj32_four_four_exact_product_successor * S ((S (S pa_i_hj32_four_four_exact_product)) * pa_v_hj32_four_four_exact_product) + (pa_s_hj32_four_four_exact_product))) /\ pa_s_hj32_four_four_exact_product = pa_r_hj32_four_four_exact_product * pa_p_hj32_four_four_exact_product)))))))
  111. 0111specialize pow_successor_compose_from_total 4
  112. 0112specialize pow_successor_compose_from_total 3
  113. 0113specialize pow_successor_compose_from_total (((1 * 4) * 4) * 4)
  114. 0114specialize pow_successor_compose_from_total ((((1 * 4) * 4) * 4) * 4)
  115. 0115apply pow_successor_compose_from_total
  116. 0116exact htotal
  117. 0117exact hfour_three
  118. 0118refl
  119. 0119have hx_value : x = ((((1 * 3) * 3) * 3) * 3) * 3
  120. 0120specialize pow_functional 3
  121. 0121specialize pow_functional 5
  122. 0122specialize pow_functional x
  123. 0123specialize pow_functional (((((1 * 3) * 3) * 3) * 3) * 3)
  124. 0124apply pow_functional
  125. 0125exact hx
  126. 0126exact hthree_five
  127. 0127have hy_value : y = (((1 * 4) * 4) * 4) * 4
  128. 0128specialize pow_functional 4
  129. 0129specialize pow_functional 4
  130. 0130specialize pow_functional y
  131. 0131specialize pow_functional ((((1 * 4) * 4) * 4) * 4)
  132. 0132apply pow_functional
  133. 0133exact hy
  134. 0134exact hfour_four
  135. 0135rewrite hx_value
  136. 0136rewrite hy_value
  137. 0137exists 13
  138. 0138have hthree_four_split : (((1 * 3) * 3) * 3) * 3 = (((1 * 4) * 4) * 4) + 17
  139. 0139norm_num
  140. 0140rewrite hthree_four_split
  141. 0141specialize add_mul (((1 * 4) * 4) * 4)
  142. 0142specialize add_mul 17
  143. 0143specialize add_mul 3
  144. 0144rewrite add_mul
  145. 0145have hfour_step : (((1 * 4) * 4) * 4) * 4 = (((1 * 4) * 4) * 4) * 3 + (((1 * 4) * 4) * 4)
  146. 0146apply PA6
  147. 0147rewrite hfour_step
  148. 0148have hseventeen_three : 17 * 3 = 51
  149. 0149norm_num
  150. 0150rewrite hseventeen_three
  151. 0151have hthirteen_fifty_one : 13 + 51 = ((1 * 4) * 4) * 4
  152. 0152norm_num
  153. 0153trans (13 + (((1 * 4) * 4) * 4) * 3) + 51
  154. 0154symm
  155. 0155specialize add_assoc 13
  156. 0156specialize add_assoc ((((1 * 4) * 4) * 4) * 3)
  157. 0157specialize add_assoc 51
  158. 0158apply add_assoc
  159. 0159trans ((((1 * 4) * 4) * 4) * 3 + 13) + 51
  160. 0160congr
  161. 0161specialize add_comm 13
  162. 0162specialize add_comm ((((1 * 4) * 4) * 4) * 3)
  163. 0163apply add_comm
  164. 0164refl
  165. 0165trans (((1 * 4) * 4) * 4) * 3 + (13 + 51)
  166. 0166specialize add_assoc ((((1 * 4) * 4) * 4) * 3)
  167. 0167specialize add_assoc 13
  168. 0168specialize add_assoc 51
  169. 0169apply add_assoc
  170. 0170rewrite hthirteen_fifty_one
  171. 0171refl