BT00WV · Bertrand theorem

bertrand_j_base_thirty_two_window_from_total

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

The RFC-v1 J envelope uniformly covers roots 32 through 37.

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

∀ s. ∀ j. ∀ g. (∀ x. ∀ y. ∃ z. Pow(x,y,z)) → Lt(31,s)Le(s,37)Pow(s + 7,12,j)Pow(4,s + 5,g)Le(j,g)

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

6 occurrences

In local proof propositions

20 occurrences

Exact expanded native-PA statement
forall s j g. (forall bpt_a_hj32_base bpt_e_hj32_base. exists bpt_x_hj32_base. (exists ff_b_bpt_value_hj32_base ff_c_bpt_value_hj32_base. ((forall ff_i_bpt_value_hj32_base_repeat. (exists ff_lt_bpt_value_hj32_base_repeat_bound. ff_lt_bpt_value_hj32_base_repeat_bound + S ff_i_bpt_value_hj32_base_repeat = bpt_e_hj32_base) -> (((exists ff_h_bpt_value_hj32_base_repeat_decoded. ff_h_bpt_value_hj32_base_repeat_decoded + S (bpt_a_hj32_base) = S ((S (ff_i_bpt_value_hj32_base_repeat)) * ff_c_bpt_value_hj32_base)) /\ exists ff_q_bpt_value_hj32_base_repeat_decoded. ff_b_bpt_value_hj32_base = ff_q_bpt_value_hj32_base_repeat_decoded * S ((S (ff_i_bpt_value_hj32_base_repeat)) * ff_c_bpt_value_hj32_base) + (bpt_a_hj32_base)))) /\ (exists ff_u_bpt_value_hj32_base_product ff_v_bpt_value_hj32_base_product. ((((exists ff_h_bpt_value_hj32_base_product_start. ff_h_bpt_value_hj32_base_product_start + S (1) = S ((S (0)) * ff_v_bpt_value_hj32_base_product)) /\ exists ff_q_bpt_value_hj32_base_product_start. ff_u_bpt_value_hj32_base_product = ff_q_bpt_value_hj32_base_product_start * S ((S (0)) * ff_v_bpt_value_hj32_base_product) + (1))) /\ ((((exists ff_h_bpt_value_hj32_base_product_terminal. ff_h_bpt_value_hj32_base_product_terminal + S (bpt_x_hj32_base) = S ((S (bpt_e_hj32_base)) * ff_v_bpt_value_hj32_base_product)) /\ exists ff_q_bpt_value_hj32_base_product_terminal. ff_u_bpt_value_hj32_base_product = ff_q_bpt_value_hj32_base_product_terminal * S ((S (bpt_e_hj32_base)) * ff_v_bpt_value_hj32_base_product) + (bpt_x_hj32_base))) /\ forall ff_i_bpt_value_hj32_base_product. (exists ff_lt_bpt_value_hj32_base_product_bound. ff_lt_bpt_value_hj32_base_product_bound + S ff_i_bpt_value_hj32_base_product = bpt_e_hj32_base) -> exists ff_p_bpt_value_hj32_base_product ff_r_bpt_value_hj32_base_product ff_s_bpt_value_hj32_base_product. ((((exists ff_h_bpt_value_hj32_base_product_factor. ff_h_bpt_value_hj32_base_product_factor + S (ff_p_bpt_value_hj32_base_product) = S ((S (ff_i_bpt_value_hj32_base_product)) * ff_c_bpt_value_hj32_base)) /\ exists ff_q_bpt_value_hj32_base_product_factor. ff_b_bpt_value_hj32_base = ff_q_bpt_value_hj32_base_product_factor * S ((S (ff_i_bpt_value_hj32_base_product)) * ff_c_bpt_value_hj32_base) + (ff_p_bpt_value_hj32_base_product))) /\ ((((exists ff_h_bpt_value_hj32_base_product_partial. ff_h_bpt_value_hj32_base_product_partial + S (ff_r_bpt_value_hj32_base_product) = S ((S (ff_i_bpt_value_hj32_base_product)) * ff_v_bpt_value_hj32_base_product)) /\ exists ff_q_bpt_value_hj32_base_product_partial. ff_u_bpt_value_hj32_base_product = ff_q_bpt_value_hj32_base_product_partial * S ((S (ff_i_bpt_value_hj32_base_product)) * ff_v_bpt_value_hj32_base_product) + (ff_r_bpt_value_hj32_base_product))) /\ ((((exists ff_h_bpt_value_hj32_base_product_successor. ff_h_bpt_value_hj32_base_product_successor + S (ff_s_bpt_value_hj32_base_product) = S ((S (S ff_i_bpt_value_hj32_base_product)) * ff_v_bpt_value_hj32_base_product)) /\ exists ff_q_bpt_value_hj32_base_product_successor. ff_u_bpt_value_hj32_base_product = ff_q_bpt_value_hj32_base_product_successor * S ((S (S ff_i_bpt_value_hj32_base_product)) * ff_v_bpt_value_hj32_base_product) + (ff_s_bpt_value_hj32_base_product))) /\ ff_s_bpt_value_hj32_base_product = ff_r_bpt_value_hj32_base_product * ff_p_bpt_value_hj32_base_product))))))))) -> (exists bqb_le_gap_hj32_base_lower. bqb_le_gap_hj32_base_lower + (32) = (s)) -> (exists bqb_le_gap_hj32_base_upper. bqb_le_gap_hj32_base_upper + (s) = (37)) -> (exists pa_b_hj32_base_j pa_c_hj32_base_j. ((forall pa_i_hj32_base_j_repeat. (exists pa_lt_hj32_base_j_repeat_bound. pa_lt_hj32_base_j_repeat_bound + S pa_i_hj32_base_j_repeat = 12) -> (((exists pa_h_hj32_base_j_repeat_decoded. pa_h_hj32_base_j_repeat_decoded + S (s + 7) = S ((S (pa_i_hj32_base_j_repeat)) * pa_c_hj32_base_j)) /\ exists pa_q_hj32_base_j_repeat_decoded. pa_b_hj32_base_j = pa_q_hj32_base_j_repeat_decoded * S ((S (pa_i_hj32_base_j_repeat)) * pa_c_hj32_base_j) + (s + 7)))) /\ (exists pa_u_hj32_base_j_product pa_v_hj32_base_j_product. ((((exists pa_h_hj32_base_j_product_start. pa_h_hj32_base_j_product_start + S (1) = S ((S (0)) * pa_v_hj32_base_j_product)) /\ exists pa_q_hj32_base_j_product_start. pa_u_hj32_base_j_product = pa_q_hj32_base_j_product_start * S ((S (0)) * pa_v_hj32_base_j_product) + (1))) /\ ((((exists pa_h_hj32_base_j_product_terminal. pa_h_hj32_base_j_product_terminal + S (j) = S ((S (12)) * pa_v_hj32_base_j_product)) /\ exists pa_q_hj32_base_j_product_terminal. pa_u_hj32_base_j_product = pa_q_hj32_base_j_product_terminal * S ((S (12)) * pa_v_hj32_base_j_product) + (j))) /\ forall pa_i_hj32_base_j_product. (exists pa_lt_hj32_base_j_product_bound. pa_lt_hj32_base_j_product_bound + S pa_i_hj32_base_j_product = 12) -> exists pa_p_hj32_base_j_product pa_r_hj32_base_j_product pa_s_hj32_base_j_product. ((((exists pa_h_hj32_base_j_product_factor. pa_h_hj32_base_j_product_factor + S (pa_p_hj32_base_j_product) = S ((S (pa_i_hj32_base_j_product)) * pa_c_hj32_base_j)) /\ exists pa_q_hj32_base_j_product_factor. pa_b_hj32_base_j = pa_q_hj32_base_j_product_factor * S ((S (pa_i_hj32_base_j_product)) * pa_c_hj32_base_j) + (pa_p_hj32_base_j_product))) /\ ((((exists pa_h_hj32_base_j_product_partial. pa_h_hj32_base_j_product_partial + S (pa_r_hj32_base_j_product) = S ((S (pa_i_hj32_base_j_product)) * pa_v_hj32_base_j_product)) /\ exists pa_q_hj32_base_j_product_partial. pa_u_hj32_base_j_product = pa_q_hj32_base_j_product_partial * S ((S (pa_i_hj32_base_j_product)) * pa_v_hj32_base_j_product) + (pa_r_hj32_base_j_product))) /\ ((((exists pa_h_hj32_base_j_product_successor. pa_h_hj32_base_j_product_successor + S (pa_s_hj32_base_j_product) = S ((S (S pa_i_hj32_base_j_product)) * pa_v_hj32_base_j_product)) /\ exists pa_q_hj32_base_j_product_successor. pa_u_hj32_base_j_product = pa_q_hj32_base_j_product_successor * S ((S (S pa_i_hj32_base_j_product)) * pa_v_hj32_base_j_product) + (pa_s_hj32_base_j_product))) /\ pa_s_hj32_base_j_product = pa_r_hj32_base_j_product * pa_p_hj32_base_j_product)))))))) -> (exists pa_b_hj32_base_j_bound pa_c_hj32_base_j_bound. ((forall pa_i_hj32_base_j_bound_repeat. (exists pa_lt_hj32_base_j_bound_repeat_bound. pa_lt_hj32_base_j_bound_repeat_bound + S pa_i_hj32_base_j_bound_repeat = s + 5) -> (((exists pa_h_hj32_base_j_bound_repeat_decoded. pa_h_hj32_base_j_bound_repeat_decoded + S (4) = S ((S (pa_i_hj32_base_j_bound_repeat)) * pa_c_hj32_base_j_bound)) /\ exists pa_q_hj32_base_j_bound_repeat_decoded. pa_b_hj32_base_j_bound = pa_q_hj32_base_j_bound_repeat_decoded * S ((S (pa_i_hj32_base_j_bound_repeat)) * pa_c_hj32_base_j_bound) + (4)))) /\ (exists pa_u_hj32_base_j_bound_product pa_v_hj32_base_j_bound_product. ((((exists pa_h_hj32_base_j_bound_product_start. pa_h_hj32_base_j_bound_product_start + S (1) = S ((S (0)) * pa_v_hj32_base_j_bound_product)) /\ exists pa_q_hj32_base_j_bound_product_start. pa_u_hj32_base_j_bound_product = pa_q_hj32_base_j_bound_product_start * S ((S (0)) * pa_v_hj32_base_j_bound_product) + (1))) /\ ((((exists pa_h_hj32_base_j_bound_product_terminal. pa_h_hj32_base_j_bound_product_terminal + S (g) = S ((S (s + 5)) * pa_v_hj32_base_j_bound_product)) /\ exists pa_q_hj32_base_j_bound_product_terminal. pa_u_hj32_base_j_bound_product = pa_q_hj32_base_j_bound_product_terminal * S ((S (s + 5)) * pa_v_hj32_base_j_bound_product) + (g))) /\ forall pa_i_hj32_base_j_bound_product. (exists pa_lt_hj32_base_j_bound_product_bound. pa_lt_hj32_base_j_bound_product_bound + S pa_i_hj32_base_j_bound_product = s + 5) -> exists pa_p_hj32_base_j_bound_product pa_r_hj32_base_j_bound_product pa_s_hj32_base_j_bound_product. ((((exists pa_h_hj32_base_j_bound_product_factor. pa_h_hj32_base_j_bound_product_factor + S (pa_p_hj32_base_j_bound_product) = S ((S (pa_i_hj32_base_j_bound_product)) * pa_c_hj32_base_j_bound)) /\ exists pa_q_hj32_base_j_bound_product_factor. pa_b_hj32_base_j_bound = pa_q_hj32_base_j_bound_product_factor * S ((S (pa_i_hj32_base_j_bound_product)) * pa_c_hj32_base_j_bound) + (pa_p_hj32_base_j_bound_product))) /\ ((((exists pa_h_hj32_base_j_bound_product_partial. pa_h_hj32_base_j_bound_product_partial + S (pa_r_hj32_base_j_bound_product) = S ((S (pa_i_hj32_base_j_bound_product)) * pa_v_hj32_base_j_bound_product)) /\ exists pa_q_hj32_base_j_bound_product_partial. pa_u_hj32_base_j_bound_product = pa_q_hj32_base_j_bound_product_partial * S ((S (pa_i_hj32_base_j_bound_product)) * pa_v_hj32_base_j_bound_product) + (pa_r_hj32_base_j_bound_product))) /\ ((((exists pa_h_hj32_base_j_bound_product_successor. pa_h_hj32_base_j_bound_product_successor + S (pa_s_hj32_base_j_bound_product) = S ((S (S pa_i_hj32_base_j_bound_product)) * pa_v_hj32_base_j_bound_product)) /\ exists pa_q_hj32_base_j_bound_product_successor. pa_u_hj32_base_j_bound_product = pa_q_hj32_base_j_bound_product_successor * S ((S (S pa_i_hj32_base_j_bound_product)) * pa_v_hj32_base_j_bound_product) + (pa_s_hj32_base_j_bound_product))) /\ pa_s_hj32_base_j_bound_product = pa_r_hj32_base_j_bound_product * pa_p_hj32_base_j_bound_product)))))))) -> (exists bqb_le_gap_hj32_base_j_result. bqb_le_gap_hj32_base_j_result + (j) = (g))

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

166 script commands · 40 reading checkpoints · 27 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 (9)
01Fix variables and assumptionsL1–8

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

  1. L1
    intro s
  2. L2
    intro j
  3. L3
    intro g
  4. L4
    intro htotal
  5. L5
    intro hlower
  6. L6
    intro hupper
  7. L7
    intro hj
  8. L8
    intro hg
02Establish j_p11_blockL9–12

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

  1. L9
    have j_p11_block : ∃ hj32_local_value_j_p11_block. Pow(11,2 · 6,hj32_local_value_j_p11_block)Definitions: Pow(11,2 · 6,hj32_local_value_j_p11_block)Original native command in the exact edition
  2. L10
    specialize htotal 11
  3. L11
    specialize htotal 2 * 6
  4. L12
    exact htotal
03Separate the logical casesL13–13

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

  1. L13
    cases j_p11_block
04Establish j_p4_twenty_oneL14–17

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

  1. L14
    have j_p4_twenty_one : ∃ hj32_local_value_j_p4_twenty_one. Pow(4,21,hj32_local_value_j_p4_twenty_one)Definitions: Pow(4,21,hj32_local_value_j_p4_twenty_one)Original native command in the exact edition
  2. L15
    specialize htotal 4
  3. L16
    specialize htotal 21
  4. L17
    exact htotal
05Separate the logical casesL18–18

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

  1. L18
    cases j_p4_twenty_one
06Establish j_parityL19–20

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

  1. L19
    have j_parity : 7 * 6 = 2 * 21
  2. L20
    norm_num
07Establish j_eleven_boundL21–30

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

  1. L21
    have j_eleven_bound : Le(x,x1)Definitions: Le(x,x1)Original native command in the exact edition
  2. L22
    specialize pow_eleven_double_block_le_pow_four_even_from_total 6
  3. L23
    specialize pow_eleven_double_block_le_pow_four_even_from_total 21
  4. L24
    specialize pow_eleven_double_block_le_pow_four_even_from_total x
  5. L25
    specialize pow_eleven_double_block_le_pow_four_even_from_total x1
  6. L26
    apply pow_eleven_double_block_le_pow_four_even_from_total
  7. L27
    exact htotal
  8. L28
    exact j_parity
  9. L29
    exact j_p11_block_witness
  10. L30
    exact j_p4_twenty_one_witness
08Establish j_twelveL31–32

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

  1. L31
    have j_twelve : 2 * 6 = 12
  2. L32
    norm_num
09Establish j_h_blockL33–38

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

  1. L33
    have j_h_block : Pow(s + 7,2 · 6,j)Definitions: Pow(s + 7,2 · 6,j)Original native command in the exact edition
  2. L34
    rewrite j_twelve
  3. L35
    rewrite j_twelve
  4. L36
    rewrite j_twelve
  5. L37
    rewrite j_twelve
  6. L38
    exact hj
10Establish j_p4_blockL39–42

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

  1. L39
    have j_p4_block : ∃ hj32_local_value_j_p4_block. Pow(4,2 · 6,hj32_local_value_j_p4_block)Definitions: Pow(4,2 · 6,hj32_local_value_j_p4_block)Original native command in the exact edition
  2. L40
    specialize htotal 4
  3. L41
    specialize htotal 2 * 6
  4. L42
    exact htotal
11Separate the logical casesL43–43

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

  1. L43
    cases j_p4_block
12Establish j_p44_blockL44–47

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

  1. L44
    have j_p44_block : ∃ hj32_local_value_j_p44_block. Pow(44,2 · 6,hj32_local_value_j_p44_block)Definitions: Pow(44,2 · 6,hj32_local_value_j_p44_block)Original native command in the exact edition
  2. L45
    specialize htotal 44
  3. L46
    specialize htotal 2 * 6
  4. L47
    exact htotal
13Separate the logical casesL48–48

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

  1. L48
    cases j_p44_block
14Establish j_p4_thirty_threeL49–52

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

  1. L49
    have j_p4_thirty_three : ∃ hj32_local_value_j_p4_thirty_three. Pow(4,33,hj32_local_value_j_p4_thirty_three)Definitions: Pow(4,33,hj32_local_value_j_p4_thirty_three)Original native command in the exact edition
  2. L50
    specialize htotal 4
  3. L51
    specialize htotal 33
  4. L52
    exact htotal
15Separate the logical casesL53–53

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

  1. L53
    cases j_p4_thirty_three
16Establish j_product_44_graphL54–54

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

  1. L54
    have j_product_44_graph : Pow(4 · 11,2 · 6,x3)Definitions: Pow(4 · 11,2 · 6,x3)Original native command in the exact edition
17Establish j_product_44_baseL55–59

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

  1. L55
    have j_product_44_base : 4 * 11 = 44
  2. L56
    norm_num
  3. L57
    rewrite j_product_44_base
  4. L58
    rewrite j_product_44_base
  5. L59
    exact j_p44_block_witness
18Establish j_product_44L60–69

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

  1. L60
    have j_product_44 : x3 = x2 * x
  2. L61
    specialize pow_mul_base 4
  3. L62
    specialize pow_mul_base 11
  4. L63
    specialize pow_mul_base 2 * 6
  5. L64
    specialize pow_mul_base x2
  6. L65
    specialize pow_mul_base x
  7. L66
    specialize pow_mul_base x3
  8. L67
    apply pow_mul_base
  9. L68
    exact j_p4_block_witness
  10. L69
    exact j_p11_block_witness
19Use earlier factsL70–70

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

  1. L70
    exact j_product_44_graph
20Establish j_product_33L71–80

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

  1. L71
    have j_product_33 : x4 = x2 * x1
  2. L72
    specialize pow_add 4
  3. L73
    specialize pow_add 2 * 6
  4. L74
    specialize pow_add 21
  5. L75
    specialize pow_add 33
  6. L76
    specialize pow_add x2
  7. L77
    specialize pow_add x1
  8. L78
    specialize pow_add x4
  9. L79
    apply pow_add
  10. L80
    norm_num
21Use earlier factsL81–83

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

  1. L81
    exact j_p4_block_witness
  2. L82
    exact j_p4_twenty_one_witness
  3. L83
    exact j_p4_thirty_three_witness
22Establish j_four_reflL84–86

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

  1. L84
    have j_four_refl : Le(x2,x2)Definitions: Le(x2,x2)Original native command in the exact edition
  2. L85
    specialize le_refl x2
  3. L86
    exact le_refl
23Establish j_product_boundL87–96

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

  1. L87
    have j_product_bound : Le(x2 · x,x2 · x1)Definitions: Le(x2 · x,x2 · x1)Original native command in the exact edition
  2. L88
    specialize mul_le_mul x2
  3. L89
    specialize mul_le_mul x2
  4. L90
    specialize mul_le_mul x
  5. L91
    specialize mul_le_mul x1
  6. L92
    apply mul_le_mul
  7. L93
    exact j_four_refl
  8. L94
    exact j_eleven_bound
  9. L95
    rewrite <- j_product_44 at j_product_bound
  10. L96
    rewrite <- j_product_33 at j_product_bound
24Establish j_base_to_upperL97–102

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

  1. L97
    have j_base_to_upper : Le(s + 7,37 + 7)Definitions: Le(s + 7,37 + 7)Original native command in the exact edition
  2. L98
    specialize add_le_add_right s
  3. L99
    specialize add_le_add_right 37
  4. L100
    specialize add_le_add_right 7
  5. L101
    apply add_le_add_right
  6. L102
    exact hupper
25Establish j_upper_valueL103–104

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

  1. L103
    have j_upper_value : 37 + 7 = 44
  2. L104
    norm_num
26Establish j_base_boundL105–107

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

  1. L105
    have j_base_bound : Le(s + 7,44)Definitions: Le(s + 7,44)Original native command in the exact edition
  2. L106
    rewrite j_upper_value at j_base_to_upper
  3. L107
    exact j_base_to_upper
27Establish j_to_44L108–117

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

  1. L108
    have j_to_44 : Le(j,x3)Definitions: Le(j,x3)Original native command in the exact edition
  2. L109
    specialize pow_base_monotone s + 7
  3. L110
    specialize pow_base_monotone 44
  4. L111
    specialize pow_base_monotone 2 * 6
  5. L112
    specialize pow_base_monotone j
  6. L113
    specialize pow_base_monotone x3
  7. L114
    apply pow_base_monotone
  8. L115
    exact j_base_bound
  9. L116
    exact j_h_block
  10. L117
    exact j_p44_block_witness
28Establish j_to_thirty_threeL118–124

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

  1. L118
    have j_to_thirty_three : Le(j,x4)Definitions: Le(j,x4)Original native command in the exact edition
  2. L119
    specialize le_trans j
  3. L120
    specialize le_trans x3
  4. L121
    specialize le_trans x4
  5. L122
    apply le_trans
  6. L123
    exact j_to_44
  7. L124
    exact j_product_bound
29Establish j_exponent_from_lowerL125–130

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

  1. L125
    have j_exponent_from_lower : Le(32 + 5,s + 5)Definitions: Le(32 + 5,s + 5)Original native command in the exact edition
  2. L126
    specialize add_le_add_right 32
  3. L127
    specialize add_le_add_right s
  4. L128
    specialize add_le_add_right 5
  5. L129
    apply add_le_add_right
  6. L130
    exact hlower
30Establish j_lower_valueL131–132

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

  1. L131
    have j_lower_value : 32 + 5 = 37
  2. L132
    norm_num
31Establish j_thirty_seven_to_targetL133–135

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

  1. L133
    have j_thirty_seven_to_target : Lt(36,s + 5)Definitions: Lt(36,s + 5)Original native command in the exact edition
  2. L134
    rewrite j_lower_value at j_exponent_from_lower
  3. L135
    exact j_exponent_from_lower
32Establish j_seedL136–136

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

  1. L136
    have j_seed : Lt(32,37)Definitions: Lt(32,37)Original native command in the exact edition
33Construct an explicit witnessL137–137

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

  1. L137
    exists 4
34Calculate and transport equalitiesL138–138

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

  1. L138
    norm_num
35Establish j_exponent_boundL139–145

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

  1. L139
    have j_exponent_bound : Lt(32,s + 5)Definitions: Lt(32,s + 5)Original native command in the exact edition
  2. L140
    specialize le_trans 33
  3. L141
    specialize le_trans 37
  4. L142
    specialize le_trans s + 5
  5. L143
    apply le_trans
  6. L144
    exact j_seed
  7. L145
    exact j_thirty_seven_to_target
36Establish j_growthL146–153

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

  1. L146
    have j_growth : Le(x4,g)Definitions: Le(x4,g)Original native command in the exact edition
  2. L147
    specialize pow_exponent_monotone_from_total 4
  3. L148
    specialize pow_exponent_monotone_from_total 33
  4. L149
    specialize pow_exponent_monotone_from_total s + 5
  5. L150
    specialize pow_exponent_monotone_from_total x4
  6. L151
    specialize pow_exponent_monotone_from_total g
  7. L152
    apply pow_exponent_monotone_from_total
  8. L153
    exact htotal
37Construct an explicit witnessL154–154

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

  1. L154
    exists 3
38Calculate and transport equalitiesL155–155

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

  1. L155
    norm_num
39Use earlier factsL156–158

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

  1. L156
    exact j_exponent_bound
  2. L157
    exact j_p4_thirty_three_witness
  3. L158
    exact hg
40Establish j_resultL159–166

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

  1. L159
    have j_result : Le(j,g)Definitions: Le(j,g)Original native command in the exact edition
  2. L160
    specialize le_trans j
  3. L161
    specialize le_trans x4
  4. L162
    specialize le_trans g
  5. L163
    apply le_trans
  6. L164
    exact j_to_thirty_three
  7. L165
    exact j_growth
  8. L166
    exact j_result

Library-wide reading audit

Original defined command ledger · 166 lines
  1. 0001intro s
  2. 0002intro j
  3. 0003intro g
  4. 0004intro htotal
  5. 0005intro hlower
  6. 0006intro hupper
  7. 0007intro hj
  8. 0008intro hg
  9. 0009have j_p11_block : ∃ hj32_local_value_j_p11_block. Pow(11,2 · 6,hj32_local_value_j_p11_block)
    Exact native replay linehave j_p11_block : exists hj32_local_value_j_p11_block. (exists pa_b_hj32_local_total_j_p11_block pa_c_hj32_local_total_j_p11_block. ((forall pa_i_hj32_local_total_j_p11_block_repeat. (exists pa_lt_hj32_local_total_j_p11_block_repeat_bound. pa_lt_hj32_local_total_j_p11_block_repeat_bound + S pa_i_hj32_local_total_j_p11_block_repeat = 2 * 6) -> (((exists pa_h_hj32_local_total_j_p11_block_repeat_decoded. pa_h_hj32_local_total_j_p11_block_repeat_decoded + S (11) = S ((S (pa_i_hj32_local_total_j_p11_block_repeat)) * pa_c_hj32_local_total_j_p11_block)) /\ exists pa_q_hj32_local_total_j_p11_block_repeat_decoded. pa_b_hj32_local_total_j_p11_block = pa_q_hj32_local_total_j_p11_block_repeat_decoded * S ((S (pa_i_hj32_local_total_j_p11_block_repeat)) * pa_c_hj32_local_total_j_p11_block) + (11)))) /\ (exists pa_u_hj32_local_total_j_p11_block_product pa_v_hj32_local_total_j_p11_block_product. ((((exists pa_h_hj32_local_total_j_p11_block_product_start. pa_h_hj32_local_total_j_p11_block_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_j_p11_block_product)) /\ exists pa_q_hj32_local_total_j_p11_block_product_start. pa_u_hj32_local_total_j_p11_block_product = pa_q_hj32_local_total_j_p11_block_product_start * S ((S (0)) * pa_v_hj32_local_total_j_p11_block_product) + (1))) /\ ((((exists pa_h_hj32_local_total_j_p11_block_product_terminal. pa_h_hj32_local_total_j_p11_block_product_terminal + S (hj32_local_value_j_p11_block) = S ((S (2 * 6)) * pa_v_hj32_local_total_j_p11_block_product)) /\ exists pa_q_hj32_local_total_j_p11_block_product_terminal. pa_u_hj32_local_total_j_p11_block_product = pa_q_hj32_local_total_j_p11_block_product_terminal * S ((S (2 * 6)) * pa_v_hj32_local_total_j_p11_block_product) + (hj32_local_value_j_p11_block))) /\ forall pa_i_hj32_local_total_j_p11_block_product. (exists pa_lt_hj32_local_total_j_p11_block_product_bound. pa_lt_hj32_local_total_j_p11_block_product_bound + S pa_i_hj32_local_total_j_p11_block_product = 2 * 6) -> exists pa_p_hj32_local_total_j_p11_block_product pa_r_hj32_local_total_j_p11_block_product pa_s_hj32_local_total_j_p11_block_product. ((((exists pa_h_hj32_local_total_j_p11_block_product_factor. pa_h_hj32_local_total_j_p11_block_product_factor + S (pa_p_hj32_local_total_j_p11_block_product) = S ((S (pa_i_hj32_local_total_j_p11_block_product)) * pa_c_hj32_local_total_j_p11_block)) /\ exists pa_q_hj32_local_total_j_p11_block_product_factor. pa_b_hj32_local_total_j_p11_block = pa_q_hj32_local_total_j_p11_block_product_factor * S ((S (pa_i_hj32_local_total_j_p11_block_product)) * pa_c_hj32_local_total_j_p11_block) + (pa_p_hj32_local_total_j_p11_block_product))) /\ ((((exists pa_h_hj32_local_total_j_p11_block_product_partial. pa_h_hj32_local_total_j_p11_block_product_partial + S (pa_r_hj32_local_total_j_p11_block_product) = S ((S (pa_i_hj32_local_total_j_p11_block_product)) * pa_v_hj32_local_total_j_p11_block_product)) /\ exists pa_q_hj32_local_total_j_p11_block_product_partial. pa_u_hj32_local_total_j_p11_block_product = pa_q_hj32_local_total_j_p11_block_product_partial * S ((S (pa_i_hj32_local_total_j_p11_block_product)) * pa_v_hj32_local_total_j_p11_block_product) + (pa_r_hj32_local_total_j_p11_block_product))) /\ ((((exists pa_h_hj32_local_total_j_p11_block_product_successor. pa_h_hj32_local_total_j_p11_block_product_successor + S (pa_s_hj32_local_total_j_p11_block_product) = S ((S (S pa_i_hj32_local_total_j_p11_block_product)) * pa_v_hj32_local_total_j_p11_block_product)) /\ exists pa_q_hj32_local_total_j_p11_block_product_successor. pa_u_hj32_local_total_j_p11_block_product = pa_q_hj32_local_total_j_p11_block_product_successor * S ((S (S pa_i_hj32_local_total_j_p11_block_product)) * pa_v_hj32_local_total_j_p11_block_product) + (pa_s_hj32_local_total_j_p11_block_product))) /\ pa_s_hj32_local_total_j_p11_block_product = pa_r_hj32_local_total_j_p11_block_product * pa_p_hj32_local_total_j_p11_block_product))))))))
  10. 0010specialize htotal 11
  11. 0011specialize htotal 2 * 6
  12. 0012exact htotal
  13. 0013cases j_p11_block
  14. 0014have j_p4_twenty_one : ∃ hj32_local_value_j_p4_twenty_one. Pow(4,21,hj32_local_value_j_p4_twenty_one)
    Exact native replay linehave j_p4_twenty_one : exists hj32_local_value_j_p4_twenty_one. (exists pa_b_hj32_local_total_j_p4_twenty_one pa_c_hj32_local_total_j_p4_twenty_one. ((forall pa_i_hj32_local_total_j_p4_twenty_one_repeat. (exists pa_lt_hj32_local_total_j_p4_twenty_one_repeat_bound. pa_lt_hj32_local_total_j_p4_twenty_one_repeat_bound + S pa_i_hj32_local_total_j_p4_twenty_one_repeat = 21) -> (((exists pa_h_hj32_local_total_j_p4_twenty_one_repeat_decoded. pa_h_hj32_local_total_j_p4_twenty_one_repeat_decoded + S (4) = S ((S (pa_i_hj32_local_total_j_p4_twenty_one_repeat)) * pa_c_hj32_local_total_j_p4_twenty_one)) /\ exists pa_q_hj32_local_total_j_p4_twenty_one_repeat_decoded. pa_b_hj32_local_total_j_p4_twenty_one = pa_q_hj32_local_total_j_p4_twenty_one_repeat_decoded * S ((S (pa_i_hj32_local_total_j_p4_twenty_one_repeat)) * pa_c_hj32_local_total_j_p4_twenty_one) + (4)))) /\ (exists pa_u_hj32_local_total_j_p4_twenty_one_product pa_v_hj32_local_total_j_p4_twenty_one_product. ((((exists pa_h_hj32_local_total_j_p4_twenty_one_product_start. pa_h_hj32_local_total_j_p4_twenty_one_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_j_p4_twenty_one_product)) /\ exists pa_q_hj32_local_total_j_p4_twenty_one_product_start. pa_u_hj32_local_total_j_p4_twenty_one_product = pa_q_hj32_local_total_j_p4_twenty_one_product_start * S ((S (0)) * pa_v_hj32_local_total_j_p4_twenty_one_product) + (1))) /\ ((((exists pa_h_hj32_local_total_j_p4_twenty_one_product_terminal. pa_h_hj32_local_total_j_p4_twenty_one_product_terminal + S (hj32_local_value_j_p4_twenty_one) = S ((S (21)) * pa_v_hj32_local_total_j_p4_twenty_one_product)) /\ exists pa_q_hj32_local_total_j_p4_twenty_one_product_terminal. pa_u_hj32_local_total_j_p4_twenty_one_product = pa_q_hj32_local_total_j_p4_twenty_one_product_terminal * S ((S (21)) * pa_v_hj32_local_total_j_p4_twenty_one_product) + (hj32_local_value_j_p4_twenty_one))) /\ forall pa_i_hj32_local_total_j_p4_twenty_one_product. (exists pa_lt_hj32_local_total_j_p4_twenty_one_product_bound. pa_lt_hj32_local_total_j_p4_twenty_one_product_bound + S pa_i_hj32_local_total_j_p4_twenty_one_product = 21) -> exists pa_p_hj32_local_total_j_p4_twenty_one_product pa_r_hj32_local_total_j_p4_twenty_one_product pa_s_hj32_local_total_j_p4_twenty_one_product. ((((exists pa_h_hj32_local_total_j_p4_twenty_one_product_factor. pa_h_hj32_local_total_j_p4_twenty_one_product_factor + S (pa_p_hj32_local_total_j_p4_twenty_one_product) = S ((S (pa_i_hj32_local_total_j_p4_twenty_one_product)) * pa_c_hj32_local_total_j_p4_twenty_one)) /\ exists pa_q_hj32_local_total_j_p4_twenty_one_product_factor. pa_b_hj32_local_total_j_p4_twenty_one = pa_q_hj32_local_total_j_p4_twenty_one_product_factor * S ((S (pa_i_hj32_local_total_j_p4_twenty_one_product)) * pa_c_hj32_local_total_j_p4_twenty_one) + (pa_p_hj32_local_total_j_p4_twenty_one_product))) /\ ((((exists pa_h_hj32_local_total_j_p4_twenty_one_product_partial. pa_h_hj32_local_total_j_p4_twenty_one_product_partial + S (pa_r_hj32_local_total_j_p4_twenty_one_product) = S ((S (pa_i_hj32_local_total_j_p4_twenty_one_product)) * pa_v_hj32_local_total_j_p4_twenty_one_product)) /\ exists pa_q_hj32_local_total_j_p4_twenty_one_product_partial. pa_u_hj32_local_total_j_p4_twenty_one_product = pa_q_hj32_local_total_j_p4_twenty_one_product_partial * S ((S (pa_i_hj32_local_total_j_p4_twenty_one_product)) * pa_v_hj32_local_total_j_p4_twenty_one_product) + (pa_r_hj32_local_total_j_p4_twenty_one_product))) /\ ((((exists pa_h_hj32_local_total_j_p4_twenty_one_product_successor. pa_h_hj32_local_total_j_p4_twenty_one_product_successor + S (pa_s_hj32_local_total_j_p4_twenty_one_product) = S ((S (S pa_i_hj32_local_total_j_p4_twenty_one_product)) * pa_v_hj32_local_total_j_p4_twenty_one_product)) /\ exists pa_q_hj32_local_total_j_p4_twenty_one_product_successor. pa_u_hj32_local_total_j_p4_twenty_one_product = pa_q_hj32_local_total_j_p4_twenty_one_product_successor * S ((S (S pa_i_hj32_local_total_j_p4_twenty_one_product)) * pa_v_hj32_local_total_j_p4_twenty_one_product) + (pa_s_hj32_local_total_j_p4_twenty_one_product))) /\ pa_s_hj32_local_total_j_p4_twenty_one_product = pa_r_hj32_local_total_j_p4_twenty_one_product * pa_p_hj32_local_total_j_p4_twenty_one_product))))))))
  15. 0015specialize htotal 4
  16. 0016specialize htotal 21
  17. 0017exact htotal
  18. 0018cases j_p4_twenty_one
  19. 0019have j_parity : 7 * 6 = 2 * 21
  20. 0020norm_num
  21. 0021have j_eleven_bound : Le(x,x1)
    Exact native replay linehave j_eleven_bound : exists bqb_le_gap_hj32_j_eleven_bound. bqb_le_gap_hj32_j_eleven_bound + (x) = (x1)
  22. 0022specialize pow_eleven_double_block_le_pow_four_even_from_total 6
  23. 0023specialize pow_eleven_double_block_le_pow_four_even_from_total 21
  24. 0024specialize pow_eleven_double_block_le_pow_four_even_from_total x
  25. 0025specialize pow_eleven_double_block_le_pow_four_even_from_total x1
  26. 0026apply pow_eleven_double_block_le_pow_four_even_from_total
  27. 0027exact htotal
  28. 0028exact j_parity
  29. 0029exact j_p11_block_witness
  30. 0030exact j_p4_twenty_one_witness
  31. 0031have j_twelve : 2 * 6 = 12
  32. 0032norm_num
  33. 0033have j_h_block : Pow(s + 7,2 · 6,j)
    Exact native replay linehave j_h_block : exists pa_b_hj32_j_h_block pa_c_hj32_j_h_block. ((forall pa_i_hj32_j_h_block_repeat. (exists pa_lt_hj32_j_h_block_repeat_bound. pa_lt_hj32_j_h_block_repeat_bound + S pa_i_hj32_j_h_block_repeat = 2 * 6) -> (((exists pa_h_hj32_j_h_block_repeat_decoded. pa_h_hj32_j_h_block_repeat_decoded + S (s + 7) = S ((S (pa_i_hj32_j_h_block_repeat)) * pa_c_hj32_j_h_block)) /\ exists pa_q_hj32_j_h_block_repeat_decoded. pa_b_hj32_j_h_block = pa_q_hj32_j_h_block_repeat_decoded * S ((S (pa_i_hj32_j_h_block_repeat)) * pa_c_hj32_j_h_block) + (s + 7)))) /\ (exists pa_u_hj32_j_h_block_product pa_v_hj32_j_h_block_product. ((((exists pa_h_hj32_j_h_block_product_start. pa_h_hj32_j_h_block_product_start + S (1) = S ((S (0)) * pa_v_hj32_j_h_block_product)) /\ exists pa_q_hj32_j_h_block_product_start. pa_u_hj32_j_h_block_product = pa_q_hj32_j_h_block_product_start * S ((S (0)) * pa_v_hj32_j_h_block_product) + (1))) /\ ((((exists pa_h_hj32_j_h_block_product_terminal. pa_h_hj32_j_h_block_product_terminal + S (j) = S ((S (2 * 6)) * pa_v_hj32_j_h_block_product)) /\ exists pa_q_hj32_j_h_block_product_terminal. pa_u_hj32_j_h_block_product = pa_q_hj32_j_h_block_product_terminal * S ((S (2 * 6)) * pa_v_hj32_j_h_block_product) + (j))) /\ forall pa_i_hj32_j_h_block_product. (exists pa_lt_hj32_j_h_block_product_bound. pa_lt_hj32_j_h_block_product_bound + S pa_i_hj32_j_h_block_product = 2 * 6) -> exists pa_p_hj32_j_h_block_product pa_r_hj32_j_h_block_product pa_s_hj32_j_h_block_product. ((((exists pa_h_hj32_j_h_block_product_factor. pa_h_hj32_j_h_block_product_factor + S (pa_p_hj32_j_h_block_product) = S ((S (pa_i_hj32_j_h_block_product)) * pa_c_hj32_j_h_block)) /\ exists pa_q_hj32_j_h_block_product_factor. pa_b_hj32_j_h_block = pa_q_hj32_j_h_block_product_factor * S ((S (pa_i_hj32_j_h_block_product)) * pa_c_hj32_j_h_block) + (pa_p_hj32_j_h_block_product))) /\ ((((exists pa_h_hj32_j_h_block_product_partial. pa_h_hj32_j_h_block_product_partial + S (pa_r_hj32_j_h_block_product) = S ((S (pa_i_hj32_j_h_block_product)) * pa_v_hj32_j_h_block_product)) /\ exists pa_q_hj32_j_h_block_product_partial. pa_u_hj32_j_h_block_product = pa_q_hj32_j_h_block_product_partial * S ((S (pa_i_hj32_j_h_block_product)) * pa_v_hj32_j_h_block_product) + (pa_r_hj32_j_h_block_product))) /\ ((((exists pa_h_hj32_j_h_block_product_successor. pa_h_hj32_j_h_block_product_successor + S (pa_s_hj32_j_h_block_product) = S ((S (S pa_i_hj32_j_h_block_product)) * pa_v_hj32_j_h_block_product)) /\ exists pa_q_hj32_j_h_block_product_successor. pa_u_hj32_j_h_block_product = pa_q_hj32_j_h_block_product_successor * S ((S (S pa_i_hj32_j_h_block_product)) * pa_v_hj32_j_h_block_product) + (pa_s_hj32_j_h_block_product))) /\ pa_s_hj32_j_h_block_product = pa_r_hj32_j_h_block_product * pa_p_hj32_j_h_block_product)))))))
  34. 0034rewrite j_twelve
  35. 0035rewrite j_twelve
  36. 0036rewrite j_twelve
  37. 0037rewrite j_twelve
  38. 0038exact hj
  39. 0039have j_p4_block : ∃ hj32_local_value_j_p4_block. Pow(4,2 · 6,hj32_local_value_j_p4_block)
    Exact native replay linehave j_p4_block : exists hj32_local_value_j_p4_block. (exists pa_b_hj32_local_total_j_p4_block pa_c_hj32_local_total_j_p4_block. ((forall pa_i_hj32_local_total_j_p4_block_repeat. (exists pa_lt_hj32_local_total_j_p4_block_repeat_bound. pa_lt_hj32_local_total_j_p4_block_repeat_bound + S pa_i_hj32_local_total_j_p4_block_repeat = 2 * 6) -> (((exists pa_h_hj32_local_total_j_p4_block_repeat_decoded. pa_h_hj32_local_total_j_p4_block_repeat_decoded + S (4) = S ((S (pa_i_hj32_local_total_j_p4_block_repeat)) * pa_c_hj32_local_total_j_p4_block)) /\ exists pa_q_hj32_local_total_j_p4_block_repeat_decoded. pa_b_hj32_local_total_j_p4_block = pa_q_hj32_local_total_j_p4_block_repeat_decoded * S ((S (pa_i_hj32_local_total_j_p4_block_repeat)) * pa_c_hj32_local_total_j_p4_block) + (4)))) /\ (exists pa_u_hj32_local_total_j_p4_block_product pa_v_hj32_local_total_j_p4_block_product. ((((exists pa_h_hj32_local_total_j_p4_block_product_start. pa_h_hj32_local_total_j_p4_block_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_j_p4_block_product)) /\ exists pa_q_hj32_local_total_j_p4_block_product_start. pa_u_hj32_local_total_j_p4_block_product = pa_q_hj32_local_total_j_p4_block_product_start * S ((S (0)) * pa_v_hj32_local_total_j_p4_block_product) + (1))) /\ ((((exists pa_h_hj32_local_total_j_p4_block_product_terminal. pa_h_hj32_local_total_j_p4_block_product_terminal + S (hj32_local_value_j_p4_block) = S ((S (2 * 6)) * pa_v_hj32_local_total_j_p4_block_product)) /\ exists pa_q_hj32_local_total_j_p4_block_product_terminal. pa_u_hj32_local_total_j_p4_block_product = pa_q_hj32_local_total_j_p4_block_product_terminal * S ((S (2 * 6)) * pa_v_hj32_local_total_j_p4_block_product) + (hj32_local_value_j_p4_block))) /\ forall pa_i_hj32_local_total_j_p4_block_product. (exists pa_lt_hj32_local_total_j_p4_block_product_bound. pa_lt_hj32_local_total_j_p4_block_product_bound + S pa_i_hj32_local_total_j_p4_block_product = 2 * 6) -> exists pa_p_hj32_local_total_j_p4_block_product pa_r_hj32_local_total_j_p4_block_product pa_s_hj32_local_total_j_p4_block_product. ((((exists pa_h_hj32_local_total_j_p4_block_product_factor. pa_h_hj32_local_total_j_p4_block_product_factor + S (pa_p_hj32_local_total_j_p4_block_product) = S ((S (pa_i_hj32_local_total_j_p4_block_product)) * pa_c_hj32_local_total_j_p4_block)) /\ exists pa_q_hj32_local_total_j_p4_block_product_factor. pa_b_hj32_local_total_j_p4_block = pa_q_hj32_local_total_j_p4_block_product_factor * S ((S (pa_i_hj32_local_total_j_p4_block_product)) * pa_c_hj32_local_total_j_p4_block) + (pa_p_hj32_local_total_j_p4_block_product))) /\ ((((exists pa_h_hj32_local_total_j_p4_block_product_partial. pa_h_hj32_local_total_j_p4_block_product_partial + S (pa_r_hj32_local_total_j_p4_block_product) = S ((S (pa_i_hj32_local_total_j_p4_block_product)) * pa_v_hj32_local_total_j_p4_block_product)) /\ exists pa_q_hj32_local_total_j_p4_block_product_partial. pa_u_hj32_local_total_j_p4_block_product = pa_q_hj32_local_total_j_p4_block_product_partial * S ((S (pa_i_hj32_local_total_j_p4_block_product)) * pa_v_hj32_local_total_j_p4_block_product) + (pa_r_hj32_local_total_j_p4_block_product))) /\ ((((exists pa_h_hj32_local_total_j_p4_block_product_successor. pa_h_hj32_local_total_j_p4_block_product_successor + S (pa_s_hj32_local_total_j_p4_block_product) = S ((S (S pa_i_hj32_local_total_j_p4_block_product)) * pa_v_hj32_local_total_j_p4_block_product)) /\ exists pa_q_hj32_local_total_j_p4_block_product_successor. pa_u_hj32_local_total_j_p4_block_product = pa_q_hj32_local_total_j_p4_block_product_successor * S ((S (S pa_i_hj32_local_total_j_p4_block_product)) * pa_v_hj32_local_total_j_p4_block_product) + (pa_s_hj32_local_total_j_p4_block_product))) /\ pa_s_hj32_local_total_j_p4_block_product = pa_r_hj32_local_total_j_p4_block_product * pa_p_hj32_local_total_j_p4_block_product))))))))
  40. 0040specialize htotal 4
  41. 0041specialize htotal 2 * 6
  42. 0042exact htotal
  43. 0043cases j_p4_block
  44. 0044have j_p44_block : ∃ hj32_local_value_j_p44_block. Pow(44,2 · 6,hj32_local_value_j_p44_block)
    Exact native replay linehave j_p44_block : exists hj32_local_value_j_p44_block. (exists pa_b_hj32_local_total_j_p44_block pa_c_hj32_local_total_j_p44_block. ((forall pa_i_hj32_local_total_j_p44_block_repeat. (exists pa_lt_hj32_local_total_j_p44_block_repeat_bound. pa_lt_hj32_local_total_j_p44_block_repeat_bound + S pa_i_hj32_local_total_j_p44_block_repeat = 2 * 6) -> (((exists pa_h_hj32_local_total_j_p44_block_repeat_decoded. pa_h_hj32_local_total_j_p44_block_repeat_decoded + S (44) = S ((S (pa_i_hj32_local_total_j_p44_block_repeat)) * pa_c_hj32_local_total_j_p44_block)) /\ exists pa_q_hj32_local_total_j_p44_block_repeat_decoded. pa_b_hj32_local_total_j_p44_block = pa_q_hj32_local_total_j_p44_block_repeat_decoded * S ((S (pa_i_hj32_local_total_j_p44_block_repeat)) * pa_c_hj32_local_total_j_p44_block) + (44)))) /\ (exists pa_u_hj32_local_total_j_p44_block_product pa_v_hj32_local_total_j_p44_block_product. ((((exists pa_h_hj32_local_total_j_p44_block_product_start. pa_h_hj32_local_total_j_p44_block_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_j_p44_block_product)) /\ exists pa_q_hj32_local_total_j_p44_block_product_start. pa_u_hj32_local_total_j_p44_block_product = pa_q_hj32_local_total_j_p44_block_product_start * S ((S (0)) * pa_v_hj32_local_total_j_p44_block_product) + (1))) /\ ((((exists pa_h_hj32_local_total_j_p44_block_product_terminal. pa_h_hj32_local_total_j_p44_block_product_terminal + S (hj32_local_value_j_p44_block) = S ((S (2 * 6)) * pa_v_hj32_local_total_j_p44_block_product)) /\ exists pa_q_hj32_local_total_j_p44_block_product_terminal. pa_u_hj32_local_total_j_p44_block_product = pa_q_hj32_local_total_j_p44_block_product_terminal * S ((S (2 * 6)) * pa_v_hj32_local_total_j_p44_block_product) + (hj32_local_value_j_p44_block))) /\ forall pa_i_hj32_local_total_j_p44_block_product. (exists pa_lt_hj32_local_total_j_p44_block_product_bound. pa_lt_hj32_local_total_j_p44_block_product_bound + S pa_i_hj32_local_total_j_p44_block_product = 2 * 6) -> exists pa_p_hj32_local_total_j_p44_block_product pa_r_hj32_local_total_j_p44_block_product pa_s_hj32_local_total_j_p44_block_product. ((((exists pa_h_hj32_local_total_j_p44_block_product_factor. pa_h_hj32_local_total_j_p44_block_product_factor + S (pa_p_hj32_local_total_j_p44_block_product) = S ((S (pa_i_hj32_local_total_j_p44_block_product)) * pa_c_hj32_local_total_j_p44_block)) /\ exists pa_q_hj32_local_total_j_p44_block_product_factor. pa_b_hj32_local_total_j_p44_block = pa_q_hj32_local_total_j_p44_block_product_factor * S ((S (pa_i_hj32_local_total_j_p44_block_product)) * pa_c_hj32_local_total_j_p44_block) + (pa_p_hj32_local_total_j_p44_block_product))) /\ ((((exists pa_h_hj32_local_total_j_p44_block_product_partial. pa_h_hj32_local_total_j_p44_block_product_partial + S (pa_r_hj32_local_total_j_p44_block_product) = S ((S (pa_i_hj32_local_total_j_p44_block_product)) * pa_v_hj32_local_total_j_p44_block_product)) /\ exists pa_q_hj32_local_total_j_p44_block_product_partial. pa_u_hj32_local_total_j_p44_block_product = pa_q_hj32_local_total_j_p44_block_product_partial * S ((S (pa_i_hj32_local_total_j_p44_block_product)) * pa_v_hj32_local_total_j_p44_block_product) + (pa_r_hj32_local_total_j_p44_block_product))) /\ ((((exists pa_h_hj32_local_total_j_p44_block_product_successor. pa_h_hj32_local_total_j_p44_block_product_successor + S (pa_s_hj32_local_total_j_p44_block_product) = S ((S (S pa_i_hj32_local_total_j_p44_block_product)) * pa_v_hj32_local_total_j_p44_block_product)) /\ exists pa_q_hj32_local_total_j_p44_block_product_successor. pa_u_hj32_local_total_j_p44_block_product = pa_q_hj32_local_total_j_p44_block_product_successor * S ((S (S pa_i_hj32_local_total_j_p44_block_product)) * pa_v_hj32_local_total_j_p44_block_product) + (pa_s_hj32_local_total_j_p44_block_product))) /\ pa_s_hj32_local_total_j_p44_block_product = pa_r_hj32_local_total_j_p44_block_product * pa_p_hj32_local_total_j_p44_block_product))))))))
  45. 0045specialize htotal 44
  46. 0046specialize htotal 2 * 6
  47. 0047exact htotal
  48. 0048cases j_p44_block
  49. 0049have j_p4_thirty_three : ∃ hj32_local_value_j_p4_thirty_three. Pow(4,33,hj32_local_value_j_p4_thirty_three)
    Exact native replay linehave j_p4_thirty_three : exists hj32_local_value_j_p4_thirty_three. (exists pa_b_hj32_local_total_j_p4_thirty_three pa_c_hj32_local_total_j_p4_thirty_three. ((forall pa_i_hj32_local_total_j_p4_thirty_three_repeat. (exists pa_lt_hj32_local_total_j_p4_thirty_three_repeat_bound. pa_lt_hj32_local_total_j_p4_thirty_three_repeat_bound + S pa_i_hj32_local_total_j_p4_thirty_three_repeat = 33) -> (((exists pa_h_hj32_local_total_j_p4_thirty_three_repeat_decoded. pa_h_hj32_local_total_j_p4_thirty_three_repeat_decoded + S (4) = S ((S (pa_i_hj32_local_total_j_p4_thirty_three_repeat)) * pa_c_hj32_local_total_j_p4_thirty_three)) /\ exists pa_q_hj32_local_total_j_p4_thirty_three_repeat_decoded. pa_b_hj32_local_total_j_p4_thirty_three = pa_q_hj32_local_total_j_p4_thirty_three_repeat_decoded * S ((S (pa_i_hj32_local_total_j_p4_thirty_three_repeat)) * pa_c_hj32_local_total_j_p4_thirty_three) + (4)))) /\ (exists pa_u_hj32_local_total_j_p4_thirty_three_product pa_v_hj32_local_total_j_p4_thirty_three_product. ((((exists pa_h_hj32_local_total_j_p4_thirty_three_product_start. pa_h_hj32_local_total_j_p4_thirty_three_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_total_j_p4_thirty_three_product)) /\ exists pa_q_hj32_local_total_j_p4_thirty_three_product_start. pa_u_hj32_local_total_j_p4_thirty_three_product = pa_q_hj32_local_total_j_p4_thirty_three_product_start * S ((S (0)) * pa_v_hj32_local_total_j_p4_thirty_three_product) + (1))) /\ ((((exists pa_h_hj32_local_total_j_p4_thirty_three_product_terminal. pa_h_hj32_local_total_j_p4_thirty_three_product_terminal + S (hj32_local_value_j_p4_thirty_three) = S ((S (33)) * pa_v_hj32_local_total_j_p4_thirty_three_product)) /\ exists pa_q_hj32_local_total_j_p4_thirty_three_product_terminal. pa_u_hj32_local_total_j_p4_thirty_three_product = pa_q_hj32_local_total_j_p4_thirty_three_product_terminal * S ((S (33)) * pa_v_hj32_local_total_j_p4_thirty_three_product) + (hj32_local_value_j_p4_thirty_three))) /\ forall pa_i_hj32_local_total_j_p4_thirty_three_product. (exists pa_lt_hj32_local_total_j_p4_thirty_three_product_bound. pa_lt_hj32_local_total_j_p4_thirty_three_product_bound + S pa_i_hj32_local_total_j_p4_thirty_three_product = 33) -> exists pa_p_hj32_local_total_j_p4_thirty_three_product pa_r_hj32_local_total_j_p4_thirty_three_product pa_s_hj32_local_total_j_p4_thirty_three_product. ((((exists pa_h_hj32_local_total_j_p4_thirty_three_product_factor. pa_h_hj32_local_total_j_p4_thirty_three_product_factor + S (pa_p_hj32_local_total_j_p4_thirty_three_product) = S ((S (pa_i_hj32_local_total_j_p4_thirty_three_product)) * pa_c_hj32_local_total_j_p4_thirty_three)) /\ exists pa_q_hj32_local_total_j_p4_thirty_three_product_factor. pa_b_hj32_local_total_j_p4_thirty_three = pa_q_hj32_local_total_j_p4_thirty_three_product_factor * S ((S (pa_i_hj32_local_total_j_p4_thirty_three_product)) * pa_c_hj32_local_total_j_p4_thirty_three) + (pa_p_hj32_local_total_j_p4_thirty_three_product))) /\ ((((exists pa_h_hj32_local_total_j_p4_thirty_three_product_partial. pa_h_hj32_local_total_j_p4_thirty_three_product_partial + S (pa_r_hj32_local_total_j_p4_thirty_three_product) = S ((S (pa_i_hj32_local_total_j_p4_thirty_three_product)) * pa_v_hj32_local_total_j_p4_thirty_three_product)) /\ exists pa_q_hj32_local_total_j_p4_thirty_three_product_partial. pa_u_hj32_local_total_j_p4_thirty_three_product = pa_q_hj32_local_total_j_p4_thirty_three_product_partial * S ((S (pa_i_hj32_local_total_j_p4_thirty_three_product)) * pa_v_hj32_local_total_j_p4_thirty_three_product) + (pa_r_hj32_local_total_j_p4_thirty_three_product))) /\ ((((exists pa_h_hj32_local_total_j_p4_thirty_three_product_successor. pa_h_hj32_local_total_j_p4_thirty_three_product_successor + S (pa_s_hj32_local_total_j_p4_thirty_three_product) = S ((S (S pa_i_hj32_local_total_j_p4_thirty_three_product)) * pa_v_hj32_local_total_j_p4_thirty_three_product)) /\ exists pa_q_hj32_local_total_j_p4_thirty_three_product_successor. pa_u_hj32_local_total_j_p4_thirty_three_product = pa_q_hj32_local_total_j_p4_thirty_three_product_successor * S ((S (S pa_i_hj32_local_total_j_p4_thirty_three_product)) * pa_v_hj32_local_total_j_p4_thirty_three_product) + (pa_s_hj32_local_total_j_p4_thirty_three_product))) /\ pa_s_hj32_local_total_j_p4_thirty_three_product = pa_r_hj32_local_total_j_p4_thirty_three_product * pa_p_hj32_local_total_j_p4_thirty_three_product))))))))
  50. 0050specialize htotal 4
  51. 0051specialize htotal 33
  52. 0052exact htotal
  53. 0053cases j_p4_thirty_three
  54. 0054have j_product_44_graph : Pow(4 · 11,2 · 6,x3)
    Exact native replay linehave j_product_44_graph : exists pa_b_hj32_local_product_j_product_44 pa_c_hj32_local_product_j_product_44. ((forall pa_i_hj32_local_product_j_product_44_repeat. (exists pa_lt_hj32_local_product_j_product_44_repeat_bound. pa_lt_hj32_local_product_j_product_44_repeat_bound + S pa_i_hj32_local_product_j_product_44_repeat = 2 * 6) -> (((exists pa_h_hj32_local_product_j_product_44_repeat_decoded. pa_h_hj32_local_product_j_product_44_repeat_decoded + S (4 * 11) = S ((S (pa_i_hj32_local_product_j_product_44_repeat)) * pa_c_hj32_local_product_j_product_44)) /\ exists pa_q_hj32_local_product_j_product_44_repeat_decoded. pa_b_hj32_local_product_j_product_44 = pa_q_hj32_local_product_j_product_44_repeat_decoded * S ((S (pa_i_hj32_local_product_j_product_44_repeat)) * pa_c_hj32_local_product_j_product_44) + (4 * 11)))) /\ (exists pa_u_hj32_local_product_j_product_44_product pa_v_hj32_local_product_j_product_44_product. ((((exists pa_h_hj32_local_product_j_product_44_product_start. pa_h_hj32_local_product_j_product_44_product_start + S (1) = S ((S (0)) * pa_v_hj32_local_product_j_product_44_product)) /\ exists pa_q_hj32_local_product_j_product_44_product_start. pa_u_hj32_local_product_j_product_44_product = pa_q_hj32_local_product_j_product_44_product_start * S ((S (0)) * pa_v_hj32_local_product_j_product_44_product) + (1))) /\ ((((exists pa_h_hj32_local_product_j_product_44_product_terminal. pa_h_hj32_local_product_j_product_44_product_terminal + S (x3) = S ((S (2 * 6)) * pa_v_hj32_local_product_j_product_44_product)) /\ exists pa_q_hj32_local_product_j_product_44_product_terminal. pa_u_hj32_local_product_j_product_44_product = pa_q_hj32_local_product_j_product_44_product_terminal * S ((S (2 * 6)) * pa_v_hj32_local_product_j_product_44_product) + (x3))) /\ forall pa_i_hj32_local_product_j_product_44_product. (exists pa_lt_hj32_local_product_j_product_44_product_bound. pa_lt_hj32_local_product_j_product_44_product_bound + S pa_i_hj32_local_product_j_product_44_product = 2 * 6) -> exists pa_p_hj32_local_product_j_product_44_product pa_r_hj32_local_product_j_product_44_product pa_s_hj32_local_product_j_product_44_product. ((((exists pa_h_hj32_local_product_j_product_44_product_factor. pa_h_hj32_local_product_j_product_44_product_factor + S (pa_p_hj32_local_product_j_product_44_product) = S ((S (pa_i_hj32_local_product_j_product_44_product)) * pa_c_hj32_local_product_j_product_44)) /\ exists pa_q_hj32_local_product_j_product_44_product_factor. pa_b_hj32_local_product_j_product_44 = pa_q_hj32_local_product_j_product_44_product_factor * S ((S (pa_i_hj32_local_product_j_product_44_product)) * pa_c_hj32_local_product_j_product_44) + (pa_p_hj32_local_product_j_product_44_product))) /\ ((((exists pa_h_hj32_local_product_j_product_44_product_partial. pa_h_hj32_local_product_j_product_44_product_partial + S (pa_r_hj32_local_product_j_product_44_product) = S ((S (pa_i_hj32_local_product_j_product_44_product)) * pa_v_hj32_local_product_j_product_44_product)) /\ exists pa_q_hj32_local_product_j_product_44_product_partial. pa_u_hj32_local_product_j_product_44_product = pa_q_hj32_local_product_j_product_44_product_partial * S ((S (pa_i_hj32_local_product_j_product_44_product)) * pa_v_hj32_local_product_j_product_44_product) + (pa_r_hj32_local_product_j_product_44_product))) /\ ((((exists pa_h_hj32_local_product_j_product_44_product_successor. pa_h_hj32_local_product_j_product_44_product_successor + S (pa_s_hj32_local_product_j_product_44_product) = S ((S (S pa_i_hj32_local_product_j_product_44_product)) * pa_v_hj32_local_product_j_product_44_product)) /\ exists pa_q_hj32_local_product_j_product_44_product_successor. pa_u_hj32_local_product_j_product_44_product = pa_q_hj32_local_product_j_product_44_product_successor * S ((S (S pa_i_hj32_local_product_j_product_44_product)) * pa_v_hj32_local_product_j_product_44_product) + (pa_s_hj32_local_product_j_product_44_product))) /\ pa_s_hj32_local_product_j_product_44_product = pa_r_hj32_local_product_j_product_44_product * pa_p_hj32_local_product_j_product_44_product)))))))
  55. 0055have j_product_44_base : 4 * 11 = 44
  56. 0056norm_num
  57. 0057rewrite j_product_44_base
  58. 0058rewrite j_product_44_base
  59. 0059exact j_p44_block_witness
  60. 0060have j_product_44 : x3 = x2 * x
  61. 0061specialize pow_mul_base 4
  62. 0062specialize pow_mul_base 11
  63. 0063specialize pow_mul_base 2 * 6
  64. 0064specialize pow_mul_base x2
  65. 0065specialize pow_mul_base x
  66. 0066specialize pow_mul_base x3
  67. 0067apply pow_mul_base
  68. 0068exact j_p4_block_witness
  69. 0069exact j_p11_block_witness
  70. 0070exact j_product_44_graph
  71. 0071have j_product_33 : x4 = x2 * x1
  72. 0072specialize pow_add 4
  73. 0073specialize pow_add 2 * 6
  74. 0074specialize pow_add 21
  75. 0075specialize pow_add 33
  76. 0076specialize pow_add x2
  77. 0077specialize pow_add x1
  78. 0078specialize pow_add x4
  79. 0079apply pow_add
  80. 0080norm_num
  81. 0081exact j_p4_block_witness
  82. 0082exact j_p4_twenty_one_witness
  83. 0083exact j_p4_thirty_three_witness
  84. 0084have j_four_refl : Le(x2,x2)
    Exact native replay linehave j_four_refl : exists bqb_le_gap_hj32_j_four_refl. bqb_le_gap_hj32_j_four_refl + (x2) = (x2)
  85. 0085specialize le_refl x2
  86. 0086exact le_refl
  87. 0087have j_product_bound : Le(x2 · x,x2 · x1)
    Exact native replay linehave j_product_bound : exists bqb_le_gap_hj32_local_product_bound_j_product_bound. bqb_le_gap_hj32_local_product_bound_j_product_bound + (x2 * x) = (x2 * x1)
  88. 0088specialize mul_le_mul x2
  89. 0089specialize mul_le_mul x2
  90. 0090specialize mul_le_mul x
  91. 0091specialize mul_le_mul x1
  92. 0092apply mul_le_mul
  93. 0093exact j_four_refl
  94. 0094exact j_eleven_bound
  95. 0095rewrite <- j_product_44 at j_product_bound
  96. 0096rewrite <- j_product_33 at j_product_bound
  97. 0097have j_base_to_upper : Le(s + 7,37 + 7)
    Exact native replay linehave j_base_to_upper : exists bqb_le_gap_hj32_j_base_to_upper. bqb_le_gap_hj32_j_base_to_upper + (s + 7) = (37 + 7)
  98. 0098specialize add_le_add_right s
  99. 0099specialize add_le_add_right 37
  100. 0100specialize add_le_add_right 7
  101. 0101apply add_le_add_right
  102. 0102exact hupper
  103. 0103have j_upper_value : 37 + 7 = 44
  104. 0104norm_num
  105. 0105have j_base_bound : Le(s + 7,44)
    Exact native replay linehave j_base_bound : exists bqb_le_gap_hj32_j_base_bound. bqb_le_gap_hj32_j_base_bound + (s + 7) = (44)
  106. 0106rewrite j_upper_value at j_base_to_upper
  107. 0107exact j_base_to_upper
  108. 0108have j_to_44 : Le(j,x3)
    Exact native replay linehave j_to_44 : exists bqb_le_gap_hj32_local_base_bound_j_to_44. bqb_le_gap_hj32_local_base_bound_j_to_44 + (j) = (x3)
  109. 0109specialize pow_base_monotone s + 7
  110. 0110specialize pow_base_monotone 44
  111. 0111specialize pow_base_monotone 2 * 6
  112. 0112specialize pow_base_monotone j
  113. 0113specialize pow_base_monotone x3
  114. 0114apply pow_base_monotone
  115. 0115exact j_base_bound
  116. 0116exact j_h_block
  117. 0117exact j_p44_block_witness
  118. 0118have j_to_thirty_three : Le(j,x4)
    Exact native replay linehave j_to_thirty_three : exists bqb_le_gap_hj32_local_trans_bound_j_to_thirty_three. bqb_le_gap_hj32_local_trans_bound_j_to_thirty_three + (j) = (x4)
  119. 0119specialize le_trans j
  120. 0120specialize le_trans x3
  121. 0121specialize le_trans x4
  122. 0122apply le_trans
  123. 0123exact j_to_44
  124. 0124exact j_product_bound
  125. 0125have j_exponent_from_lower : Le(32 + 5,s + 5)
    Exact native replay linehave j_exponent_from_lower : exists bqb_le_gap_hj32_j_exponent_from_lower. bqb_le_gap_hj32_j_exponent_from_lower + (32 + 5) = (s + 5)
  126. 0126specialize add_le_add_right 32
  127. 0127specialize add_le_add_right s
  128. 0128specialize add_le_add_right 5
  129. 0129apply add_le_add_right
  130. 0130exact hlower
  131. 0131have j_lower_value : 32 + 5 = 37
  132. 0132norm_num
  133. 0133have j_thirty_seven_to_target : Lt(36,s + 5)
    Exact native replay linehave j_thirty_seven_to_target : exists bqb_le_gap_hj32_j_thirty_seven_to_target. bqb_le_gap_hj32_j_thirty_seven_to_target + (37) = (s + 5)
  134. 0134rewrite j_lower_value at j_exponent_from_lower
  135. 0135exact j_exponent_from_lower
  136. 0136have j_seed : Lt(32,37)
    Exact native replay linehave j_seed : exists bqb_le_gap_hj32_j_exponent_seed. bqb_le_gap_hj32_j_exponent_seed + (33) = (37)
  137. 0137exists 4
  138. 0138norm_num
  139. 0139have j_exponent_bound : Lt(32,s + 5)
    Exact native replay linehave j_exponent_bound : exists bqb_le_gap_hj32_local_trans_bound_j_exponent_bound. bqb_le_gap_hj32_local_trans_bound_j_exponent_bound + (33) = (s + 5)
  140. 0140specialize le_trans 33
  141. 0141specialize le_trans 37
  142. 0142specialize le_trans s + 5
  143. 0143apply le_trans
  144. 0144exact j_seed
  145. 0145exact j_thirty_seven_to_target
  146. 0146have j_growth : Le(x4,g)
    Exact native replay linehave j_growth : exists bqb_le_gap_hj32_local_exponent_bound_j_growth. bqb_le_gap_hj32_local_exponent_bound_j_growth + (x4) = (g)
  147. 0147specialize pow_exponent_monotone_from_total 4
  148. 0148specialize pow_exponent_monotone_from_total 33
  149. 0149specialize pow_exponent_monotone_from_total s + 5
  150. 0150specialize pow_exponent_monotone_from_total x4
  151. 0151specialize pow_exponent_monotone_from_total g
  152. 0152apply pow_exponent_monotone_from_total
  153. 0153exact htotal
  154. 0154exists 3
  155. 0155norm_num
  156. 0156exact j_exponent_bound
  157. 0157exact j_p4_thirty_three_witness
  158. 0158exact hg
  159. 0159have j_result : Le(j,g)
    Exact native replay linehave j_result : exists bqb_le_gap_hj32_local_trans_bound_j_result. bqb_le_gap_hj32_local_trans_bound_j_result + (j) = (g)
  160. 0160specialize le_trans j
  161. 0161specialize le_trans x4
  162. 0162specialize le_trans g
  163. 0163apply le_trans
  164. 0164exact j_to_thirty_three
  165. 0165exact j_growth
  166. 0166exact j_result