BT00YW · Bertrand theorem

prime_contribution_prefix_pairwise_coprime

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

Distinct contribution positions decode pairwise-coprime values.

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

∀ n. ∀ b. ∀ c. ∀ m. (∀ x. Lt(x,m) → ∃ y. BetaAt(b,c,x,y) ∧ (Prime(S x) ∧ (∃ z. PowerValuation(S x,n,z)Pow(S x,z,y)) ∨ ¬Prime(S x) ∧ y = 1)) → ∀ x. ∀ y. ∀ z. ∀ k. Lt(x,m)Lt(y,m)BetaAt(b,c,x,z)BetaAt(b,c,y,k) → ¬x = y → Coprime(z,k)

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

11 occurrences

In local proof propositions

12 occurrences

Exact expanded native-PA statement
forall n b c m. (forall bpr_prefix_index_bpcppc_source. (exists bpr_gap_bpcppc_source_bound. bpr_gap_bpcppc_source_bound + S (bpr_prefix_index_bpcppc_source) = m) -> exists bpr_prefix_value_bpcppc_source. ((((exists bpr_height_bpcppc_source_decoded. bpr_height_bpcppc_source_decoded + S (bpr_prefix_value_bpcppc_source) = S ((S (bpr_prefix_index_bpcppc_source)) * c)) /\ exists bpr_quotient_bpcppc_source_decoded. b = bpr_quotient_bpcppc_source_decoded * S ((S (bpr_prefix_index_bpcppc_source)) * c) + (bpr_prefix_value_bpcppc_source))) /\ (((((~(S (bpr_prefix_index_bpcppc_source) = 1) /\ forall bpr_left_bpcppc_source_choice_prime bpr_right_bpcppc_source_choice_prime. S (bpr_prefix_index_bpcppc_source) = bpr_left_bpcppc_source_choice_prime * bpr_right_bpcppc_source_choice_prime -> bpr_left_bpcppc_source_choice_prime = 1 \/ bpr_right_bpcppc_source_choice_prime = 1)) /\ exists bpr_choice_exponent_bpcppc_source_choice. ((((exists bpr_le_gap_bpcppc_source_choice_valuation_selected_bound. bpr_le_gap_bpcppc_source_choice_valuation_selected_bound + (bpr_choice_exponent_bpcppc_source_choice) = (n)) /\ (exists bpr_power_value_bpcppc_source_choice_valuation_selected. ((exists bpr_power_code_bpcppc_source_choice_valuation_selected_power bpr_power_scale_bpcppc_source_choice_valuation_selected_power. ((forall bpr_power_index_bpcppc_source_choice_valuation_selected_power. (exists bpr_gap_bpcppc_source_choice_valuation_selected_power_repeat_bound. bpr_gap_bpcppc_source_choice_valuation_selected_power_repeat_bound + S (bpr_power_index_bpcppc_source_choice_valuation_selected_power) = bpr_choice_exponent_bpcppc_source_choice) -> (((exists bpr_height_bpcppc_source_choice_valuation_selected_power_repeat_entry. bpr_height_bpcppc_source_choice_valuation_selected_power_repeat_entry + S (S (bpr_prefix_index_bpcppc_source)) = S ((S (bpr_power_index_bpcppc_source_choice_valuation_selected_power)) * bpr_power_scale_bpcppc_source_choice_valuation_selected_power)) /\ exists bpr_quotient_bpcppc_source_choice_valuation_selected_power_repeat_entry. bpr_power_code_bpcppc_source_choice_valuation_selected_power = bpr_quotient_bpcppc_source_choice_valuation_selected_power_repeat_entry * S ((S (bpr_power_index_bpcppc_source_choice_valuation_selected_power)) * bpr_power_scale_bpcppc_source_choice_valuation_selected_power) + (S (bpr_prefix_index_bpcppc_source))))) /\ (exists ff_u_bpcppc_source_choice_valuation_selected_power_product ff_v_bpcppc_source_choice_valuation_selected_power_product. ((((exists ff_h_bpcppc_source_choice_valuation_selected_power_product_start. ff_h_bpcppc_source_choice_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_source_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_selected_power_product_start. ff_u_bpcppc_source_choice_valuation_selected_power_product = ff_q_bpcppc_source_choice_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpcppc_source_choice_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpcppc_source_choice_valuation_selected_power_product_terminal. ff_h_bpcppc_source_choice_valuation_selected_power_product_terminal + S (bpr_power_value_bpcppc_source_choice_valuation_selected) = S ((S (bpr_choice_exponent_bpcppc_source_choice)) * ff_v_bpcppc_source_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_selected_power_product_terminal. ff_u_bpcppc_source_choice_valuation_selected_power_product = ff_q_bpcppc_source_choice_valuation_selected_power_product_terminal * S ((S (bpr_choice_exponent_bpcppc_source_choice)) * ff_v_bpcppc_source_choice_valuation_selected_power_product) + (bpr_power_value_bpcppc_source_choice_valuation_selected))) /\ forall ff_i_bpcppc_source_choice_valuation_selected_power_product. (exists ff_lt_bpcppc_source_choice_valuation_selected_power_product_bound. ff_lt_bpcppc_source_choice_valuation_selected_power_product_bound + S ff_i_bpcppc_source_choice_valuation_selected_power_product = bpr_choice_exponent_bpcppc_source_choice) -> exists ff_p_bpcppc_source_choice_valuation_selected_power_product ff_r_bpcppc_source_choice_valuation_selected_power_product ff_s_bpcppc_source_choice_valuation_selected_power_product. ((((exists ff_h_bpcppc_source_choice_valuation_selected_power_product_factor. ff_h_bpcppc_source_choice_valuation_selected_power_product_factor + S (ff_p_bpcppc_source_choice_valuation_selected_power_product) = S ((S (ff_i_bpcppc_source_choice_valuation_selected_power_product)) * bpr_power_scale_bpcppc_source_choice_valuation_selected_power)) /\ exists ff_q_bpcppc_source_choice_valuation_selected_power_product_factor. bpr_power_code_bpcppc_source_choice_valuation_selected_power = ff_q_bpcppc_source_choice_valuation_selected_power_product_factor * S ((S (ff_i_bpcppc_source_choice_valuation_selected_power_product)) * bpr_power_scale_bpcppc_source_choice_valuation_selected_power) + (ff_p_bpcppc_source_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcppc_source_choice_valuation_selected_power_product_partial. ff_h_bpcppc_source_choice_valuation_selected_power_product_partial + S (ff_r_bpcppc_source_choice_valuation_selected_power_product) = S ((S (ff_i_bpcppc_source_choice_valuation_selected_power_product)) * ff_v_bpcppc_source_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_selected_power_product_partial. ff_u_bpcppc_source_choice_valuation_selected_power_product = ff_q_bpcppc_source_choice_valuation_selected_power_product_partial * S ((S (ff_i_bpcppc_source_choice_valuation_selected_power_product)) * ff_v_bpcppc_source_choice_valuation_selected_power_product) + (ff_r_bpcppc_source_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcppc_source_choice_valuation_selected_power_product_successor. ff_h_bpcppc_source_choice_valuation_selected_power_product_successor + S (ff_s_bpcppc_source_choice_valuation_selected_power_product) = S ((S (S ff_i_bpcppc_source_choice_valuation_selected_power_product)) * ff_v_bpcppc_source_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_selected_power_product_successor. ff_u_bpcppc_source_choice_valuation_selected_power_product = ff_q_bpcppc_source_choice_valuation_selected_power_product_successor * S ((S (S ff_i_bpcppc_source_choice_valuation_selected_power_product)) * ff_v_bpcppc_source_choice_valuation_selected_power_product) + (ff_s_bpcppc_source_choice_valuation_selected_power_product))) /\ ff_s_bpcppc_source_choice_valuation_selected_power_product = ff_r_bpcppc_source_choice_valuation_selected_power_product * ff_p_bpcppc_source_choice_valuation_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcppc_source_choice_valuation_selected_divides. n = (bpr_power_value_bpcppc_source_choice_valuation_selected) * bpr_divides_quotient_bpcppc_source_choice_valuation_selected_divides)))) /\ forall bpr_valuation_candidate_bpcppc_source_choice_valuation. (exists bpr_le_gap_bpcppc_source_choice_valuation_candidate_bound. bpr_le_gap_bpcppc_source_choice_valuation_candidate_bound + (bpr_valuation_candidate_bpcppc_source_choice_valuation) = (n)) -> (exists bpr_power_value_bpcppc_source_choice_valuation_candidate. ((exists bpr_power_code_bpcppc_source_choice_valuation_candidate_power bpr_power_scale_bpcppc_source_choice_valuation_candidate_power. ((forall bpr_power_index_bpcppc_source_choice_valuation_candidate_power. (exists bpr_gap_bpcppc_source_choice_valuation_candidate_power_repeat_bound. bpr_gap_bpcppc_source_choice_valuation_candidate_power_repeat_bound + S (bpr_power_index_bpcppc_source_choice_valuation_candidate_power) = bpr_valuation_candidate_bpcppc_source_choice_valuation) -> (((exists bpr_height_bpcppc_source_choice_valuation_candidate_power_repeat_entry. bpr_height_bpcppc_source_choice_valuation_candidate_power_repeat_entry + S (S (bpr_prefix_index_bpcppc_source)) = S ((S (bpr_power_index_bpcppc_source_choice_valuation_candidate_power)) * bpr_power_scale_bpcppc_source_choice_valuation_candidate_power)) /\ exists bpr_quotient_bpcppc_source_choice_valuation_candidate_power_repeat_entry. bpr_power_code_bpcppc_source_choice_valuation_candidate_power = bpr_quotient_bpcppc_source_choice_valuation_candidate_power_repeat_entry * S ((S (bpr_power_index_bpcppc_source_choice_valuation_candidate_power)) * bpr_power_scale_bpcppc_source_choice_valuation_candidate_power) + (S (bpr_prefix_index_bpcppc_source))))) /\ (exists ff_u_bpcppc_source_choice_valuation_candidate_power_product ff_v_bpcppc_source_choice_valuation_candidate_power_product. ((((exists ff_h_bpcppc_source_choice_valuation_candidate_power_product_start. ff_h_bpcppc_source_choice_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_candidate_power_product_start. ff_u_bpcppc_source_choice_valuation_candidate_power_product = ff_q_bpcppc_source_choice_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpcppc_source_choice_valuation_candidate_power_product_terminal. ff_h_bpcppc_source_choice_valuation_candidate_power_product_terminal + S (bpr_power_value_bpcppc_source_choice_valuation_candidate) = S ((S (bpr_valuation_candidate_bpcppc_source_choice_valuation)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_candidate_power_product_terminal. ff_u_bpcppc_source_choice_valuation_candidate_power_product = ff_q_bpcppc_source_choice_valuation_candidate_power_product_terminal * S ((S (bpr_valuation_candidate_bpcppc_source_choice_valuation)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product) + (bpr_power_value_bpcppc_source_choice_valuation_candidate))) /\ forall ff_i_bpcppc_source_choice_valuation_candidate_power_product. (exists ff_lt_bpcppc_source_choice_valuation_candidate_power_product_bound. ff_lt_bpcppc_source_choice_valuation_candidate_power_product_bound + S ff_i_bpcppc_source_choice_valuation_candidate_power_product = bpr_valuation_candidate_bpcppc_source_choice_valuation) -> exists ff_p_bpcppc_source_choice_valuation_candidate_power_product ff_r_bpcppc_source_choice_valuation_candidate_power_product ff_s_bpcppc_source_choice_valuation_candidate_power_product. ((((exists ff_h_bpcppc_source_choice_valuation_candidate_power_product_factor. ff_h_bpcppc_source_choice_valuation_candidate_power_product_factor + S (ff_p_bpcppc_source_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcppc_source_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcppc_source_choice_valuation_candidate_power)) /\ exists ff_q_bpcppc_source_choice_valuation_candidate_power_product_factor. bpr_power_code_bpcppc_source_choice_valuation_candidate_power = ff_q_bpcppc_source_choice_valuation_candidate_power_product_factor * S ((S (ff_i_bpcppc_source_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcppc_source_choice_valuation_candidate_power) + (ff_p_bpcppc_source_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcppc_source_choice_valuation_candidate_power_product_partial. ff_h_bpcppc_source_choice_valuation_candidate_power_product_partial + S (ff_r_bpcppc_source_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcppc_source_choice_valuation_candidate_power_product)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_candidate_power_product_partial. ff_u_bpcppc_source_choice_valuation_candidate_power_product = ff_q_bpcppc_source_choice_valuation_candidate_power_product_partial * S ((S (ff_i_bpcppc_source_choice_valuation_candidate_power_product)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product) + (ff_r_bpcppc_source_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcppc_source_choice_valuation_candidate_power_product_successor. ff_h_bpcppc_source_choice_valuation_candidate_power_product_successor + S (ff_s_bpcppc_source_choice_valuation_candidate_power_product) = S ((S (S ff_i_bpcppc_source_choice_valuation_candidate_power_product)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_source_choice_valuation_candidate_power_product_successor. ff_u_bpcppc_source_choice_valuation_candidate_power_product = ff_q_bpcppc_source_choice_valuation_candidate_power_product_successor * S ((S (S ff_i_bpcppc_source_choice_valuation_candidate_power_product)) * ff_v_bpcppc_source_choice_valuation_candidate_power_product) + (ff_s_bpcppc_source_choice_valuation_candidate_power_product))) /\ ff_s_bpcppc_source_choice_valuation_candidate_power_product = ff_r_bpcppc_source_choice_valuation_candidate_power_product * ff_p_bpcppc_source_choice_valuation_candidate_power_product)))))))) /\ (exists bpr_divides_quotient_bpcppc_source_choice_valuation_candidate_divides. n = (bpr_power_value_bpcppc_source_choice_valuation_candidate) * bpr_divides_quotient_bpcppc_source_choice_valuation_candidate_divides))) -> (exists bpr_le_gap_bpcppc_source_choice_valuation_candidate_below. bpr_le_gap_bpcppc_source_choice_valuation_candidate_below + (bpr_valuation_candidate_bpcppc_source_choice_valuation) = (bpr_choice_exponent_bpcppc_source_choice))) /\ (exists bpr_power_code_bpcppc_source_choice_power bpr_power_scale_bpcppc_source_choice_power. ((forall bpr_power_index_bpcppc_source_choice_power. (exists bpr_gap_bpcppc_source_choice_power_repeat_bound. bpr_gap_bpcppc_source_choice_power_repeat_bound + S (bpr_power_index_bpcppc_source_choice_power) = bpr_choice_exponent_bpcppc_source_choice) -> (((exists bpr_height_bpcppc_source_choice_power_repeat_entry. bpr_height_bpcppc_source_choice_power_repeat_entry + S (S (bpr_prefix_index_bpcppc_source)) = S ((S (bpr_power_index_bpcppc_source_choice_power)) * bpr_power_scale_bpcppc_source_choice_power)) /\ exists bpr_quotient_bpcppc_source_choice_power_repeat_entry. bpr_power_code_bpcppc_source_choice_power = bpr_quotient_bpcppc_source_choice_power_repeat_entry * S ((S (bpr_power_index_bpcppc_source_choice_power)) * bpr_power_scale_bpcppc_source_choice_power) + (S (bpr_prefix_index_bpcppc_source))))) /\ (exists ff_u_bpcppc_source_choice_power_product ff_v_bpcppc_source_choice_power_product. ((((exists ff_h_bpcppc_source_choice_power_product_start. ff_h_bpcppc_source_choice_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_source_choice_power_product)) /\ exists ff_q_bpcppc_source_choice_power_product_start. ff_u_bpcppc_source_choice_power_product = ff_q_bpcppc_source_choice_power_product_start * S ((S (0)) * ff_v_bpcppc_source_choice_power_product) + (1))) /\ ((((exists ff_h_bpcppc_source_choice_power_product_terminal. ff_h_bpcppc_source_choice_power_product_terminal + S (bpr_prefix_value_bpcppc_source) = S ((S (bpr_choice_exponent_bpcppc_source_choice)) * ff_v_bpcppc_source_choice_power_product)) /\ exists ff_q_bpcppc_source_choice_power_product_terminal. ff_u_bpcppc_source_choice_power_product = ff_q_bpcppc_source_choice_power_product_terminal * S ((S (bpr_choice_exponent_bpcppc_source_choice)) * ff_v_bpcppc_source_choice_power_product) + (bpr_prefix_value_bpcppc_source))) /\ forall ff_i_bpcppc_source_choice_power_product. (exists ff_lt_bpcppc_source_choice_power_product_bound. ff_lt_bpcppc_source_choice_power_product_bound + S ff_i_bpcppc_source_choice_power_product = bpr_choice_exponent_bpcppc_source_choice) -> exists ff_p_bpcppc_source_choice_power_product ff_r_bpcppc_source_choice_power_product ff_s_bpcppc_source_choice_power_product. ((((exists ff_h_bpcppc_source_choice_power_product_factor. ff_h_bpcppc_source_choice_power_product_factor + S (ff_p_bpcppc_source_choice_power_product) = S ((S (ff_i_bpcppc_source_choice_power_product)) * bpr_power_scale_bpcppc_source_choice_power)) /\ exists ff_q_bpcppc_source_choice_power_product_factor. bpr_power_code_bpcppc_source_choice_power = ff_q_bpcppc_source_choice_power_product_factor * S ((S (ff_i_bpcppc_source_choice_power_product)) * bpr_power_scale_bpcppc_source_choice_power) + (ff_p_bpcppc_source_choice_power_product))) /\ ((((exists ff_h_bpcppc_source_choice_power_product_partial. ff_h_bpcppc_source_choice_power_product_partial + S (ff_r_bpcppc_source_choice_power_product) = S ((S (ff_i_bpcppc_source_choice_power_product)) * ff_v_bpcppc_source_choice_power_product)) /\ exists ff_q_bpcppc_source_choice_power_product_partial. ff_u_bpcppc_source_choice_power_product = ff_q_bpcppc_source_choice_power_product_partial * S ((S (ff_i_bpcppc_source_choice_power_product)) * ff_v_bpcppc_source_choice_power_product) + (ff_r_bpcppc_source_choice_power_product))) /\ ((((exists ff_h_bpcppc_source_choice_power_product_successor. ff_h_bpcppc_source_choice_power_product_successor + S (ff_s_bpcppc_source_choice_power_product) = S ((S (S ff_i_bpcppc_source_choice_power_product)) * ff_v_bpcppc_source_choice_power_product)) /\ exists ff_q_bpcppc_source_choice_power_product_successor. ff_u_bpcppc_source_choice_power_product = ff_q_bpcppc_source_choice_power_product_successor * S ((S (S ff_i_bpcppc_source_choice_power_product)) * ff_v_bpcppc_source_choice_power_product) + (ff_s_bpcppc_source_choice_power_product))) /\ ff_s_bpcppc_source_choice_power_product = ff_r_bpcppc_source_choice_power_product * ff_p_bpcppc_source_choice_power_product)))))))))) \/ (~((~(S (bpr_prefix_index_bpcppc_source) = 1) /\ forall bpr_left_bpcppc_source_choice_prime bpr_right_bpcppc_source_choice_prime. S (bpr_prefix_index_bpcppc_source) = bpr_left_bpcppc_source_choice_prime * bpr_right_bpcppc_source_choice_prime -> bpr_left_bpcppc_source_choice_prime = 1 \/ bpr_right_bpcppc_source_choice_prime = 1)) /\ bpr_prefix_value_bpcppc_source = 1))))) -> (forall bpr_pair_left_index_bpcppc_result bpr_pair_right_index_bpcppc_result bpr_pair_left_bpcppc_result bpr_pair_right_bpcppc_result. (exists bpr_gap_bpcppc_result_left_bound. bpr_gap_bpcppc_result_left_bound + S (bpr_pair_left_index_bpcppc_result) = m) -> (exists bpr_gap_bpcppc_result_right_bound. bpr_gap_bpcppc_result_right_bound + S (bpr_pair_right_index_bpcppc_result) = m) -> (((exists bpr_height_bpcppc_result_left_entry. bpr_height_bpcppc_result_left_entry + S (bpr_pair_left_bpcppc_result) = S ((S (bpr_pair_left_index_bpcppc_result)) * c)) /\ exists bpr_quotient_bpcppc_result_left_entry. b = bpr_quotient_bpcppc_result_left_entry * S ((S (bpr_pair_left_index_bpcppc_result)) * c) + (bpr_pair_left_bpcppc_result))) -> (((exists bpr_height_bpcppc_result_right_entry. bpr_height_bpcppc_result_right_entry + S (bpr_pair_right_bpcppc_result) = S ((S (bpr_pair_right_index_bpcppc_result)) * c)) /\ exists bpr_quotient_bpcppc_result_right_entry. b = bpr_quotient_bpcppc_result_right_entry * S ((S (bpr_pair_right_index_bpcppc_result)) * c) + (bpr_pair_right_bpcppc_result))) -> ~(bpr_pair_left_index_bpcppc_result = bpr_pair_right_index_bpcppc_result) -> (forall bpr_coprime_divisor_bpcppc_result_coprime. (exists bpr_coprime_left_bpcppc_result_coprime. bpr_pair_left_bpcppc_result = bpr_coprime_divisor_bpcppc_result_coprime * bpr_coprime_left_bpcppc_result_coprime) -> (exists bpr_coprime_right_bpcppc_result_coprime. bpr_pair_right_bpcppc_result = bpr_coprime_divisor_bpcppc_result_coprime * bpr_coprime_right_bpcppc_result_coprime) -> bpr_coprime_divisor_bpcppc_result_coprime = 1))

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

79 script commands · 24 reading checkpoints · 7 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 (5)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro n
  2. L2
    intro b
  3. L3
    intro c
  4. L4
    intro m
  5. L5
    intro hprefix
  6. L6
    intro i
  7. L7
    intro j
  8. L8
    intro a
  9. L9
    intro z
  10. L10
    intro hi
02Fix variables and assumptionsL11–14

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

  1. L11
    intro hj
  2. L12
    intro ha
  3. L13
    intro hz
  4. L14
    intro hij
03Establish hleftL15–17

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

  1. L15
    have hleft : ∃ x. BetaAt(b,c,i,x) ∧ (Prime(S i) ∧ (∃ y. PowerValuation(S i,n,y) ∧ Pow(S i,y,x)) ∨ ¬Prime(S i) ∧ x = 1)Definitions: BetaAt(b,c,i,x)Prime(S i)PowerValuation(S i,n,y)Pow(S i,y,x)Original native command in the exact edition
  2. L16
    apply hprefix
  3. L17
    exact hi
04Separate the logical casesL18–19

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

  1. L18
    cases hleft
  2. L19
    cases hleft_witness
05Establish hrightL20–22

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

  1. L20
    have hright : ∃ x1. BetaAt(b,c,j,x1) ∧ (Prime(S j) ∧ (∃ x. PowerValuation(S j,n,x) ∧ Pow(S j,x,x1)) ∨ ¬Prime(S j) ∧ x1 = 1)Definitions: BetaAt(b,c,j,x1)Prime(S j)PowerValuation(S j,n,x)Pow(S j,x,x1)Original native command in the exact edition
  2. L21
    apply hprefix
  3. L22
    exact hj
06Separate the logical casesL23–24

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

  1. L23
    cases hright
  2. L24
    cases hright_witness
07Establish haxL25–28

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

  1. L25
    have hax : x = a
  2. L26
    apply beta_at_unique
  3. L27
    exact hleft_witness_left
  4. L28
    exact ha
08Establish hxzL29–32

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

  1. L29
    have hxz : x1 = z
  2. L30
    apply beta_at_unique
  3. L31
    exact hright_witness_left
  4. L32
    exact hz
09Establish hcoprimeL33–33

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

  1. L33
    have hcoprime : Coprime(x,x1)Definitions: Coprime(x,x1)Original native command in the exact edition
10Separate the logical casesL34–41

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

  1. L34
    cases hleft_witness_right
  2. L35
    cases hleft_witness_right_left
  3. L36
    cases hleft_witness_right_left_right
  4. L37
    cases hleft_witness_right_left_right_witness
  5. L38
    cases hright_witness_right
  6. L39
    cases hright_witness_right_left
  7. L40
    cases hright_witness_right_left_right
  8. L41
    cases hright_witness_right_left_right_witness
11Establish hbase_neL42–46

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

  1. L42
    have hbase_ne : ~(S i = S j)
  2. L43
    intro hbase
  3. L44
    apply hij
  4. L45
    apply PA2
  5. L46
    exact hbase
12Establish hbase_coprimeL47–56

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

  1. L47
    have hbase_coprime : Coprime(S i,S j)Definitions: Coprime(S i,S j)Original native command in the exact edition
  2. L48
    specialize distinct_primes_coprime (S i)
  3. L49
    specialize distinct_primes_coprime (S j)
  4. L50
    apply distinct_primes_coprime
  5. L51
    exact hleft_witness_right_left_left
  6. L52
    exact hright_witness_right_left_left
  7. L53
    exact hbase_ne
  8. L54
    specialize coprime_powers (S i)
  9. L55
    specialize coprime_powers (S j)
  10. L56
    specialize coprime_powers x2
13Use earlier factsL57–63

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

  1. L57
    specialize coprime_powers x3
  2. L58
    specialize coprime_powers x
  3. L59
    specialize coprime_powers x1
  4. L60
    apply coprime_powers
  5. L61
    exact hbase_coprime
  6. L62
    exact hleft_witness_right_left_right_witness_right
  7. L63
    exact hright_witness_right_left_right_witness_right
14Separate the logical casesL64–64

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

  1. L64
    cases hright_witness_right_right
15Calculate and transport equalitiesL65–65

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

  1. L65
    rewrite hright_witness_right_right_right
16Use earlier factsL66–67

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

  1. L66
    specialize coprime_one_right x
  2. L67
    apply coprime_one_right
17Separate the logical casesL68–69

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

  1. L68
    cases hleft_witness_right_right
  2. L69
    cases hright_witness_right
18Calculate and transport equalitiesL70–70

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

  1. L70
    rewrite hleft_witness_right_right_right
19Use earlier factsL71–72

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

  1. L71
    specialize coprime_one_left x1
  2. L72
    apply coprime_one_left
20Separate the logical casesL73–73

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

  1. L73
    cases hright_witness_right_right
21Calculate and transport equalitiesL74–74

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

  1. L74
    rewrite hleft_witness_right_right_right
22Use earlier factsL75–76

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

  1. L75
    specialize coprime_one_left x1
  2. L76
    apply coprime_one_left
23Calculate and transport equalitiesL77–78

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

  1. L77
    rewrite <- hax
  2. L78
    rewrite <- hxz
24Use earlier factsL79–79

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

  1. L79
    exact hcoprime

Library-wide reading audit

Original defined command ledger · 79 lines
  1. 0001intro n
  2. 0002intro b
  3. 0003intro c
  4. 0004intro m
  5. 0005intro hprefix
  6. 0006intro i
  7. 0007intro j
  8. 0008intro a
  9. 0009intro z
  10. 0010intro hi
  11. 0011intro hj
  12. 0012intro ha
  13. 0013intro hz
  14. 0014intro hij
  15. 0015have hleft : ∃ x. BetaAt(b,c,i,x) ∧ (Prime(S i) ∧ (∃ y. PowerValuation(S i,n,y)Pow(S i,y,x)) ∨ ¬Prime(S i) ∧ x = 1)
    Exact native replay linehave hleft : exists x. (((exists bpr_height_bpcppc_left_entry. bpr_height_bpcppc_left_entry + S (x) = S ((S (i)) * c)) /\ exists bpr_quotient_bpcppc_left_entry. b = bpr_quotient_bpcppc_left_entry * S ((S (i)) * c) + (x))) /\ (((((~(S (i) = 1) /\ forall bpr_left_bpcppc_left_choice_prime bpr_right_bpcppc_left_choice_prime. S (i) = bpr_left_bpcppc_left_choice_prime * bpr_right_bpcppc_left_choice_prime -> bpr_left_bpcppc_left_choice_prime = 1 \/ bpr_right_bpcppc_left_choice_prime = 1)) /\ exists bpr_choice_exponent_bpcppc_left_choice. ((((exists bpr_le_gap_bpcppc_left_choice_valuation_selected_bound. bpr_le_gap_bpcppc_left_choice_valuation_selected_bound + (bpr_choice_exponent_bpcppc_left_choice) = (n)) /\ (exists bpr_power_value_bpcppc_left_choice_valuation_selected. ((exists bpr_power_code_bpcppc_left_choice_valuation_selected_power bpr_power_scale_bpcppc_left_choice_valuation_selected_power. ((forall bpr_power_index_bpcppc_left_choice_valuation_selected_power. (exists bpr_gap_bpcppc_left_choice_valuation_selected_power_repeat_bound. bpr_gap_bpcppc_left_choice_valuation_selected_power_repeat_bound + S (bpr_power_index_bpcppc_left_choice_valuation_selected_power) = bpr_choice_exponent_bpcppc_left_choice) -> (((exists bpr_height_bpcppc_left_choice_valuation_selected_power_repeat_entry. bpr_height_bpcppc_left_choice_valuation_selected_power_repeat_entry + S (S (i)) = S ((S (bpr_power_index_bpcppc_left_choice_valuation_selected_power)) * bpr_power_scale_bpcppc_left_choice_valuation_selected_power)) /\ exists bpr_quotient_bpcppc_left_choice_valuation_selected_power_repeat_entry. bpr_power_code_bpcppc_left_choice_valuation_selected_power = bpr_quotient_bpcppc_left_choice_valuation_selected_power_repeat_entry * S ((S (bpr_power_index_bpcppc_left_choice_valuation_selected_power)) * bpr_power_scale_bpcppc_left_choice_valuation_selected_power) + (S (i))))) /\ (exists ff_u_bpcppc_left_choice_valuation_selected_power_product ff_v_bpcppc_left_choice_valuation_selected_power_product. ((((exists ff_h_bpcppc_left_choice_valuation_selected_power_product_start. ff_h_bpcppc_left_choice_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_left_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_selected_power_product_start. ff_u_bpcppc_left_choice_valuation_selected_power_product = ff_q_bpcppc_left_choice_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpcppc_left_choice_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpcppc_left_choice_valuation_selected_power_product_terminal. ff_h_bpcppc_left_choice_valuation_selected_power_product_terminal + S (bpr_power_value_bpcppc_left_choice_valuation_selected) = S ((S (bpr_choice_exponent_bpcppc_left_choice)) * ff_v_bpcppc_left_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_selected_power_product_terminal. ff_u_bpcppc_left_choice_valuation_selected_power_product = ff_q_bpcppc_left_choice_valuation_selected_power_product_terminal * S ((S (bpr_choice_exponent_bpcppc_left_choice)) * ff_v_bpcppc_left_choice_valuation_selected_power_product) + (bpr_power_value_bpcppc_left_choice_valuation_selected))) /\ forall ff_i_bpcppc_left_choice_valuation_selected_power_product. (exists ff_lt_bpcppc_left_choice_valuation_selected_power_product_bound. ff_lt_bpcppc_left_choice_valuation_selected_power_product_bound + S ff_i_bpcppc_left_choice_valuation_selected_power_product = bpr_choice_exponent_bpcppc_left_choice) -> exists ff_p_bpcppc_left_choice_valuation_selected_power_product ff_r_bpcppc_left_choice_valuation_selected_power_product ff_s_bpcppc_left_choice_valuation_selected_power_product. ((((exists ff_h_bpcppc_left_choice_valuation_selected_power_product_factor. ff_h_bpcppc_left_choice_valuation_selected_power_product_factor + S (ff_p_bpcppc_left_choice_valuation_selected_power_product) = S ((S (ff_i_bpcppc_left_choice_valuation_selected_power_product)) * bpr_power_scale_bpcppc_left_choice_valuation_selected_power)) /\ exists ff_q_bpcppc_left_choice_valuation_selected_power_product_factor. bpr_power_code_bpcppc_left_choice_valuation_selected_power = ff_q_bpcppc_left_choice_valuation_selected_power_product_factor * S ((S (ff_i_bpcppc_left_choice_valuation_selected_power_product)) * bpr_power_scale_bpcppc_left_choice_valuation_selected_power) + (ff_p_bpcppc_left_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcppc_left_choice_valuation_selected_power_product_partial. ff_h_bpcppc_left_choice_valuation_selected_power_product_partial + S (ff_r_bpcppc_left_choice_valuation_selected_power_product) = S ((S (ff_i_bpcppc_left_choice_valuation_selected_power_product)) * ff_v_bpcppc_left_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_selected_power_product_partial. ff_u_bpcppc_left_choice_valuation_selected_power_product = ff_q_bpcppc_left_choice_valuation_selected_power_product_partial * S ((S (ff_i_bpcppc_left_choice_valuation_selected_power_product)) * ff_v_bpcppc_left_choice_valuation_selected_power_product) + (ff_r_bpcppc_left_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcppc_left_choice_valuation_selected_power_product_successor. ff_h_bpcppc_left_choice_valuation_selected_power_product_successor + S (ff_s_bpcppc_left_choice_valuation_selected_power_product) = S ((S (S ff_i_bpcppc_left_choice_valuation_selected_power_product)) * ff_v_bpcppc_left_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_selected_power_product_successor. ff_u_bpcppc_left_choice_valuation_selected_power_product = ff_q_bpcppc_left_choice_valuation_selected_power_product_successor * S ((S (S ff_i_bpcppc_left_choice_valuation_selected_power_product)) * ff_v_bpcppc_left_choice_valuation_selected_power_product) + (ff_s_bpcppc_left_choice_valuation_selected_power_product))) /\ ff_s_bpcppc_left_choice_valuation_selected_power_product = ff_r_bpcppc_left_choice_valuation_selected_power_product * ff_p_bpcppc_left_choice_valuation_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcppc_left_choice_valuation_selected_divides. n = (bpr_power_value_bpcppc_left_choice_valuation_selected) * bpr_divides_quotient_bpcppc_left_choice_valuation_selected_divides)))) /\ forall bpr_valuation_candidate_bpcppc_left_choice_valuation. (exists bpr_le_gap_bpcppc_left_choice_valuation_candidate_bound. bpr_le_gap_bpcppc_left_choice_valuation_candidate_bound + (bpr_valuation_candidate_bpcppc_left_choice_valuation) = (n)) -> (exists bpr_power_value_bpcppc_left_choice_valuation_candidate. ((exists bpr_power_code_bpcppc_left_choice_valuation_candidate_power bpr_power_scale_bpcppc_left_choice_valuation_candidate_power. ((forall bpr_power_index_bpcppc_left_choice_valuation_candidate_power. (exists bpr_gap_bpcppc_left_choice_valuation_candidate_power_repeat_bound. bpr_gap_bpcppc_left_choice_valuation_candidate_power_repeat_bound + S (bpr_power_index_bpcppc_left_choice_valuation_candidate_power) = bpr_valuation_candidate_bpcppc_left_choice_valuation) -> (((exists bpr_height_bpcppc_left_choice_valuation_candidate_power_repeat_entry. bpr_height_bpcppc_left_choice_valuation_candidate_power_repeat_entry + S (S (i)) = S ((S (bpr_power_index_bpcppc_left_choice_valuation_candidate_power)) * bpr_power_scale_bpcppc_left_choice_valuation_candidate_power)) /\ exists bpr_quotient_bpcppc_left_choice_valuation_candidate_power_repeat_entry. bpr_power_code_bpcppc_left_choice_valuation_candidate_power = bpr_quotient_bpcppc_left_choice_valuation_candidate_power_repeat_entry * S ((S (bpr_power_index_bpcppc_left_choice_valuation_candidate_power)) * bpr_power_scale_bpcppc_left_choice_valuation_candidate_power) + (S (i))))) /\ (exists ff_u_bpcppc_left_choice_valuation_candidate_power_product ff_v_bpcppc_left_choice_valuation_candidate_power_product. ((((exists ff_h_bpcppc_left_choice_valuation_candidate_power_product_start. ff_h_bpcppc_left_choice_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_candidate_power_product_start. ff_u_bpcppc_left_choice_valuation_candidate_power_product = ff_q_bpcppc_left_choice_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpcppc_left_choice_valuation_candidate_power_product_terminal. ff_h_bpcppc_left_choice_valuation_candidate_power_product_terminal + S (bpr_power_value_bpcppc_left_choice_valuation_candidate) = S ((S (bpr_valuation_candidate_bpcppc_left_choice_valuation)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_candidate_power_product_terminal. ff_u_bpcppc_left_choice_valuation_candidate_power_product = ff_q_bpcppc_left_choice_valuation_candidate_power_product_terminal * S ((S (bpr_valuation_candidate_bpcppc_left_choice_valuation)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product) + (bpr_power_value_bpcppc_left_choice_valuation_candidate))) /\ forall ff_i_bpcppc_left_choice_valuation_candidate_power_product. (exists ff_lt_bpcppc_left_choice_valuation_candidate_power_product_bound. ff_lt_bpcppc_left_choice_valuation_candidate_power_product_bound + S ff_i_bpcppc_left_choice_valuation_candidate_power_product = bpr_valuation_candidate_bpcppc_left_choice_valuation) -> exists ff_p_bpcppc_left_choice_valuation_candidate_power_product ff_r_bpcppc_left_choice_valuation_candidate_power_product ff_s_bpcppc_left_choice_valuation_candidate_power_product. ((((exists ff_h_bpcppc_left_choice_valuation_candidate_power_product_factor. ff_h_bpcppc_left_choice_valuation_candidate_power_product_factor + S (ff_p_bpcppc_left_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcppc_left_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcppc_left_choice_valuation_candidate_power)) /\ exists ff_q_bpcppc_left_choice_valuation_candidate_power_product_factor. bpr_power_code_bpcppc_left_choice_valuation_candidate_power = ff_q_bpcppc_left_choice_valuation_candidate_power_product_factor * S ((S (ff_i_bpcppc_left_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcppc_left_choice_valuation_candidate_power) + (ff_p_bpcppc_left_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcppc_left_choice_valuation_candidate_power_product_partial. ff_h_bpcppc_left_choice_valuation_candidate_power_product_partial + S (ff_r_bpcppc_left_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcppc_left_choice_valuation_candidate_power_product)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_candidate_power_product_partial. ff_u_bpcppc_left_choice_valuation_candidate_power_product = ff_q_bpcppc_left_choice_valuation_candidate_power_product_partial * S ((S (ff_i_bpcppc_left_choice_valuation_candidate_power_product)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product) + (ff_r_bpcppc_left_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcppc_left_choice_valuation_candidate_power_product_successor. ff_h_bpcppc_left_choice_valuation_candidate_power_product_successor + S (ff_s_bpcppc_left_choice_valuation_candidate_power_product) = S ((S (S ff_i_bpcppc_left_choice_valuation_candidate_power_product)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_left_choice_valuation_candidate_power_product_successor. ff_u_bpcppc_left_choice_valuation_candidate_power_product = ff_q_bpcppc_left_choice_valuation_candidate_power_product_successor * S ((S (S ff_i_bpcppc_left_choice_valuation_candidate_power_product)) * ff_v_bpcppc_left_choice_valuation_candidate_power_product) + (ff_s_bpcppc_left_choice_valuation_candidate_power_product))) /\ ff_s_bpcppc_left_choice_valuation_candidate_power_product = ff_r_bpcppc_left_choice_valuation_candidate_power_product * ff_p_bpcppc_left_choice_valuation_candidate_power_product)))))))) /\ (exists bpr_divides_quotient_bpcppc_left_choice_valuation_candidate_divides. n = (bpr_power_value_bpcppc_left_choice_valuation_candidate) * bpr_divides_quotient_bpcppc_left_choice_valuation_candidate_divides))) -> (exists bpr_le_gap_bpcppc_left_choice_valuation_candidate_below. bpr_le_gap_bpcppc_left_choice_valuation_candidate_below + (bpr_valuation_candidate_bpcppc_left_choice_valuation) = (bpr_choice_exponent_bpcppc_left_choice))) /\ (exists bpr_power_code_bpcppc_left_choice_power bpr_power_scale_bpcppc_left_choice_power. ((forall bpr_power_index_bpcppc_left_choice_power. (exists bpr_gap_bpcppc_left_choice_power_repeat_bound. bpr_gap_bpcppc_left_choice_power_repeat_bound + S (bpr_power_index_bpcppc_left_choice_power) = bpr_choice_exponent_bpcppc_left_choice) -> (((exists bpr_height_bpcppc_left_choice_power_repeat_entry. bpr_height_bpcppc_left_choice_power_repeat_entry + S (S (i)) = S ((S (bpr_power_index_bpcppc_left_choice_power)) * bpr_power_scale_bpcppc_left_choice_power)) /\ exists bpr_quotient_bpcppc_left_choice_power_repeat_entry. bpr_power_code_bpcppc_left_choice_power = bpr_quotient_bpcppc_left_choice_power_repeat_entry * S ((S (bpr_power_index_bpcppc_left_choice_power)) * bpr_power_scale_bpcppc_left_choice_power) + (S (i))))) /\ (exists ff_u_bpcppc_left_choice_power_product ff_v_bpcppc_left_choice_power_product. ((((exists ff_h_bpcppc_left_choice_power_product_start. ff_h_bpcppc_left_choice_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_left_choice_power_product)) /\ exists ff_q_bpcppc_left_choice_power_product_start. ff_u_bpcppc_left_choice_power_product = ff_q_bpcppc_left_choice_power_product_start * S ((S (0)) * ff_v_bpcppc_left_choice_power_product) + (1))) /\ ((((exists ff_h_bpcppc_left_choice_power_product_terminal. ff_h_bpcppc_left_choice_power_product_terminal + S (x) = S ((S (bpr_choice_exponent_bpcppc_left_choice)) * ff_v_bpcppc_left_choice_power_product)) /\ exists ff_q_bpcppc_left_choice_power_product_terminal. ff_u_bpcppc_left_choice_power_product = ff_q_bpcppc_left_choice_power_product_terminal * S ((S (bpr_choice_exponent_bpcppc_left_choice)) * ff_v_bpcppc_left_choice_power_product) + (x))) /\ forall ff_i_bpcppc_left_choice_power_product. (exists ff_lt_bpcppc_left_choice_power_product_bound. ff_lt_bpcppc_left_choice_power_product_bound + S ff_i_bpcppc_left_choice_power_product = bpr_choice_exponent_bpcppc_left_choice) -> exists ff_p_bpcppc_left_choice_power_product ff_r_bpcppc_left_choice_power_product ff_s_bpcppc_left_choice_power_product. ((((exists ff_h_bpcppc_left_choice_power_product_factor. ff_h_bpcppc_left_choice_power_product_factor + S (ff_p_bpcppc_left_choice_power_product) = S ((S (ff_i_bpcppc_left_choice_power_product)) * bpr_power_scale_bpcppc_left_choice_power)) /\ exists ff_q_bpcppc_left_choice_power_product_factor. bpr_power_code_bpcppc_left_choice_power = ff_q_bpcppc_left_choice_power_product_factor * S ((S (ff_i_bpcppc_left_choice_power_product)) * bpr_power_scale_bpcppc_left_choice_power) + (ff_p_bpcppc_left_choice_power_product))) /\ ((((exists ff_h_bpcppc_left_choice_power_product_partial. ff_h_bpcppc_left_choice_power_product_partial + S (ff_r_bpcppc_left_choice_power_product) = S ((S (ff_i_bpcppc_left_choice_power_product)) * ff_v_bpcppc_left_choice_power_product)) /\ exists ff_q_bpcppc_left_choice_power_product_partial. ff_u_bpcppc_left_choice_power_product = ff_q_bpcppc_left_choice_power_product_partial * S ((S (ff_i_bpcppc_left_choice_power_product)) * ff_v_bpcppc_left_choice_power_product) + (ff_r_bpcppc_left_choice_power_product))) /\ ((((exists ff_h_bpcppc_left_choice_power_product_successor. ff_h_bpcppc_left_choice_power_product_successor + S (ff_s_bpcppc_left_choice_power_product) = S ((S (S ff_i_bpcppc_left_choice_power_product)) * ff_v_bpcppc_left_choice_power_product)) /\ exists ff_q_bpcppc_left_choice_power_product_successor. ff_u_bpcppc_left_choice_power_product = ff_q_bpcppc_left_choice_power_product_successor * S ((S (S ff_i_bpcppc_left_choice_power_product)) * ff_v_bpcppc_left_choice_power_product) + (ff_s_bpcppc_left_choice_power_product))) /\ ff_s_bpcppc_left_choice_power_product = ff_r_bpcppc_left_choice_power_product * ff_p_bpcppc_left_choice_power_product)))))))))) \/ (~((~(S (i) = 1) /\ forall bpr_left_bpcppc_left_choice_prime bpr_right_bpcppc_left_choice_prime. S (i) = bpr_left_bpcppc_left_choice_prime * bpr_right_bpcppc_left_choice_prime -> bpr_left_bpcppc_left_choice_prime = 1 \/ bpr_right_bpcppc_left_choice_prime = 1)) /\ x = 1)))
  16. 0016apply hprefix
  17. 0017exact hi
  18. 0018cases hleft
  19. 0019cases hleft_witness
  20. 0020have hright : ∃ x1. BetaAt(b,c,j,x1) ∧ (Prime(S j) ∧ (∃ x. PowerValuation(S j,n,x)Pow(S j,x,x1)) ∨ ¬Prime(S j) ∧ x1 = 1)
    Exact native replay linehave hright : exists x1. (((exists bpr_height_bpcppc_right_entry. bpr_height_bpcppc_right_entry + S (x1) = S ((S (j)) * c)) /\ exists bpr_quotient_bpcppc_right_entry. b = bpr_quotient_bpcppc_right_entry * S ((S (j)) * c) + (x1))) /\ (((((~(S (j) = 1) /\ forall bpr_left_bpcppc_right_choice_prime bpr_right_bpcppc_right_choice_prime. S (j) = bpr_left_bpcppc_right_choice_prime * bpr_right_bpcppc_right_choice_prime -> bpr_left_bpcppc_right_choice_prime = 1 \/ bpr_right_bpcppc_right_choice_prime = 1)) /\ exists bpr_choice_exponent_bpcppc_right_choice. ((((exists bpr_le_gap_bpcppc_right_choice_valuation_selected_bound. bpr_le_gap_bpcppc_right_choice_valuation_selected_bound + (bpr_choice_exponent_bpcppc_right_choice) = (n)) /\ (exists bpr_power_value_bpcppc_right_choice_valuation_selected. ((exists bpr_power_code_bpcppc_right_choice_valuation_selected_power bpr_power_scale_bpcppc_right_choice_valuation_selected_power. ((forall bpr_power_index_bpcppc_right_choice_valuation_selected_power. (exists bpr_gap_bpcppc_right_choice_valuation_selected_power_repeat_bound. bpr_gap_bpcppc_right_choice_valuation_selected_power_repeat_bound + S (bpr_power_index_bpcppc_right_choice_valuation_selected_power) = bpr_choice_exponent_bpcppc_right_choice) -> (((exists bpr_height_bpcppc_right_choice_valuation_selected_power_repeat_entry. bpr_height_bpcppc_right_choice_valuation_selected_power_repeat_entry + S (S (j)) = S ((S (bpr_power_index_bpcppc_right_choice_valuation_selected_power)) * bpr_power_scale_bpcppc_right_choice_valuation_selected_power)) /\ exists bpr_quotient_bpcppc_right_choice_valuation_selected_power_repeat_entry. bpr_power_code_bpcppc_right_choice_valuation_selected_power = bpr_quotient_bpcppc_right_choice_valuation_selected_power_repeat_entry * S ((S (bpr_power_index_bpcppc_right_choice_valuation_selected_power)) * bpr_power_scale_bpcppc_right_choice_valuation_selected_power) + (S (j))))) /\ (exists ff_u_bpcppc_right_choice_valuation_selected_power_product ff_v_bpcppc_right_choice_valuation_selected_power_product. ((((exists ff_h_bpcppc_right_choice_valuation_selected_power_product_start. ff_h_bpcppc_right_choice_valuation_selected_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_right_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_selected_power_product_start. ff_u_bpcppc_right_choice_valuation_selected_power_product = ff_q_bpcppc_right_choice_valuation_selected_power_product_start * S ((S (0)) * ff_v_bpcppc_right_choice_valuation_selected_power_product) + (1))) /\ ((((exists ff_h_bpcppc_right_choice_valuation_selected_power_product_terminal. ff_h_bpcppc_right_choice_valuation_selected_power_product_terminal + S (bpr_power_value_bpcppc_right_choice_valuation_selected) = S ((S (bpr_choice_exponent_bpcppc_right_choice)) * ff_v_bpcppc_right_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_selected_power_product_terminal. ff_u_bpcppc_right_choice_valuation_selected_power_product = ff_q_bpcppc_right_choice_valuation_selected_power_product_terminal * S ((S (bpr_choice_exponent_bpcppc_right_choice)) * ff_v_bpcppc_right_choice_valuation_selected_power_product) + (bpr_power_value_bpcppc_right_choice_valuation_selected))) /\ forall ff_i_bpcppc_right_choice_valuation_selected_power_product. (exists ff_lt_bpcppc_right_choice_valuation_selected_power_product_bound. ff_lt_bpcppc_right_choice_valuation_selected_power_product_bound + S ff_i_bpcppc_right_choice_valuation_selected_power_product = bpr_choice_exponent_bpcppc_right_choice) -> exists ff_p_bpcppc_right_choice_valuation_selected_power_product ff_r_bpcppc_right_choice_valuation_selected_power_product ff_s_bpcppc_right_choice_valuation_selected_power_product. ((((exists ff_h_bpcppc_right_choice_valuation_selected_power_product_factor. ff_h_bpcppc_right_choice_valuation_selected_power_product_factor + S (ff_p_bpcppc_right_choice_valuation_selected_power_product) = S ((S (ff_i_bpcppc_right_choice_valuation_selected_power_product)) * bpr_power_scale_bpcppc_right_choice_valuation_selected_power)) /\ exists ff_q_bpcppc_right_choice_valuation_selected_power_product_factor. bpr_power_code_bpcppc_right_choice_valuation_selected_power = ff_q_bpcppc_right_choice_valuation_selected_power_product_factor * S ((S (ff_i_bpcppc_right_choice_valuation_selected_power_product)) * bpr_power_scale_bpcppc_right_choice_valuation_selected_power) + (ff_p_bpcppc_right_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcppc_right_choice_valuation_selected_power_product_partial. ff_h_bpcppc_right_choice_valuation_selected_power_product_partial + S (ff_r_bpcppc_right_choice_valuation_selected_power_product) = S ((S (ff_i_bpcppc_right_choice_valuation_selected_power_product)) * ff_v_bpcppc_right_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_selected_power_product_partial. ff_u_bpcppc_right_choice_valuation_selected_power_product = ff_q_bpcppc_right_choice_valuation_selected_power_product_partial * S ((S (ff_i_bpcppc_right_choice_valuation_selected_power_product)) * ff_v_bpcppc_right_choice_valuation_selected_power_product) + (ff_r_bpcppc_right_choice_valuation_selected_power_product))) /\ ((((exists ff_h_bpcppc_right_choice_valuation_selected_power_product_successor. ff_h_bpcppc_right_choice_valuation_selected_power_product_successor + S (ff_s_bpcppc_right_choice_valuation_selected_power_product) = S ((S (S ff_i_bpcppc_right_choice_valuation_selected_power_product)) * ff_v_bpcppc_right_choice_valuation_selected_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_selected_power_product_successor. ff_u_bpcppc_right_choice_valuation_selected_power_product = ff_q_bpcppc_right_choice_valuation_selected_power_product_successor * S ((S (S ff_i_bpcppc_right_choice_valuation_selected_power_product)) * ff_v_bpcppc_right_choice_valuation_selected_power_product) + (ff_s_bpcppc_right_choice_valuation_selected_power_product))) /\ ff_s_bpcppc_right_choice_valuation_selected_power_product = ff_r_bpcppc_right_choice_valuation_selected_power_product * ff_p_bpcppc_right_choice_valuation_selected_power_product)))))))) /\ (exists bpr_divides_quotient_bpcppc_right_choice_valuation_selected_divides. n = (bpr_power_value_bpcppc_right_choice_valuation_selected) * bpr_divides_quotient_bpcppc_right_choice_valuation_selected_divides)))) /\ forall bpr_valuation_candidate_bpcppc_right_choice_valuation. (exists bpr_le_gap_bpcppc_right_choice_valuation_candidate_bound. bpr_le_gap_bpcppc_right_choice_valuation_candidate_bound + (bpr_valuation_candidate_bpcppc_right_choice_valuation) = (n)) -> (exists bpr_power_value_bpcppc_right_choice_valuation_candidate. ((exists bpr_power_code_bpcppc_right_choice_valuation_candidate_power bpr_power_scale_bpcppc_right_choice_valuation_candidate_power. ((forall bpr_power_index_bpcppc_right_choice_valuation_candidate_power. (exists bpr_gap_bpcppc_right_choice_valuation_candidate_power_repeat_bound. bpr_gap_bpcppc_right_choice_valuation_candidate_power_repeat_bound + S (bpr_power_index_bpcppc_right_choice_valuation_candidate_power) = bpr_valuation_candidate_bpcppc_right_choice_valuation) -> (((exists bpr_height_bpcppc_right_choice_valuation_candidate_power_repeat_entry. bpr_height_bpcppc_right_choice_valuation_candidate_power_repeat_entry + S (S (j)) = S ((S (bpr_power_index_bpcppc_right_choice_valuation_candidate_power)) * bpr_power_scale_bpcppc_right_choice_valuation_candidate_power)) /\ exists bpr_quotient_bpcppc_right_choice_valuation_candidate_power_repeat_entry. bpr_power_code_bpcppc_right_choice_valuation_candidate_power = bpr_quotient_bpcppc_right_choice_valuation_candidate_power_repeat_entry * S ((S (bpr_power_index_bpcppc_right_choice_valuation_candidate_power)) * bpr_power_scale_bpcppc_right_choice_valuation_candidate_power) + (S (j))))) /\ (exists ff_u_bpcppc_right_choice_valuation_candidate_power_product ff_v_bpcppc_right_choice_valuation_candidate_power_product. ((((exists ff_h_bpcppc_right_choice_valuation_candidate_power_product_start. ff_h_bpcppc_right_choice_valuation_candidate_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_candidate_power_product_start. ff_u_bpcppc_right_choice_valuation_candidate_power_product = ff_q_bpcppc_right_choice_valuation_candidate_power_product_start * S ((S (0)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product) + (1))) /\ ((((exists ff_h_bpcppc_right_choice_valuation_candidate_power_product_terminal. ff_h_bpcppc_right_choice_valuation_candidate_power_product_terminal + S (bpr_power_value_bpcppc_right_choice_valuation_candidate) = S ((S (bpr_valuation_candidate_bpcppc_right_choice_valuation)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_candidate_power_product_terminal. ff_u_bpcppc_right_choice_valuation_candidate_power_product = ff_q_bpcppc_right_choice_valuation_candidate_power_product_terminal * S ((S (bpr_valuation_candidate_bpcppc_right_choice_valuation)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product) + (bpr_power_value_bpcppc_right_choice_valuation_candidate))) /\ forall ff_i_bpcppc_right_choice_valuation_candidate_power_product. (exists ff_lt_bpcppc_right_choice_valuation_candidate_power_product_bound. ff_lt_bpcppc_right_choice_valuation_candidate_power_product_bound + S ff_i_bpcppc_right_choice_valuation_candidate_power_product = bpr_valuation_candidate_bpcppc_right_choice_valuation) -> exists ff_p_bpcppc_right_choice_valuation_candidate_power_product ff_r_bpcppc_right_choice_valuation_candidate_power_product ff_s_bpcppc_right_choice_valuation_candidate_power_product. ((((exists ff_h_bpcppc_right_choice_valuation_candidate_power_product_factor. ff_h_bpcppc_right_choice_valuation_candidate_power_product_factor + S (ff_p_bpcppc_right_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcppc_right_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcppc_right_choice_valuation_candidate_power)) /\ exists ff_q_bpcppc_right_choice_valuation_candidate_power_product_factor. bpr_power_code_bpcppc_right_choice_valuation_candidate_power = ff_q_bpcppc_right_choice_valuation_candidate_power_product_factor * S ((S (ff_i_bpcppc_right_choice_valuation_candidate_power_product)) * bpr_power_scale_bpcppc_right_choice_valuation_candidate_power) + (ff_p_bpcppc_right_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcppc_right_choice_valuation_candidate_power_product_partial. ff_h_bpcppc_right_choice_valuation_candidate_power_product_partial + S (ff_r_bpcppc_right_choice_valuation_candidate_power_product) = S ((S (ff_i_bpcppc_right_choice_valuation_candidate_power_product)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_candidate_power_product_partial. ff_u_bpcppc_right_choice_valuation_candidate_power_product = ff_q_bpcppc_right_choice_valuation_candidate_power_product_partial * S ((S (ff_i_bpcppc_right_choice_valuation_candidate_power_product)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product) + (ff_r_bpcppc_right_choice_valuation_candidate_power_product))) /\ ((((exists ff_h_bpcppc_right_choice_valuation_candidate_power_product_successor. ff_h_bpcppc_right_choice_valuation_candidate_power_product_successor + S (ff_s_bpcppc_right_choice_valuation_candidate_power_product) = S ((S (S ff_i_bpcppc_right_choice_valuation_candidate_power_product)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product)) /\ exists ff_q_bpcppc_right_choice_valuation_candidate_power_product_successor. ff_u_bpcppc_right_choice_valuation_candidate_power_product = ff_q_bpcppc_right_choice_valuation_candidate_power_product_successor * S ((S (S ff_i_bpcppc_right_choice_valuation_candidate_power_product)) * ff_v_bpcppc_right_choice_valuation_candidate_power_product) + (ff_s_bpcppc_right_choice_valuation_candidate_power_product))) /\ ff_s_bpcppc_right_choice_valuation_candidate_power_product = ff_r_bpcppc_right_choice_valuation_candidate_power_product * ff_p_bpcppc_right_choice_valuation_candidate_power_product)))))))) /\ (exists bpr_divides_quotient_bpcppc_right_choice_valuation_candidate_divides. n = (bpr_power_value_bpcppc_right_choice_valuation_candidate) * bpr_divides_quotient_bpcppc_right_choice_valuation_candidate_divides))) -> (exists bpr_le_gap_bpcppc_right_choice_valuation_candidate_below. bpr_le_gap_bpcppc_right_choice_valuation_candidate_below + (bpr_valuation_candidate_bpcppc_right_choice_valuation) = (bpr_choice_exponent_bpcppc_right_choice))) /\ (exists bpr_power_code_bpcppc_right_choice_power bpr_power_scale_bpcppc_right_choice_power. ((forall bpr_power_index_bpcppc_right_choice_power. (exists bpr_gap_bpcppc_right_choice_power_repeat_bound. bpr_gap_bpcppc_right_choice_power_repeat_bound + S (bpr_power_index_bpcppc_right_choice_power) = bpr_choice_exponent_bpcppc_right_choice) -> (((exists bpr_height_bpcppc_right_choice_power_repeat_entry. bpr_height_bpcppc_right_choice_power_repeat_entry + S (S (j)) = S ((S (bpr_power_index_bpcppc_right_choice_power)) * bpr_power_scale_bpcppc_right_choice_power)) /\ exists bpr_quotient_bpcppc_right_choice_power_repeat_entry. bpr_power_code_bpcppc_right_choice_power = bpr_quotient_bpcppc_right_choice_power_repeat_entry * S ((S (bpr_power_index_bpcppc_right_choice_power)) * bpr_power_scale_bpcppc_right_choice_power) + (S (j))))) /\ (exists ff_u_bpcppc_right_choice_power_product ff_v_bpcppc_right_choice_power_product. ((((exists ff_h_bpcppc_right_choice_power_product_start. ff_h_bpcppc_right_choice_power_product_start + S (1) = S ((S (0)) * ff_v_bpcppc_right_choice_power_product)) /\ exists ff_q_bpcppc_right_choice_power_product_start. ff_u_bpcppc_right_choice_power_product = ff_q_bpcppc_right_choice_power_product_start * S ((S (0)) * ff_v_bpcppc_right_choice_power_product) + (1))) /\ ((((exists ff_h_bpcppc_right_choice_power_product_terminal. ff_h_bpcppc_right_choice_power_product_terminal + S (x1) = S ((S (bpr_choice_exponent_bpcppc_right_choice)) * ff_v_bpcppc_right_choice_power_product)) /\ exists ff_q_bpcppc_right_choice_power_product_terminal. ff_u_bpcppc_right_choice_power_product = ff_q_bpcppc_right_choice_power_product_terminal * S ((S (bpr_choice_exponent_bpcppc_right_choice)) * ff_v_bpcppc_right_choice_power_product) + (x1))) /\ forall ff_i_bpcppc_right_choice_power_product. (exists ff_lt_bpcppc_right_choice_power_product_bound. ff_lt_bpcppc_right_choice_power_product_bound + S ff_i_bpcppc_right_choice_power_product = bpr_choice_exponent_bpcppc_right_choice) -> exists ff_p_bpcppc_right_choice_power_product ff_r_bpcppc_right_choice_power_product ff_s_bpcppc_right_choice_power_product. ((((exists ff_h_bpcppc_right_choice_power_product_factor. ff_h_bpcppc_right_choice_power_product_factor + S (ff_p_bpcppc_right_choice_power_product) = S ((S (ff_i_bpcppc_right_choice_power_product)) * bpr_power_scale_bpcppc_right_choice_power)) /\ exists ff_q_bpcppc_right_choice_power_product_factor. bpr_power_code_bpcppc_right_choice_power = ff_q_bpcppc_right_choice_power_product_factor * S ((S (ff_i_bpcppc_right_choice_power_product)) * bpr_power_scale_bpcppc_right_choice_power) + (ff_p_bpcppc_right_choice_power_product))) /\ ((((exists ff_h_bpcppc_right_choice_power_product_partial. ff_h_bpcppc_right_choice_power_product_partial + S (ff_r_bpcppc_right_choice_power_product) = S ((S (ff_i_bpcppc_right_choice_power_product)) * ff_v_bpcppc_right_choice_power_product)) /\ exists ff_q_bpcppc_right_choice_power_product_partial. ff_u_bpcppc_right_choice_power_product = ff_q_bpcppc_right_choice_power_product_partial * S ((S (ff_i_bpcppc_right_choice_power_product)) * ff_v_bpcppc_right_choice_power_product) + (ff_r_bpcppc_right_choice_power_product))) /\ ((((exists ff_h_bpcppc_right_choice_power_product_successor. ff_h_bpcppc_right_choice_power_product_successor + S (ff_s_bpcppc_right_choice_power_product) = S ((S (S ff_i_bpcppc_right_choice_power_product)) * ff_v_bpcppc_right_choice_power_product)) /\ exists ff_q_bpcppc_right_choice_power_product_successor. ff_u_bpcppc_right_choice_power_product = ff_q_bpcppc_right_choice_power_product_successor * S ((S (S ff_i_bpcppc_right_choice_power_product)) * ff_v_bpcppc_right_choice_power_product) + (ff_s_bpcppc_right_choice_power_product))) /\ ff_s_bpcppc_right_choice_power_product = ff_r_bpcppc_right_choice_power_product * ff_p_bpcppc_right_choice_power_product)))))))))) \/ (~((~(S (j) = 1) /\ forall bpr_left_bpcppc_right_choice_prime bpr_right_bpcppc_right_choice_prime. S (j) = bpr_left_bpcppc_right_choice_prime * bpr_right_bpcppc_right_choice_prime -> bpr_left_bpcppc_right_choice_prime = 1 \/ bpr_right_bpcppc_right_choice_prime = 1)) /\ x1 = 1)))
  21. 0021apply hprefix
  22. 0022exact hj
  23. 0023cases hright
  24. 0024cases hright_witness
  25. 0025have hax : x = a
  26. 0026apply beta_at_unique
  27. 0027exact hleft_witness_left
  28. 0028exact ha
  29. 0029have hxz : x1 = z
  30. 0030apply beta_at_unique
  31. 0031exact hright_witness_left
  32. 0032exact hz
  33. 0033have hcoprime : Coprime(x,x1)
    Exact native replay linehave hcoprime : forall d. (exists u. x = d * u) -> (exists v. x1 = d * v) -> d = 1
  34. 0034cases hleft_witness_right
  35. 0035cases hleft_witness_right_left
  36. 0036cases hleft_witness_right_left_right
  37. 0037cases hleft_witness_right_left_right_witness
  38. 0038cases hright_witness_right
  39. 0039cases hright_witness_right_left
  40. 0040cases hright_witness_right_left_right
  41. 0041cases hright_witness_right_left_right_witness
  42. 0042have hbase_ne : ~(S i = S j)
  43. 0043intro hbase
  44. 0044apply hij
  45. 0045apply PA2
  46. 0046exact hbase
  47. 0047have hbase_coprime : Coprime(S i,S j)
    Exact native replay linehave hbase_coprime : forall d. (exists u. S i = d * u) -> (exists v. S j = d * v) -> d = 1
  48. 0048specialize distinct_primes_coprime (S i)
  49. 0049specialize distinct_primes_coprime (S j)
  50. 0050apply distinct_primes_coprime
  51. 0051exact hleft_witness_right_left_left
  52. 0052exact hright_witness_right_left_left
  53. 0053exact hbase_ne
  54. 0054specialize coprime_powers (S i)
  55. 0055specialize coprime_powers (S j)
  56. 0056specialize coprime_powers x2
  57. 0057specialize coprime_powers x3
  58. 0058specialize coprime_powers x
  59. 0059specialize coprime_powers x1
  60. 0060apply coprime_powers
  61. 0061exact hbase_coprime
  62. 0062exact hleft_witness_right_left_right_witness_right
  63. 0063exact hright_witness_right_left_right_witness_right
  64. 0064cases hright_witness_right_right
  65. 0065rewrite hright_witness_right_right_right
  66. 0066specialize coprime_one_right x
  67. 0067apply coprime_one_right
  68. 0068cases hleft_witness_right_right
  69. 0069cases hright_witness_right
  70. 0070rewrite hleft_witness_right_right_right
  71. 0071specialize coprime_one_left x1
  72. 0072apply coprime_one_left
  73. 0073cases hright_witness_right_right
  74. 0074rewrite hleft_witness_right_right_right
  75. 0075specialize coprime_one_left x1
  76. 0076apply coprime_one_left
  77. 0077rewrite <- hax
  78. 0078rewrite <- hxz
  79. 0079exact hcoprime