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 n. ~(n = 0) -> ~(n = 1) -> exists p e P u. (((~((p) = 1) /\ forall pvs_left_strict_cofactorprime pvs_right_strict_cofactorprime. (p) = pvs_left_strict_cofactorprime * pvs_right_strict_cofactorprime -> pvs_left_strict_cofactorprime = 1 \/ pvs_right_strict_cofactorprime = 1) /\ (((~(e = 0)) /\ (((((exists bpd_gap_pvs_strict_cofactorvaluation_selected_bound. bpd_gap_pvs_strict_cofactorvaluation_selected_bound + (e) = (n)) /\ (exists bpvi_result_pvs_strict_cofactorvaluation_selected. ((exists bpvi_b_pvs_strict_cofactorvaluation_selected_power bpvi_c_pvs_strict_cofactorvaluation_selected_power. ((forall bpvi_i_pvs_strict_cofactorvaluation_selected_power. (exists bpvi_repeat_gap_pvs_strict_cofactorvaluation_selected_power. bpvi_repeat_gap_pvs_strict_cofactorvaluation_selected_power + S bpvi_i_pvs_strict_cofactorvaluation_selected_power = e) -> (((exists bpvi_h_pvs_strict_cofactorvaluation_selected_power_repeat. bpvi_h_pvs_strict_cofactorvaluation_selected_power_repeat + S (p) = S ((S (bpvi_i_pvs_strict_cofactorvaluation_selected_power)) * bpvi_c_pvs_strict_cofactorvaluation_selected_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_selected_power_repeat. bpvi_b_pvs_strict_cofactorvaluation_selected_power = bpvi_q_pvs_strict_cofactorvaluation_selected_power_repeat * S ((S (bpvi_i_pvs_strict_cofactorvaluation_selected_power)) * bpvi_c_pvs_strict_cofactorvaluation_selected_power) + (p)))) /\ (exists bpvi_u_pvs_strict_cofactorvaluation_selected_power bpvi_v_pvs_strict_cofactorvaluation_selected_power. ((((exists bpvi_h_pvs_strict_cofactorvaluation_selected_power_start. bpvi_h_pvs_strict_cofactorvaluation_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_selected_power_start. bpvi_u_pvs_strict_cofactorvaluation_selected_power = bpvi_q_pvs_strict_cofactorvaluation_selected_power_start * S ((S (0)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_strict_cofactorvaluation_selected_power_terminal. bpvi_h_pvs_strict_cofactorvaluation_selected_power_terminal + S (bpvi_result_pvs_strict_cofactorvaluation_selected) = S ((S (e)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_selected_power_terminal. bpvi_u_pvs_strict_cofactorvaluation_selected_power = bpvi_q_pvs_strict_cofactorvaluation_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power) + (bpvi_result_pvs_strict_cofactorvaluation_selected))) /\ forall bpvi_j_pvs_strict_cofactorvaluation_selected_power. (exists bpvi_product_gap_pvs_strict_cofactorvaluation_selected_power. bpvi_product_gap_pvs_strict_cofactorvaluation_selected_power + S bpvi_j_pvs_strict_cofactorvaluation_selected_power = e) -> exists bpvi_factor_pvs_strict_cofactorvaluation_selected_power bpvi_partial_pvs_strict_cofactorvaluation_selected_power bpvi_successor_pvs_strict_cofactorvaluation_selected_power. ((((exists bpvi_h_pvs_strict_cofactorvaluation_selected_power_factor. bpvi_h_pvs_strict_cofactorvaluation_selected_power_factor + S (bpvi_factor_pvs_strict_cofactorvaluation_selected_power) = S ((S (bpvi_j_pvs_strict_cofactorvaluation_selected_power)) * bpvi_c_pvs_strict_cofactorvaluation_selected_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_selected_power_factor. bpvi_b_pvs_strict_cofactorvaluation_selected_power = bpvi_q_pvs_strict_cofactorvaluation_selected_power_factor * S ((S (bpvi_j_pvs_strict_cofactorvaluation_selected_power)) * bpvi_c_pvs_strict_cofactorvaluation_selected_power) + (bpvi_factor_pvs_strict_cofactorvaluation_selected_power))) /\ ((((exists bpvi_h_pvs_strict_cofactorvaluation_selected_power_partial. bpvi_h_pvs_strict_cofactorvaluation_selected_power_partial + S (bpvi_partial_pvs_strict_cofactorvaluation_selected_power) = S ((S (bpvi_j_pvs_strict_cofactorvaluation_selected_power)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_selected_power_partial. bpvi_u_pvs_strict_cofactorvaluation_selected_power = bpvi_q_pvs_strict_cofactorvaluation_selected_power_partial * S ((S (bpvi_j_pvs_strict_cofactorvaluation_selected_power)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power) + (bpvi_partial_pvs_strict_cofactorvaluation_selected_power))) /\ ((((exists bpvi_h_pvs_strict_cofactorvaluation_selected_power_successor. bpvi_h_pvs_strict_cofactorvaluation_selected_power_successor + S (bpvi_successor_pvs_strict_cofactorvaluation_selected_power) = S ((S (S bpvi_j_pvs_strict_cofactorvaluation_selected_power)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_selected_power_successor. bpvi_u_pvs_strict_cofactorvaluation_selected_power = bpvi_q_pvs_strict_cofactorvaluation_selected_power_successor * S ((S (S bpvi_j_pvs_strict_cofactorvaluation_selected_power)) * bpvi_v_pvs_strict_cofactorvaluation_selected_power) + (bpvi_successor_pvs_strict_cofactorvaluation_selected_power))) /\ bpvi_successor_pvs_strict_cofactorvaluation_selected_power = bpvi_partial_pvs_strict_cofactorvaluation_selected_power * bpvi_factor_pvs_strict_cofactorvaluation_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_strict_cofactorvaluation_selected. n = bpvi_result_pvs_strict_cofactorvaluation_selected * bpvi_divisor_factor_pvs_strict_cofactorvaluation_selected))) /\ forall bpd_candidate_pvs_strict_cofactorvaluation. (exists bpd_gap_pvs_strict_cofactorvaluation_candidate_bound. bpd_gap_pvs_strict_cofactorvaluation_candidate_bound + (bpd_candidate_pvs_strict_cofactorvaluation) = (n)) -> (exists bpvi_result_pvs_strict_cofactorvaluation_candidate. ((exists bpvi_b_pvs_strict_cofactorvaluation_candidate_power bpvi_c_pvs_strict_cofactorvaluation_candidate_power. ((forall bpvi_i_pvs_strict_cofactorvaluation_candidate_power. (exists bpvi_repeat_gap_pvs_strict_cofactorvaluation_candidate_power. bpvi_repeat_gap_pvs_strict_cofactorvaluation_candidate_power + S bpvi_i_pvs_strict_cofactorvaluation_candidate_power = bpd_candidate_pvs_strict_cofactorvaluation) -> (((exists bpvi_h_pvs_strict_cofactorvaluation_candidate_power_repeat. bpvi_h_pvs_strict_cofactorvaluation_candidate_power_repeat + S (p) = S ((S (bpvi_i_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_c_pvs_strict_cofactorvaluation_candidate_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_candidate_power_repeat. bpvi_b_pvs_strict_cofactorvaluation_candidate_power = bpvi_q_pvs_strict_cofactorvaluation_candidate_power_repeat * S ((S (bpvi_i_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_c_pvs_strict_cofactorvaluation_candidate_power) + (p)))) /\ (exists bpvi_u_pvs_strict_cofactorvaluation_candidate_power bpvi_v_pvs_strict_cofactorvaluation_candidate_power. ((((exists bpvi_h_pvs_strict_cofactorvaluation_candidate_power_start. bpvi_h_pvs_strict_cofactorvaluation_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_candidate_power_start. bpvi_u_pvs_strict_cofactorvaluation_candidate_power = bpvi_q_pvs_strict_cofactorvaluation_candidate_power_start * S ((S (0)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_strict_cofactorvaluation_candidate_power_terminal. bpvi_h_pvs_strict_cofactorvaluation_candidate_power_terminal + S (bpvi_result_pvs_strict_cofactorvaluation_candidate) = S ((S (bpd_candidate_pvs_strict_cofactorvaluation)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_candidate_power_terminal. bpvi_u_pvs_strict_cofactorvaluation_candidate_power = bpvi_q_pvs_strict_cofactorvaluation_candidate_power_terminal * S ((S (bpd_candidate_pvs_strict_cofactorvaluation)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power) + (bpvi_result_pvs_strict_cofactorvaluation_candidate))) /\ forall bpvi_j_pvs_strict_cofactorvaluation_candidate_power. (exists bpvi_product_gap_pvs_strict_cofactorvaluation_candidate_power. bpvi_product_gap_pvs_strict_cofactorvaluation_candidate_power + S bpvi_j_pvs_strict_cofactorvaluation_candidate_power = bpd_candidate_pvs_strict_cofactorvaluation) -> exists bpvi_factor_pvs_strict_cofactorvaluation_candidate_power bpvi_partial_pvs_strict_cofactorvaluation_candidate_power bpvi_successor_pvs_strict_cofactorvaluation_candidate_power. ((((exists bpvi_h_pvs_strict_cofactorvaluation_candidate_power_factor. bpvi_h_pvs_strict_cofactorvaluation_candidate_power_factor + S (bpvi_factor_pvs_strict_cofactorvaluation_candidate_power) = S ((S (bpvi_j_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_c_pvs_strict_cofactorvaluation_candidate_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_candidate_power_factor. bpvi_b_pvs_strict_cofactorvaluation_candidate_power = bpvi_q_pvs_strict_cofactorvaluation_candidate_power_factor * S ((S (bpvi_j_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_c_pvs_strict_cofactorvaluation_candidate_power) + (bpvi_factor_pvs_strict_cofactorvaluation_candidate_power))) /\ ((((exists bpvi_h_pvs_strict_cofactorvaluation_candidate_power_partial. bpvi_h_pvs_strict_cofactorvaluation_candidate_power_partial + S (bpvi_partial_pvs_strict_cofactorvaluation_candidate_power) = S ((S (bpvi_j_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_candidate_power_partial. bpvi_u_pvs_strict_cofactorvaluation_candidate_power = bpvi_q_pvs_strict_cofactorvaluation_candidate_power_partial * S ((S (bpvi_j_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power) + (bpvi_partial_pvs_strict_cofactorvaluation_candidate_power))) /\ ((((exists bpvi_h_pvs_strict_cofactorvaluation_candidate_power_successor. bpvi_h_pvs_strict_cofactorvaluation_candidate_power_successor + S (bpvi_successor_pvs_strict_cofactorvaluation_candidate_power) = S ((S (S bpvi_j_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power)) /\ exists bpvi_q_pvs_strict_cofactorvaluation_candidate_power_successor. bpvi_u_pvs_strict_cofactorvaluation_candidate_power = bpvi_q_pvs_strict_cofactorvaluation_candidate_power_successor * S ((S (S bpvi_j_pvs_strict_cofactorvaluation_candidate_power)) * bpvi_v_pvs_strict_cofactorvaluation_candidate_power) + (bpvi_successor_pvs_strict_cofactorvaluation_candidate_power))) /\ bpvi_successor_pvs_strict_cofactorvaluation_candidate_power = bpvi_partial_pvs_strict_cofactorvaluation_candidate_power * bpvi_factor_pvs_strict_cofactorvaluation_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_strict_cofactorvaluation_candidate. n = bpvi_result_pvs_strict_cofactorvaluation_candidate * bpvi_divisor_factor_pvs_strict_cofactorvaluation_candidate)) -> (exists bpd_gap_pvs_strict_cofactorvaluation_maximal. bpd_gap_pvs_strict_cofactorvaluation_maximal + (bpd_candidate_pvs_strict_cofactorvaluation) = (e))) /\ (((exists pa_b_pvs_strict_cofactorpower pa_c_pvs_strict_cofactorpower. ((forall pa_i_pvs_strict_cofactorpower_repeat. (exists pa_lt_pvs_strict_cofactorpower_repeat_bound. pa_lt_pvs_strict_cofactorpower_repeat_bound + S pa_i_pvs_strict_cofactorpower_repeat = e) -> (((exists pa_h_pvs_strict_cofactorpower_repeat_decoded. pa_h_pvs_strict_cofactorpower_repeat_decoded + S (p) = S ((S (pa_i_pvs_strict_cofactorpower_repeat)) * pa_c_pvs_strict_cofactorpower)) /\ exists pa_q_pvs_strict_cofactorpower_repeat_decoded. pa_b_pvs_strict_cofactorpower = pa_q_pvs_strict_cofactorpower_repeat_decoded * S ((S (pa_i_pvs_strict_cofactorpower_repeat)) * pa_c_pvs_strict_cofactorpower) + (p)))) /\ (exists pa_u_pvs_strict_cofactorpower_product pa_v_pvs_strict_cofactorpower_product. ((((exists pa_h_pvs_strict_cofactorpower_product_start. pa_h_pvs_strict_cofactorpower_product_start + S (1) = S ((S (0)) * pa_v_pvs_strict_cofactorpower_product)) /\ exists pa_q_pvs_strict_cofactorpower_product_start. pa_u_pvs_strict_cofactorpower_product = pa_q_pvs_strict_cofactorpower_product_start * S ((S (0)) * pa_v_pvs_strict_cofactorpower_product) + (1))) /\ ((((exists pa_h_pvs_strict_cofactorpower_product_terminal. pa_h_pvs_strict_cofactorpower_product_terminal + S (P) = S ((S (e)) * pa_v_pvs_strict_cofactorpower_product)) /\ exists pa_q_pvs_strict_cofactorpower_product_terminal. pa_u_pvs_strict_cofactorpower_product = pa_q_pvs_strict_cofactorpower_product_terminal * S ((S (e)) * pa_v_pvs_strict_cofactorpower_product) + (P))) /\ forall pa_i_pvs_strict_cofactorpower_product. (exists pa_lt_pvs_strict_cofactorpower_product_bound. pa_lt_pvs_strict_cofactorpower_product_bound + S pa_i_pvs_strict_cofactorpower_product = e) -> exists pa_p_pvs_strict_cofactorpower_product pa_r_pvs_strict_cofactorpower_product pa_s_pvs_strict_cofactorpower_product. ((((exists pa_h_pvs_strict_cofactorpower_product_factor. pa_h_pvs_strict_cofactorpower_product_factor + S (pa_p_pvs_strict_cofactorpower_product) = S ((S (pa_i_pvs_strict_cofactorpower_product)) * pa_c_pvs_strict_cofactorpower)) /\ exists pa_q_pvs_strict_cofactorpower_product_factor. pa_b_pvs_strict_cofactorpower = pa_q_pvs_strict_cofactorpower_product_factor * S ((S (pa_i_pvs_strict_cofactorpower_product)) * pa_c_pvs_strict_cofactorpower) + (pa_p_pvs_strict_cofactorpower_product))) /\ ((((exists pa_h_pvs_strict_cofactorpower_product_partial. pa_h_pvs_strict_cofactorpower_product_partial + S (pa_r_pvs_strict_cofactorpower_product) = S ((S (pa_i_pvs_strict_cofactorpower_product)) * pa_v_pvs_strict_cofactorpower_product)) /\ exists pa_q_pvs_strict_cofactorpower_product_partial. pa_u_pvs_strict_cofactorpower_product = pa_q_pvs_strict_cofactorpower_product_partial * S ((S (pa_i_pvs_strict_cofactorpower_product)) * pa_v_pvs_strict_cofactorpower_product) + (pa_r_pvs_strict_cofactorpower_product))) /\ ((((exists pa_h_pvs_strict_cofactorpower_product_successor. pa_h_pvs_strict_cofactorpower_product_successor + S (pa_s_pvs_strict_cofactorpower_product) = S ((S (S pa_i_pvs_strict_cofactorpower_product)) * pa_v_pvs_strict_cofactorpower_product)) /\ exists pa_q_pvs_strict_cofactorpower_product_successor. pa_u_pvs_strict_cofactorpower_product = pa_q_pvs_strict_cofactorpower_product_successor * S ((S (S pa_i_pvs_strict_cofactorpower_product)) * pa_v_pvs_strict_cofactorpower_product) + (pa_s_pvs_strict_cofactorpower_product))) /\ pa_s_pvs_strict_cofactorpower_product = pa_r_pvs_strict_cofactorpower_product * pa_p_pvs_strict_cofactorpower_product)))))))) /\ ((((n) = (P) * (u)) /\ (((~(u = 0)) /\ (((~(exists pvs_factor_strict_cofactornondivisor. (u) = (p) * pvs_factor_strict_cofactornondivisor)) /\ (exists pvs_gap_strict_cofactordescent. pvs_gap_strict_cofactordescent + S (u) = (n))))))))))))))))Constructive proof overview
Generated structural guide
Every positive nonunit has an actual full prime-power cofactor strictly smaller than itself; the exponent, power and nondivisibility are all constructed.
The unchanged tactic script uses 8 declared prerequisites and contains 81 exact native proof lines.
Alpha v34 checked-use · first admitted v29 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_divisor_exists Stable theorem; checked-use authorized power_valuation_exists Alpha theorem; checked-use authorized prime_divisor_power_valuation_nonzero Alpha theorem; checked-use authorized power_valuation_exact_cofactor Alpha theorem; checked-use authorized PV0006 pow_positive_exponent_base_divides divisor_one Stable theorem; checked-use authorized proper_factor_lt Stable theorem; checked-use authorized mul_comm Stable 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–3
02Establish hpL4–8
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor exists.
- L4
have hp : exists p. (~((p) = 1) /\ forall pvs_left_strict_prime pvs_right_strict_prime. (p) = pvs_left_strict_prime * pvs_right_strict_prime -> pvs_left_strict_prime = 1 \/ pvs_right_strict_prime = 1) /\ (exists pvs_factor_strict_divisor. (n) = (p) * pvs_factor_strict_divisor) - L5
specialize prime_divisor_exists (n) - L6
apply prime_divisor_exists - L7
exact hn - L8
exact hunit
03Separate the logical casesL9–10
04Establish heL11–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exists.
- L11
have he : ∃ e. BoundedPowerValuation(x,n,n,e)Definitions: BoundedPowerValuation - L12
specialize power_valuation_exists (x) - L13
specialize power_valuation_exists (n) - L14
apply power_valuation_exists
05Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases he
06Establish henzL16–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor power valuation nonzero.
- L16
have henz : ~(x1 = 0) - L17
intro hezero - L18
specialize prime_divisor_power_valuation_nonzero (x) - L19
specialize prime_divisor_power_valuation_nonzero (n) - L20
specialize prime_divisor_power_valuation_nonzero (x1) - L21
apply prime_divisor_power_valuation_nonzero - L22
exact hp_witness_left - L23
exact hn - L24
exact he_witness - L25
exact hp_witness_right
07Use earlier factsL26–26
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
exact hezero
08Establish hcL27–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exact cofactor.
09Separate the logical casesL35–39
10Establish hpnonunitL40–41
11Establish hbaseL42–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow positive exponent base divides.
- L42
have hbase : exists pvs_factor_strict_base_divisor. (x2) = (x) * pvs_factor_strict_base_divisor - L43
specialize pow_positive_exponent_base_divides (x) - L44
specialize pow_positive_exponent_base_divides (x1) - L45
specialize pow_positive_exponent_base_divides (x2) - L46
apply pow_positive_exponent_base_divides - L47
exact henz - L48
exact hc_witness_witness_left - L49
rewrite hPone at hbase
12Separate the logical casesL50–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
cases hp_witness_left
13Use earlier factsL51–54
14Construct an explicit witnessL55–58
15Separate the logical casesL59–59
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L59
split
16Use earlier factsL60–60
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L60
exact hp_witness_left
17Separate the logical casesL61–61
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L61
split
18Use earlier factsL62–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
exact henz
19Separate the logical casesL63–63
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L63
split
20Use earlier factsL64–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
exact he_witness
21Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
split
22Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
exact hc_witness_witness_left
23Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
24Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hc_witness_witness_right_left
25Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
26Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hc_witness_witness_right_right_left
27Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
28Use earlier factsL72–77
29Calculate and transport equalitiesL78–78
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L78
trans x2 * x3
Original exact command ledger · 81 lines
- 0001
intro n - 0002
intro hn - 0003
intro hunit - 0004
have hp : exists p. (~((p) = 1) /\ forall pvs_left_strict_prime pvs_right_strict_prime. (p) = pvs_left_strict_prime * pvs_right_strict_prime -> pvs_left_strict_prime = 1 \/ pvs_right_strict_prime = 1) /\ (exists pvs_factor_strict_divisor. (n) = (p) * pvs_factor_strict_divisor) - 0005
specialize prime_divisor_exists (n) - 0006
apply prime_divisor_exists - 0007
exact hn - 0008
exact hunit - 0009
cases hp - 0010
cases hp_witness - 0011
have he : exists e. (((exists bpd_gap_pvs_strict_valuation_selected_bound. bpd_gap_pvs_strict_valuation_selected_bound + (e) = (n)) /\ (exists bpvi_result_pvs_strict_valuation_selected. ((exists bpvi_b_pvs_strict_valuation_selected_power bpvi_c_pvs_strict_valuation_selected_power. ((forall bpvi_i_pvs_strict_valuation_selected_power. (exists bpvi_repeat_gap_pvs_strict_valuation_selected_power. bpvi_repeat_gap_pvs_strict_valuation_selected_power + S bpvi_i_pvs_strict_valuation_selected_power = e) -> (((exists bpvi_h_pvs_strict_valuation_selected_power_repeat. bpvi_h_pvs_strict_valuation_selected_power_repeat + S (x) = S ((S (bpvi_i_pvs_strict_valuation_selected_power)) * bpvi_c_pvs_strict_valuation_selected_power)) /\ exists bpvi_q_pvs_strict_valuation_selected_power_repeat. bpvi_b_pvs_strict_valuation_selected_power = bpvi_q_pvs_strict_valuation_selected_power_repeat * S ((S (bpvi_i_pvs_strict_valuation_selected_power)) * bpvi_c_pvs_strict_valuation_selected_power) + (x)))) /\ (exists bpvi_u_pvs_strict_valuation_selected_power bpvi_v_pvs_strict_valuation_selected_power. ((((exists bpvi_h_pvs_strict_valuation_selected_power_start. bpvi_h_pvs_strict_valuation_selected_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_strict_valuation_selected_power)) /\ exists bpvi_q_pvs_strict_valuation_selected_power_start. bpvi_u_pvs_strict_valuation_selected_power = bpvi_q_pvs_strict_valuation_selected_power_start * S ((S (0)) * bpvi_v_pvs_strict_valuation_selected_power) + (1))) /\ ((((exists bpvi_h_pvs_strict_valuation_selected_power_terminal. bpvi_h_pvs_strict_valuation_selected_power_terminal + S (bpvi_result_pvs_strict_valuation_selected) = S ((S (e)) * bpvi_v_pvs_strict_valuation_selected_power)) /\ exists bpvi_q_pvs_strict_valuation_selected_power_terminal. bpvi_u_pvs_strict_valuation_selected_power = bpvi_q_pvs_strict_valuation_selected_power_terminal * S ((S (e)) * bpvi_v_pvs_strict_valuation_selected_power) + (bpvi_result_pvs_strict_valuation_selected))) /\ forall bpvi_j_pvs_strict_valuation_selected_power. (exists bpvi_product_gap_pvs_strict_valuation_selected_power. bpvi_product_gap_pvs_strict_valuation_selected_power + S bpvi_j_pvs_strict_valuation_selected_power = e) -> exists bpvi_factor_pvs_strict_valuation_selected_power bpvi_partial_pvs_strict_valuation_selected_power bpvi_successor_pvs_strict_valuation_selected_power. ((((exists bpvi_h_pvs_strict_valuation_selected_power_factor. bpvi_h_pvs_strict_valuation_selected_power_factor + S (bpvi_factor_pvs_strict_valuation_selected_power) = S ((S (bpvi_j_pvs_strict_valuation_selected_power)) * bpvi_c_pvs_strict_valuation_selected_power)) /\ exists bpvi_q_pvs_strict_valuation_selected_power_factor. bpvi_b_pvs_strict_valuation_selected_power = bpvi_q_pvs_strict_valuation_selected_power_factor * S ((S (bpvi_j_pvs_strict_valuation_selected_power)) * bpvi_c_pvs_strict_valuation_selected_power) + (bpvi_factor_pvs_strict_valuation_selected_power))) /\ ((((exists bpvi_h_pvs_strict_valuation_selected_power_partial. bpvi_h_pvs_strict_valuation_selected_power_partial + S (bpvi_partial_pvs_strict_valuation_selected_power) = S ((S (bpvi_j_pvs_strict_valuation_selected_power)) * bpvi_v_pvs_strict_valuation_selected_power)) /\ exists bpvi_q_pvs_strict_valuation_selected_power_partial. bpvi_u_pvs_strict_valuation_selected_power = bpvi_q_pvs_strict_valuation_selected_power_partial * S ((S (bpvi_j_pvs_strict_valuation_selected_power)) * bpvi_v_pvs_strict_valuation_selected_power) + (bpvi_partial_pvs_strict_valuation_selected_power))) /\ ((((exists bpvi_h_pvs_strict_valuation_selected_power_successor. bpvi_h_pvs_strict_valuation_selected_power_successor + S (bpvi_successor_pvs_strict_valuation_selected_power) = S ((S (S bpvi_j_pvs_strict_valuation_selected_power)) * bpvi_v_pvs_strict_valuation_selected_power)) /\ exists bpvi_q_pvs_strict_valuation_selected_power_successor. bpvi_u_pvs_strict_valuation_selected_power = bpvi_q_pvs_strict_valuation_selected_power_successor * S ((S (S bpvi_j_pvs_strict_valuation_selected_power)) * bpvi_v_pvs_strict_valuation_selected_power) + (bpvi_successor_pvs_strict_valuation_selected_power))) /\ bpvi_successor_pvs_strict_valuation_selected_power = bpvi_partial_pvs_strict_valuation_selected_power * bpvi_factor_pvs_strict_valuation_selected_power)))))))) /\ exists bpvi_divisor_factor_pvs_strict_valuation_selected. n = bpvi_result_pvs_strict_valuation_selected * bpvi_divisor_factor_pvs_strict_valuation_selected))) /\ forall bpd_candidate_pvs_strict_valuation. (exists bpd_gap_pvs_strict_valuation_candidate_bound. bpd_gap_pvs_strict_valuation_candidate_bound + (bpd_candidate_pvs_strict_valuation) = (n)) -> (exists bpvi_result_pvs_strict_valuation_candidate. ((exists bpvi_b_pvs_strict_valuation_candidate_power bpvi_c_pvs_strict_valuation_candidate_power. ((forall bpvi_i_pvs_strict_valuation_candidate_power. (exists bpvi_repeat_gap_pvs_strict_valuation_candidate_power. bpvi_repeat_gap_pvs_strict_valuation_candidate_power + S bpvi_i_pvs_strict_valuation_candidate_power = bpd_candidate_pvs_strict_valuation) -> (((exists bpvi_h_pvs_strict_valuation_candidate_power_repeat. bpvi_h_pvs_strict_valuation_candidate_power_repeat + S (x) = S ((S (bpvi_i_pvs_strict_valuation_candidate_power)) * bpvi_c_pvs_strict_valuation_candidate_power)) /\ exists bpvi_q_pvs_strict_valuation_candidate_power_repeat. bpvi_b_pvs_strict_valuation_candidate_power = bpvi_q_pvs_strict_valuation_candidate_power_repeat * S ((S (bpvi_i_pvs_strict_valuation_candidate_power)) * bpvi_c_pvs_strict_valuation_candidate_power) + (x)))) /\ (exists bpvi_u_pvs_strict_valuation_candidate_power bpvi_v_pvs_strict_valuation_candidate_power. ((((exists bpvi_h_pvs_strict_valuation_candidate_power_start. bpvi_h_pvs_strict_valuation_candidate_power_start + S (1) = S ((S (0)) * bpvi_v_pvs_strict_valuation_candidate_power)) /\ exists bpvi_q_pvs_strict_valuation_candidate_power_start. bpvi_u_pvs_strict_valuation_candidate_power = bpvi_q_pvs_strict_valuation_candidate_power_start * S ((S (0)) * bpvi_v_pvs_strict_valuation_candidate_power) + (1))) /\ ((((exists bpvi_h_pvs_strict_valuation_candidate_power_terminal. bpvi_h_pvs_strict_valuation_candidate_power_terminal + S (bpvi_result_pvs_strict_valuation_candidate) = S ((S (bpd_candidate_pvs_strict_valuation)) * bpvi_v_pvs_strict_valuation_candidate_power)) /\ exists bpvi_q_pvs_strict_valuation_candidate_power_terminal. bpvi_u_pvs_strict_valuation_candidate_power = bpvi_q_pvs_strict_valuation_candidate_power_terminal * S ((S (bpd_candidate_pvs_strict_valuation)) * bpvi_v_pvs_strict_valuation_candidate_power) + (bpvi_result_pvs_strict_valuation_candidate))) /\ forall bpvi_j_pvs_strict_valuation_candidate_power. (exists bpvi_product_gap_pvs_strict_valuation_candidate_power. bpvi_product_gap_pvs_strict_valuation_candidate_power + S bpvi_j_pvs_strict_valuation_candidate_power = bpd_candidate_pvs_strict_valuation) -> exists bpvi_factor_pvs_strict_valuation_candidate_power bpvi_partial_pvs_strict_valuation_candidate_power bpvi_successor_pvs_strict_valuation_candidate_power. ((((exists bpvi_h_pvs_strict_valuation_candidate_power_factor. bpvi_h_pvs_strict_valuation_candidate_power_factor + S (bpvi_factor_pvs_strict_valuation_candidate_power) = S ((S (bpvi_j_pvs_strict_valuation_candidate_power)) * bpvi_c_pvs_strict_valuation_candidate_power)) /\ exists bpvi_q_pvs_strict_valuation_candidate_power_factor. bpvi_b_pvs_strict_valuation_candidate_power = bpvi_q_pvs_strict_valuation_candidate_power_factor * S ((S (bpvi_j_pvs_strict_valuation_candidate_power)) * bpvi_c_pvs_strict_valuation_candidate_power) + (bpvi_factor_pvs_strict_valuation_candidate_power))) /\ ((((exists bpvi_h_pvs_strict_valuation_candidate_power_partial. bpvi_h_pvs_strict_valuation_candidate_power_partial + S (bpvi_partial_pvs_strict_valuation_candidate_power) = S ((S (bpvi_j_pvs_strict_valuation_candidate_power)) * bpvi_v_pvs_strict_valuation_candidate_power)) /\ exists bpvi_q_pvs_strict_valuation_candidate_power_partial. bpvi_u_pvs_strict_valuation_candidate_power = bpvi_q_pvs_strict_valuation_candidate_power_partial * S ((S (bpvi_j_pvs_strict_valuation_candidate_power)) * bpvi_v_pvs_strict_valuation_candidate_power) + (bpvi_partial_pvs_strict_valuation_candidate_power))) /\ ((((exists bpvi_h_pvs_strict_valuation_candidate_power_successor. bpvi_h_pvs_strict_valuation_candidate_power_successor + S (bpvi_successor_pvs_strict_valuation_candidate_power) = S ((S (S bpvi_j_pvs_strict_valuation_candidate_power)) * bpvi_v_pvs_strict_valuation_candidate_power)) /\ exists bpvi_q_pvs_strict_valuation_candidate_power_successor. bpvi_u_pvs_strict_valuation_candidate_power = bpvi_q_pvs_strict_valuation_candidate_power_successor * S ((S (S bpvi_j_pvs_strict_valuation_candidate_power)) * bpvi_v_pvs_strict_valuation_candidate_power) + (bpvi_successor_pvs_strict_valuation_candidate_power))) /\ bpvi_successor_pvs_strict_valuation_candidate_power = bpvi_partial_pvs_strict_valuation_candidate_power * bpvi_factor_pvs_strict_valuation_candidate_power)))))))) /\ exists bpvi_divisor_factor_pvs_strict_valuation_candidate. n = bpvi_result_pvs_strict_valuation_candidate * bpvi_divisor_factor_pvs_strict_valuation_candidate)) -> (exists bpd_gap_pvs_strict_valuation_maximal. bpd_gap_pvs_strict_valuation_maximal + (bpd_candidate_pvs_strict_valuation) = (e))) - 0012
specialize power_valuation_exists (x) - 0013
specialize power_valuation_exists (n) - 0014
apply power_valuation_exists - 0015
cases he - 0016
have henz : ~(x1 = 0) - 0017
intro hezero - 0018
specialize prime_divisor_power_valuation_nonzero (x) - 0019
specialize prime_divisor_power_valuation_nonzero (n) - 0020
specialize prime_divisor_power_valuation_nonzero (x1) - 0021
apply prime_divisor_power_valuation_nonzero - 0022
exact hp_witness_left - 0023
exact hn - 0024
exact he_witness - 0025
exact hp_witness_right - 0026
exact hezero - 0027
have hc : exists P u. ((exists pa_b_pvs_strict_exact_power pa_c_pvs_strict_exact_power. ((forall pa_i_pvs_strict_exact_power_repeat. (exists pa_lt_pvs_strict_exact_power_repeat_bound. pa_lt_pvs_strict_exact_power_repeat_bound + S pa_i_pvs_strict_exact_power_repeat = x1) -> (((exists pa_h_pvs_strict_exact_power_repeat_decoded. pa_h_pvs_strict_exact_power_repeat_decoded + S (x) = S ((S (pa_i_pvs_strict_exact_power_repeat)) * pa_c_pvs_strict_exact_power)) /\ exists pa_q_pvs_strict_exact_power_repeat_decoded. pa_b_pvs_strict_exact_power = pa_q_pvs_strict_exact_power_repeat_decoded * S ((S (pa_i_pvs_strict_exact_power_repeat)) * pa_c_pvs_strict_exact_power) + (x)))) /\ (exists pa_u_pvs_strict_exact_power_product pa_v_pvs_strict_exact_power_product. ((((exists pa_h_pvs_strict_exact_power_product_start. pa_h_pvs_strict_exact_power_product_start + S (1) = S ((S (0)) * pa_v_pvs_strict_exact_power_product)) /\ exists pa_q_pvs_strict_exact_power_product_start. pa_u_pvs_strict_exact_power_product = pa_q_pvs_strict_exact_power_product_start * S ((S (0)) * pa_v_pvs_strict_exact_power_product) + (1))) /\ ((((exists pa_h_pvs_strict_exact_power_product_terminal. pa_h_pvs_strict_exact_power_product_terminal + S (P) = S ((S (x1)) * pa_v_pvs_strict_exact_power_product)) /\ exists pa_q_pvs_strict_exact_power_product_terminal. pa_u_pvs_strict_exact_power_product = pa_q_pvs_strict_exact_power_product_terminal * S ((S (x1)) * pa_v_pvs_strict_exact_power_product) + (P))) /\ forall pa_i_pvs_strict_exact_power_product. (exists pa_lt_pvs_strict_exact_power_product_bound. pa_lt_pvs_strict_exact_power_product_bound + S pa_i_pvs_strict_exact_power_product = x1) -> exists pa_p_pvs_strict_exact_power_product pa_r_pvs_strict_exact_power_product pa_s_pvs_strict_exact_power_product. ((((exists pa_h_pvs_strict_exact_power_product_factor. pa_h_pvs_strict_exact_power_product_factor + S (pa_p_pvs_strict_exact_power_product) = S ((S (pa_i_pvs_strict_exact_power_product)) * pa_c_pvs_strict_exact_power)) /\ exists pa_q_pvs_strict_exact_power_product_factor. pa_b_pvs_strict_exact_power = pa_q_pvs_strict_exact_power_product_factor * S ((S (pa_i_pvs_strict_exact_power_product)) * pa_c_pvs_strict_exact_power) + (pa_p_pvs_strict_exact_power_product))) /\ ((((exists pa_h_pvs_strict_exact_power_product_partial. pa_h_pvs_strict_exact_power_product_partial + S (pa_r_pvs_strict_exact_power_product) = S ((S (pa_i_pvs_strict_exact_power_product)) * pa_v_pvs_strict_exact_power_product)) /\ exists pa_q_pvs_strict_exact_power_product_partial. pa_u_pvs_strict_exact_power_product = pa_q_pvs_strict_exact_power_product_partial * S ((S (pa_i_pvs_strict_exact_power_product)) * pa_v_pvs_strict_exact_power_product) + (pa_r_pvs_strict_exact_power_product))) /\ ((((exists pa_h_pvs_strict_exact_power_product_successor. pa_h_pvs_strict_exact_power_product_successor + S (pa_s_pvs_strict_exact_power_product) = S ((S (S pa_i_pvs_strict_exact_power_product)) * pa_v_pvs_strict_exact_power_product)) /\ exists pa_q_pvs_strict_exact_power_product_successor. pa_u_pvs_strict_exact_power_product = pa_q_pvs_strict_exact_power_product_successor * S ((S (S pa_i_pvs_strict_exact_power_product)) * pa_v_pvs_strict_exact_power_product) + (pa_s_pvs_strict_exact_power_product))) /\ pa_s_pvs_strict_exact_power_product = pa_r_pvs_strict_exact_power_product * pa_p_pvs_strict_exact_power_product)))))))) /\ (((n = P * u) /\ (((~(u = 0)) /\ (~(exists pvs_factor_strict_exact_fresh. (u) = (x) * pvs_factor_strict_exact_fresh))))))) - 0028
specialize power_valuation_exact_cofactor (x) - 0029
specialize power_valuation_exact_cofactor (n) - 0030
specialize power_valuation_exact_cofactor (x1) - 0031
apply power_valuation_exact_cofactor - 0032
exact hp_witness_left - 0033
exact hn - 0034
exact he_witness - 0035
cases hc - 0036
cases hc_witness - 0037
cases hc_witness_witness - 0038
cases hc_witness_witness_right - 0039
cases hc_witness_witness_right_right - 0040
have hpnonunit : ~(x2 = 1) - 0041
intro hPone - 0042
have hbase : exists pvs_factor_strict_base_divisor. (x2) = (x) * pvs_factor_strict_base_divisor - 0043
specialize pow_positive_exponent_base_divides (x) - 0044
specialize pow_positive_exponent_base_divides (x1) - 0045
specialize pow_positive_exponent_base_divides (x2) - 0046
apply pow_positive_exponent_base_divides - 0047
exact henz - 0048
exact hc_witness_witness_left - 0049
rewrite hPone at hbase - 0050
cases hp_witness_left - 0051
apply hp_witness_left_left - 0052
specialize divisor_one (x) - 0053
apply divisor_one - 0054
exact hbase - 0055
exists x - 0056
exists x1 - 0057
exists x2 - 0058
exists x3 - 0059
split - 0060
exact hp_witness_left - 0061
split - 0062
exact henz - 0063
split - 0064
exact he_witness - 0065
split - 0066
exact hc_witness_witness_left - 0067
split - 0068
exact hc_witness_witness_right_left - 0069
split - 0070
exact hc_witness_witness_right_right_left - 0071
split - 0072
exact hc_witness_witness_right_right_right - 0073
specialize proper_factor_lt (n) - 0074
specialize proper_factor_lt (x3) - 0075
specialize proper_factor_lt (x2) - 0076
apply proper_factor_lt - 0077
exact hn - 0078
trans x2 * x3 - 0079
exact hc_witness_witness_right_left - 0080
apply mul_comm - 0081
exact hpnonunit