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.
Exact expanded first-order arithmetic statement
forall p e. (~((p) = 1) /\ forall pvs_left_self_prime pvs_right_self_prime. (p) = pvs_left_self_prime * pvs_right_self_prime -> pvs_left_self_prime = 1 \/ pvs_right_self_prime = 1) -> (((exists bpd_gap_pvs_self_source_selected_bound. bpd_gap_pvs_self_source_selected_bound + (e) = (p)) /\ (exists bpvi_result_pvs_self_source_selected. ((exists bpvi_b_pvs_self_source_selected_power bpvi_c_pvs_self_source_selected_power. ((forall bpvi_i_pvs_self_source_selected_power. (exists bpvi_repeat_gap_pvs_self_source_selected_power. bpvi_repeat_gap_pvs_self_source_selected_power + S bpvi_i_pvs_self_source_selected_power = e) -> (((exists bpvi_h_pvs_self_source_selected_power_repeat. bpvi_h_pvs_self_source_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_self_source_selected_power)) * bpvi_c_pvs_self_source_selected_power)) /\ exists bpvi_q_pvs_self_source_selected_power_repeat. bpvi_b_pvs_self_source_selected_power = bpvi_q_pvs_self_source_selected_power_repeat * S ((S (bpvi_i_pvs_self_source_selected_power)) * bpvi_c_pvs_self_source_selected_power) + (p)))) /\ (exists bpvi_u_pvs_self_source_selected_power bpvi_v_pvs_self_source_selected_power. ((((exists bpvi_h_pvs_self_source_selected_power_start. bpvi_h_pvs_self_source_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_self_source_selected_power)) /\ exists bpvi_q_pvs_self_source_selected_power_start. bpvi_u_pvs_self_source_selected_power = bpvi_q_pvs_self_source_selected_power_start * S ((S (0)) * bpvi_v_pvs_self_source_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_self_source_selected_power_terminal. bpvi_h_pvs_self_source_selected_power_terminal + S (bpvi_result_pvs_self_source_selected) = S ((S (e)) * bpvi_v_pvs_self_source_selected_power)) /\ exists bpvi_q_pvs_self_source_selected_power_terminal. bpvi_u_pvs_self_source_selected_power = bpvi_q_pvs_self_source_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_self_source_selected_power) + (bpvi_result_pvs_self_source_selected))) /\ forall bpvi_j_pvs_self_source_selected_power. (exists bpvi_product_gap_pvs_self_source_selected_power. bpvi_product_gap_pvs_self_source_selected_power + S bpvi_j_pvs_self_source_selected_power = e) -> exists bpvi_factor_pvs_self_source_selected_power bpvi_partial_pvs_self_source_selected_power bpvi_successor_pvs_self_source_selected_power. ((((exists bpvi_h_pvs_self_source_selected_power_factor. bpvi_h_pvs_self_source_selected_power_factor + S (bpvi_factor_pvs_self_source_selected_power) = S ((S (bpvi_j_pvs_self_source_selected_power)) * bpvi_c_pvs_self_source_selected_power)) /\ exists bpvi_q_pvs_self_source_selected_power_factor. bpvi_b_pvs_self_source_selected_power = bpvi_q_pvs_self_source_selected_power_factor * S ((S (bpvi_j_pvs_self_source_selected_power)) * bpvi_c_pvs_self_source_selected_power) + (bpvi_factor_pvs_self_source_selected_power))) /\ ((((exists bpvi_h_pvs_self_source_selected_power_partial. bpvi_h_pvs_self_source_selected_power_partial + S (bpvi_partial_pvs_self_source_selected_power) = S ((S (bpvi_j_pvs_self_source_selected_power)) * bpvi_v_pvs_self_source_selected_power)) /\ exists bpvi_q_pvs_self_source_selected_power_partial. bpvi_u_pvs_self_source_selected_power = bpvi_q_pvs_self_source_selected_power_partial * S ((S (bpvi_j_pvs_self_source_selected_power)) * bpvi_v_pvs_self_source_selected_power) + (bpvi_partial_pvs_self_source_selected_power))) /\ ((((exists bpvi_h_pvs_self_source_selected_power_successor. bpvi_h_pvs_self_source_selected_power_successor + S (bpvi_successor_pvs_self_source_selected_power) = S ((S (S bpvi_j_pvs_self_source_selected_power)) * bpvi_v_pvs_self_source_selected_power)) /\ exists bpvi_q_pvs_self_source_selected_power_successor. bpvi_u_pvs_self_source_selected_power = bpvi_q_pvs_self_source_selected_power_successor * S ((S (S bpvi_j_pvs_self_source_selected_power)) * bpvi_v_pvs_self_source_selected_power) + (bpvi_successor_pvs_self_source_selected_power))) /\ bpvi_successor_pvs_self_source_selected_power = bpvi_partial_pvs_self_source_selected_power * bpvi_factor_pvs_self_source_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_self_source_selected. p = bpvi_result_pvs_self_source_selected * bpvi_divisor_factor_pvs_self_source_selected))) /\ forall bpd_candidate_pvs_self_source. (exists bpd_gap_pvs_self_source_candidate_bound. bpd_gap_pvs_self_source_candidate_bound + (bpd_candidate_pvs_self_source) = (p)) -> (exists bpvi_result_pvs_self_source_candidate. ((exists bpvi_b_pvs_self_source_candidate_power bpvi_c_pvs_self_source_candidate_power. ((forall bpvi_i_pvs_self_source_candidate_power. (exists bpvi_repeat_gap_pvs_self_source_candidate_power. bpvi_repeat_gap_pvs_self_source_candidate_power + S bpvi_i_pvs_self_source_candidate_power = bpd_candidate_pvs_self_source) -> (((exists bpvi_h_pvs_self_source_candidate_power_repeat. bpvi_h_pvs_self_source_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_self_source_candidate_power)) * bpvi_c_pvs_self_source_candidate_power)) /\ exists bpvi_q_pvs_self_source_candidate_power_repeat. bpvi_b_pvs_self_source_candidate_power = bpvi_q_pvs_self_source_candidate_power_repeat * S ((S (bpvi_i_pvs_self_source_candidate_power)) * bpvi_c_pvs_self_source_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_self_source_candidate_power bpvi_v_pvs_self_source_candidate_power. ((((exists bpvi_h_pvs_self_source_candidate_power_start. bpvi_h_pvs_self_source_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_self_source_candidate_power)) /\ exists bpvi_q_pvs_self_source_candidate_power_start. bpvi_u_pvs_self_source_candidate_power = bpvi_q_pvs_self_source_candidate_power_start * S ((S (0)) * bpvi_v_pvs_self_source_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_self_source_candidate_power_terminal. bpvi_h_pvs_self_source_candidate_power_terminal + S (bpvi_result_pvs_self_source_candidate) = S ((S (bpd_candidate_pvs_self_source)) * bpvi_v_pvs_self_source_candidate_power)) /\ exists bpvi_q_pvs_self_source_candidate_power_terminal. bpvi_u_pvs_self_source_candidate_power = bpvi_q_pvs_self_source_candidate_power_terminal * S ((S (bpd_candidate_pvs_self_source)) * bpvi_v_pvs_self_source_candidate_power) + (bpvi_result_pvs_self_source_candidate))) /\ forall bpvi_j_pvs_self_source_candidate_power. (exists bpvi_product_gap_pvs_self_source_candidate_power. bpvi_product_gap_pvs_self_source_candidate_power + S bpvi_j_pvs_self_source_candidate_power = bpd_candidate_pvs_self_source) -> exists bpvi_factor_pvs_self_source_candidate_power bpvi_partial_pvs_self_source_candidate_power bpvi_successor_pvs_self_source_candidate_power. ((((exists bpvi_h_pvs_self_source_candidate_power_factor. bpvi_h_pvs_self_source_candidate_power_factor + S (bpvi_factor_pvs_self_source_candidate_power) = S ((S (bpvi_j_pvs_self_source_candidate_power)) * bpvi_c_pvs_self_source_candidate_power)) /\ exists bpvi_q_pvs_self_source_candidate_power_factor. bpvi_b_pvs_self_source_candidate_power = bpvi_q_pvs_self_source_candidate_power_factor * S ((S (bpvi_j_pvs_self_source_candidate_power)) * bpvi_c_pvs_self_source_candidate_power) + (bpvi_factor_pvs_self_source_candidate_power))) /\ ((((exists bpvi_h_pvs_self_source_candidate_power_partial. bpvi_h_pvs_self_source_candidate_power_partial + S (bpvi_partial_pvs_self_source_candidate_power) = S ((S (bpvi_j_pvs_self_source_candidate_power)) * bpvi_v_pvs_self_source_candidate_power)) /\ exists bpvi_q_pvs_self_source_candidate_power_partial. bpvi_u_pvs_self_source_candidate_power = bpvi_q_pvs_self_source_candidate_power_partial * S ((S (bpvi_j_pvs_self_source_candidate_power)) * bpvi_v_pvs_self_source_candidate_power) + (bpvi_partial_pvs_self_source_candidate_power))) /\ ((((exists bpvi_h_pvs_self_source_candidate_power_successor. bpvi_h_pvs_self_source_candidate_power_successor + S (bpvi_successor_pvs_self_source_candidate_power) = S ((S (S bpvi_j_pvs_self_source_candidate_power)) * bpvi_v_pvs_self_source_candidate_power)) /\ exists bpvi_q_pvs_self_source_candidate_power_successor. bpvi_u_pvs_self_source_candidate_power = bpvi_q_pvs_self_source_candidate_power_successor * S ((S (S bpvi_j_pvs_self_source_candidate_power)) * bpvi_v_pvs_self_source_candidate_power) + (bpvi_successor_pvs_self_source_candidate_power))) /\ bpvi_successor_pvs_self_source_candidate_power = bpvi_partial_pvs_self_source_candidate_power * bpvi_factor_pvs_self_source_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_self_source_candidate. p = bpvi_result_pvs_self_source_candidate * bpvi_divisor_factor_pvs_self_source_candidate)) -> (exists bpd_gap_pvs_self_source_maximal. bpd_gap_pvs_self_source_maximal + (bpd_candidate_pvs_self_source) = (e))) -> e = 1Constructive proof overview
Generated structural guide
Every maximal valuation of a prime at itself is exactly one, derived by actual cofactor cancellation.
The unchanged tactic script uses 18 declared prerequisites and contains 113 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_nonzero Stable theorem; checked-use authorized prime_divisor_power_valuation_nonzero Alpha theorem; checked-use authorized multiple_refl Stable theorem; checked-use authorized nonzero_is_succ Stable theorem; checked-use authorized power_valuation_exact_cofactor Alpha theorem; checked-use authorized pow_successor_decompose Stable theorem; checked-use authorized mul_left_cancel_nonzero Stable theorem; checked-use authorized mul_one Stable theorem; checked-use authorized mul_eq_one_components Stable theorem; checked-use authorized eq_decidable Stable theorem; checked-use authorized EL000C lte_prime_nondivisor_one pow_positive_exponent_base_divides Alpha theorem; checked-use authorized add_mul Stable theorem; checked-use authorized mul_add Stable theorem; checked-use authorized mul_assoc Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized natural_mul_swap_right_tail Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
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.
Named ingredients (1)
01Fix variables and assumptionsL1–4
02Establish hpzeroL5–10
03Establish heneL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor power valuation nonzero.
- L11
have hene : ~(e = 0) - L12
intro hezero - L13
specialize prime_divisor_power_valuation_nonzero (p) - L14
specialize prime_divisor_power_valuation_nonzero (p) - L15
specialize prime_divisor_power_valuation_nonzero (e) - L16
apply prime_divisor_power_valuation_nonzero - L17
exact hp - L18
exact hpzero - L19
exact hval - L20
specialize multiple_refl (p)
04Use earlier factsL21–22
05Establish hsuccL23–26
06Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hsucc
07Establish hcofactorL28–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exact cofactor.
08Separate the logical casesL36–40
09Establish hprevL41–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L41
have hprev : ∃ r. Pow(p,x,r) ∧ x1 = r · pDefinitions: Pow - L42
specialize pow_successor_decompose (p) - L43
specialize pow_successor_decompose (x) - L44
specialize pow_successor_decompose (e) - L45
specialize pow_successor_decompose (x1) - L46
apply pow_successor_decompose - L47
exact hsucc_witness - L48
exact hcofactor_witness_witness_left
10Separate the logical casesL49–50
11Establish hproductL51–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul left cancel nonzero.
12Calculate and transport equalitiesL61–65
13Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
apply natural_mul_swap_right_tail
14Calculate and transport equalitiesL67–69
15Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
apply mul_comm
16Calculate and transport equalitiesL71–80
17Use earlier factsL81–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
apply mul_comm
18Calculate and transport equalitiesL82–86
19Establish hcomponentsL87–92
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul eq one components.
20Separate the logical casesL93–93
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L93
cases hcomponents
21Use earlier factsL94–95
22Separate the logical casesL96–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L96
cases eq_decidable
23Calculate and transport equalitiesL97–97
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L97
trans S x
24Use earlier factsL98–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L98
exact hsucc_witness
25Calculate and transport equalitiesL99–100
26Separate the logical casesL101–101
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L101
exfalso
27Use earlier factsL102–104
28Establish hdivL105–113
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow positive exponent base divides.
- L105
have hdiv : exists olte_factor_self_previous_divisor. (x3) = (p) * olte_factor_self_previous_divisor - L106
specialize pow_positive_exponent_base_divides (p) - L107
specialize pow_positive_exponent_base_divides (x) - L108
specialize pow_positive_exponent_base_divides (x3) - L109
apply pow_positive_exponent_base_divides - L110
exact eq_decidable_right - L111
exact hprev_witness_left - L112
rewrite hcomponents_left at hdiv - L113
exact hdiv
Original exact command ledger · 113 lines
- 0001
intro p - 0002
intro e - 0003
intro hp - 0004
intro hval - 0005
have hpzero : ~(p = 0) - 0006
intro hz - 0007
specialize prime_nonzero (p) - 0008
apply prime_nonzero - 0009
exact hp - 0010
exact hz - 0011
have hene : ~(e = 0) - 0012
intro hezero - 0013
specialize prime_divisor_power_valuation_nonzero (p) - 0014
specialize prime_divisor_power_valuation_nonzero (p) - 0015
specialize prime_divisor_power_valuation_nonzero (e) - 0016
apply prime_divisor_power_valuation_nonzero - 0017
exact hp - 0018
exact hpzero - 0019
exact hval - 0020
specialize multiple_refl (p) - 0021
apply multiple_refl - 0022
exact hezero - 0023
have hsucc : exists k. e = S k - 0024
specialize nonzero_is_succ (e) - 0025
apply nonzero_is_succ - 0026
exact hene - 0027
cases hsucc - 0028
have hcofactor : exists P u. (((exists pa_b_olte_self_cofactor pa_c_olte_self_cofactor. ((forall pa_i_olte_self_cofactor_repeat. (exists pa_lt_olte_self_cofactor_repeat_bound. pa_lt_olte_self_cofactor_repeat_bound + S pa_i_olte_self_cofactor_repeat = e) -> (((exists pa_h_olte_self_cofactor_repeat_decoded. pa_h_olte_self_cofactor_repeat_decoded + S (p) = S ((S (pa_i_olte_self_cofactor_repeat)) * pa_c_olte_self_cofactor)) /\ exists pa_q_olte_self_cofactor_repeat_decoded. pa_b_olte_self_cofactor = pa_q_olte_self_cofactor_repeat_decoded * S ((S (pa_i_olte_self_cofactor_repeat)) * pa_c_olte_self_cofactor) + (p)))) /\ (exists pa_u_olte_self_cofactor_product pa_v_olte_self_cofactor_product. ((((exists pa_h_olte_self_cofactor_product_start. pa_h_olte_self_cofactor_product_start + S (1) = S ((S (0)) * pa_v_olte_self_cofactor_product)) /\ exists pa_q_olte_self_cofactor_product_start. pa_u_olte_self_cofactor_product = pa_q_olte_self_cofactor_product_start * S ((S (0)) * pa_v_olte_self_cofactor_product) + (1))) /\ ((((exists pa_h_olte_self_cofactor_product_terminal. pa_h_olte_self_cofactor_product_terminal + S (P) = S ((S (e)) * pa_v_olte_self_cofactor_product)) /\ exists pa_q_olte_self_cofactor_product_terminal. pa_u_olte_self_cofactor_product = pa_q_olte_self_cofactor_product_terminal * S ((S (e)) * pa_v_olte_self_cofactor_product) + (P))) /\ forall pa_i_olte_self_cofactor_product. (exists pa_lt_olte_self_cofactor_product_bound. pa_lt_olte_self_cofactor_product_bound + S pa_i_olte_self_cofactor_product = e) -> exists pa_p_olte_self_cofactor_product pa_r_olte_self_cofactor_product pa_s_olte_self_cofactor_product. ((((exists pa_h_olte_self_cofactor_product_factor. pa_h_olte_self_cofactor_product_factor + S (pa_p_olte_self_cofactor_product) = S ((S (pa_i_olte_self_cofactor_product)) * pa_c_olte_self_cofactor)) /\ exists pa_q_olte_self_cofactor_product_factor. pa_b_olte_self_cofactor = pa_q_olte_self_cofactor_product_factor * S ((S (pa_i_olte_self_cofactor_product)) * pa_c_olte_self_cofactor) + (pa_p_olte_self_cofactor_product))) /\ ((((exists pa_h_olte_self_cofactor_product_partial. pa_h_olte_self_cofactor_product_partial + S (pa_r_olte_self_cofactor_product) = S ((S (pa_i_olte_self_cofactor_product)) * pa_v_olte_self_cofactor_product)) /\ exists pa_q_olte_self_cofactor_product_partial. pa_u_olte_self_cofactor_product = pa_q_olte_self_cofactor_product_partial * S ((S (pa_i_olte_self_cofactor_product)) * pa_v_olte_self_cofactor_product) + (pa_r_olte_self_cofactor_product))) /\ ((((exists pa_h_olte_self_cofactor_product_successor. pa_h_olte_self_cofactor_product_successor + S (pa_s_olte_self_cofactor_product) = S ((S (S pa_i_olte_self_cofactor_product)) * pa_v_olte_self_cofactor_product)) /\ exists pa_q_olte_self_cofactor_product_successor. pa_u_olte_self_cofactor_product = pa_q_olte_self_cofactor_product_successor * S ((S (S pa_i_olte_self_cofactor_product)) * pa_v_olte_self_cofactor_product) + (pa_s_olte_self_cofactor_product))) /\ pa_s_olte_self_cofactor_product = pa_r_olte_self_cofactor_product * pa_p_olte_self_cofactor_product)))))))) /\ (((p = P * u) /\ (((~(u = 0)) /\ (~(exists olte_factor_self_unit. (u) = (p) * olte_factor_self_unit)))))))) - 0029
specialize power_valuation_exact_cofactor (p) - 0030
specialize power_valuation_exact_cofactor (p) - 0031
specialize power_valuation_exact_cofactor (e) - 0032
apply power_valuation_exact_cofactor - 0033
exact hp - 0034
exact hpzero - 0035
exact hval - 0036
cases hcofactor - 0037
cases hcofactor_witness - 0038
cases hcofactor_witness_witness - 0039
cases hcofactor_witness_witness_right - 0040
cases hcofactor_witness_witness_right_right - 0041
have hprev : exists r. (exists pa_b_olte_self_previous pa_c_olte_self_previous. ((forall pa_i_olte_self_previous_repeat. (exists pa_lt_olte_self_previous_repeat_bound. pa_lt_olte_self_previous_repeat_bound + S pa_i_olte_self_previous_repeat = x) -> (((exists pa_h_olte_self_previous_repeat_decoded. pa_h_olte_self_previous_repeat_decoded + S (p) = S ((S (pa_i_olte_self_previous_repeat)) * pa_c_olte_self_previous)) /\ exists pa_q_olte_self_previous_repeat_decoded. pa_b_olte_self_previous = pa_q_olte_self_previous_repeat_decoded * S ((S (pa_i_olte_self_previous_repeat)) * pa_c_olte_self_previous) + (p)))) /\ (exists pa_u_olte_self_previous_product pa_v_olte_self_previous_product. ((((exists pa_h_olte_self_previous_product_start. pa_h_olte_self_previous_product_start + S (1) = S ((S (0)) * pa_v_olte_self_previous_product)) /\ exists pa_q_olte_self_previous_product_start. pa_u_olte_self_previous_product = pa_q_olte_self_previous_product_start * S ((S (0)) * pa_v_olte_self_previous_product) + (1))) /\ ((((exists pa_h_olte_self_previous_product_terminal. pa_h_olte_self_previous_product_terminal + S (r) = S ((S (x)) * pa_v_olte_self_previous_product)) /\ exists pa_q_olte_self_previous_product_terminal. pa_u_olte_self_previous_product = pa_q_olte_self_previous_product_terminal * S ((S (x)) * pa_v_olte_self_previous_product) + (r))) /\ forall pa_i_olte_self_previous_product. (exists pa_lt_olte_self_previous_product_bound. pa_lt_olte_self_previous_product_bound + S pa_i_olte_self_previous_product = x) -> exists pa_p_olte_self_previous_product pa_r_olte_self_previous_product pa_s_olte_self_previous_product. ((((exists pa_h_olte_self_previous_product_factor. pa_h_olte_self_previous_product_factor + S (pa_p_olte_self_previous_product) = S ((S (pa_i_olte_self_previous_product)) * pa_c_olte_self_previous)) /\ exists pa_q_olte_self_previous_product_factor. pa_b_olte_self_previous = pa_q_olte_self_previous_product_factor * S ((S (pa_i_olte_self_previous_product)) * pa_c_olte_self_previous) + (pa_p_olte_self_previous_product))) /\ ((((exists pa_h_olte_self_previous_product_partial. pa_h_olte_self_previous_product_partial + S (pa_r_olte_self_previous_product) = S ((S (pa_i_olte_self_previous_product)) * pa_v_olte_self_previous_product)) /\ exists pa_q_olte_self_previous_product_partial. pa_u_olte_self_previous_product = pa_q_olte_self_previous_product_partial * S ((S (pa_i_olte_self_previous_product)) * pa_v_olte_self_previous_product) + (pa_r_olte_self_previous_product))) /\ ((((exists pa_h_olte_self_previous_product_successor. pa_h_olte_self_previous_product_successor + S (pa_s_olte_self_previous_product) = S ((S (S pa_i_olte_self_previous_product)) * pa_v_olte_self_previous_product)) /\ exists pa_q_olte_self_previous_product_successor. pa_u_olte_self_previous_product = pa_q_olte_self_previous_product_successor * S ((S (S pa_i_olte_self_previous_product)) * pa_v_olte_self_previous_product) + (pa_s_olte_self_previous_product))) /\ pa_s_olte_self_previous_product = pa_r_olte_self_previous_product * pa_p_olte_self_previous_product)))))))) /\ x1 = r * p - 0042
specialize pow_successor_decompose (p) - 0043
specialize pow_successor_decompose (x) - 0044
specialize pow_successor_decompose (e) - 0045
specialize pow_successor_decompose (x1) - 0046
apply pow_successor_decompose - 0047
exact hsucc_witness - 0048
exact hcofactor_witness_witness_left - 0049
cases hprev - 0050
cases hprev_witness - 0051
have hproduct : 1 = x3 * x2 - 0052
specialize mul_left_cancel_nonzero (p) - 0053
specialize mul_left_cancel_nonzero (1) - 0054
specialize mul_left_cancel_nonzero (x3 * x2) - 0055
apply mul_left_cancel_nonzero - 0056
exact hpzero - 0057
trans p - 0058
apply mul_one - 0059
trans x1 * x2 - 0060
exact hcofactor_witness_witness_right_left - 0061
rewrite hprev_witness_right - 0062
trans (((x3) * (((p) * (x2))))) - 0063
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0064
trans (((p) * (((x2) * (x3))))) - 0065
trans ((p) * (((x3) * (x2)))) - 0066
apply natural_mul_swap_right_tail - 0067
congr - 0068
refl - 0069
trans ((x2) * (x3)) - 0070
apply mul_comm - 0071
congr - 0072
refl - 0073
refl - 0074
trans (((p) * (((x2) * (x3))))) - 0075
refl - 0076
trans (((p) * (((x3) * (x2))))) - 0077
symm - 0078
congr - 0079
refl - 0080
trans ((x2) * (x3)) - 0081
apply mul_comm - 0082
congr - 0083
refl - 0084
refl - 0085
symm - 0086
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0087
have hcomponents : x3 = 1 /\ x2 = 1 - 0088
specialize mul_eq_one_components (x3) - 0089
specialize mul_eq_one_components (x2) - 0090
apply mul_eq_one_components - 0091
symm - 0092
exact hproduct - 0093
cases hcomponents - 0094
specialize eq_decidable x - 0095
specialize eq_decidable 0 - 0096
cases eq_decidable - 0097
trans S x - 0098
exact hsucc_witness - 0099
rewrite eq_decidable_left - 0100
refl - 0101
exfalso - 0102
specialize lte_prime_nondivisor_one (p) - 0103
apply lte_prime_nondivisor_one - 0104
exact hp - 0105
have hdiv : exists olte_factor_self_previous_divisor. (x3) = (p) * olte_factor_self_previous_divisor - 0106
specialize pow_positive_exponent_base_divides (p) - 0107
specialize pow_positive_exponent_base_divides (x) - 0108
specialize pow_positive_exponent_base_divides (x3) - 0109
apply pow_positive_exponent_base_divides - 0110
exact eq_decidable_right - 0111
exact hprev_witness_left - 0112
rewrite hcomponents_left at hdiv - 0113
exact hdiv