Exact expanded first-order arithmetic statement
forall p e n b c k. (~((p) = 1) /\ forall pvs_left_jordan_base pvs_right_jordan_base. (p) = pvs_left_jordan_base * pvs_right_jordan_base -> pvs_left_jordan_base = 1 \/ pvs_right_jordan_base = 1) -> (exists pa_b_pvs_jordan_power pa_c_pvs_jordan_power. ((forall pa_i_pvs_jordan_power_repeat. (exists pa_lt_pvs_jordan_power_repeat_bound. pa_lt_pvs_jordan_power_repeat_bound + S pa_i_pvs_jordan_power_repeat = e) -> (((exists pa_h_pvs_jordan_power_repeat_decoded. pa_h_pvs_jordan_power_repeat_decoded + S (p) = S ((S (pa_i_pvs_jordan_power_repeat)) * pa_c_pvs_jordan_power)) /\ exists pa_q_pvs_jordan_power_repeat_decoded. pa_b_pvs_jordan_power = pa_q_pvs_jordan_power_repeat_decoded * S ((S (pa_i_pvs_jordan_power_repeat)) * pa_c_pvs_jordan_power) + (p)))) /\ (exists pa_u_pvs_jordan_power_product pa_v_pvs_jordan_power_product. ((((exists pa_h_pvs_jordan_power_product_start. pa_h_pvs_jordan_power_product_start + S (1) = S ((S (0)) * pa_v_pvs_jordan_power_product)) /\ exists pa_q_pvs_jordan_power_product_start. pa_u_pvs_jordan_power_product = pa_q_pvs_jordan_power_product_start * S ((S (0)) * pa_v_pvs_jordan_power_product) + (1))) /\ ((((exists pa_h_pvs_jordan_power_product_terminal. pa_h_pvs_jordan_power_product_terminal + S (n) = S ((S (e)) * pa_v_pvs_jordan_power_product)) /\ exists pa_q_pvs_jordan_power_product_terminal. pa_u_pvs_jordan_power_product = pa_q_pvs_jordan_power_product_terminal * S ((S (e)) * pa_v_pvs_jordan_power_product) + (n))) /\ forall pa_i_pvs_jordan_power_product. (exists pa_lt_pvs_jordan_power_product_bound. pa_lt_pvs_jordan_power_product_bound + S pa_i_pvs_jordan_power_product = e) -> exists pa_p_pvs_jordan_power_product pa_r_pvs_jordan_power_product pa_s_pvs_jordan_power_product. ((((exists pa_h_pvs_jordan_power_product_factor. pa_h_pvs_jordan_power_product_factor + S (pa_p_pvs_jordan_power_product) = S ((S (pa_i_pvs_jordan_power_product)) * pa_c_pvs_jordan_power)) /\ exists pa_q_pvs_jordan_power_product_factor. pa_b_pvs_jordan_power = pa_q_pvs_jordan_power_product_factor * S ((S (pa_i_pvs_jordan_power_product)) * pa_c_pvs_jordan_power) + (pa_p_pvs_jordan_power_product))) /\ ((((exists pa_h_pvs_jordan_power_product_partial. pa_h_pvs_jordan_power_product_partial + S (pa_r_pvs_jordan_power_product) = S ((S (pa_i_pvs_jordan_power_product)) * pa_v_pvs_jordan_power_product)) /\ exists pa_q_pvs_jordan_power_product_partial. pa_u_pvs_jordan_power_product = pa_q_pvs_jordan_power_product_partial * S ((S (pa_i_pvs_jordan_power_product)) * pa_v_pvs_jordan_power_product) + (pa_r_pvs_jordan_power_product))) /\ ((((exists pa_h_pvs_jordan_power_product_successor. pa_h_pvs_jordan_power_product_successor + S (pa_s_pvs_jordan_power_product) = S ((S (S pa_i_pvs_jordan_power_product)) * pa_v_pvs_jordan_power_product)) /\ exists pa_q_pvs_jordan_power_product_successor. pa_u_pvs_jordan_power_product = pa_q_pvs_jordan_power_product_successor * S ((S (S pa_i_pvs_jordan_power_product)) * pa_v_pvs_jordan_power_product) + (pa_s_pvs_jordan_power_product))) /\ pa_s_pvs_jordan_power_product = pa_r_pvs_jordan_power_product * pa_p_pvs_jordan_power_product)))))))) -> (~(forall jt_index_power_all_divisible jt_value_power_all_divisible. (exists jt_gap_power_all_divisibleindex. jt_gap_power_all_divisibleindex+S (jt_index_power_all_divisible)=(k)) -> (((exists fs_h_jt_power_all_divisibleat. fs_h_jt_power_all_divisibleat + S (jt_value_power_all_divisible) = S ((S (jt_index_power_all_divisible)) * c)) /\ exists fs_q_jt_power_all_divisibleat. b = fs_q_jt_power_all_divisibleat * S ((S (jt_index_power_all_divisible)) * c) + (jt_value_power_all_divisible))) -> (exists jt_factor_power_all_divisibledivides. (jt_value_power_all_divisible)=(p)*jt_factor_power_all_divisibledivides))) -> forall jt_divisor_power_primitive. (exists jt_factor_power_primitivemodulus. (n)=(jt_divisor_power_primitive)*jt_factor_power_primitivemodulus) -> (forall jt_index_power_primitivecoordinates jt_value_power_primitivecoordinates. (exists jt_gap_power_primitivecoordinatesindex. jt_gap_power_primitivecoordinatesindex+S (jt_index_power_primitivecoordinates)=(k)) -> (((exists fs_h_jt_power_primitivecoordinatesat. fs_h_jt_power_primitivecoordinatesat + S (jt_value_power_primitivecoordinates) = S ((S (jt_index_power_primitivecoordinates)) * c)) /\ exists fs_q_jt_power_primitivecoordinatesat. b = fs_q_jt_power_primitivecoordinatesat * S ((S (jt_index_power_primitivecoordinates)) * c) + (jt_value_power_primitivecoordinates))) -> (exists jt_factor_power_primitivecoordinatesdivides. (jt_value_power_primitivecoordinates)=(jt_divisor_power_primitive)*jt_factor_power_primitivecoordinatesdivides)) -> jt_divisor_power_primitive=1Constructive proof overview
Generated structural guide
Every nonunit common divisor has an actual prime divisor; prime-power support then forces a forbidden common factor p.
The unchanged tactic script uses 9 declared prerequisites and contains 75 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
pow_nonzero_of_one_le Alpha theorem; checked-use authorized one_le_of_ne_zero Alpha theorem; checked-use authorized prime_nonzero Alpha theorem; checked-use authorized eq_decidable Alpha theorem; checked-use authorized mul_zero_left Alpha theorem; checked-use authorized prime_divisor_exists Alpha theorem; checked-use authorized multiple_trans Alpha theorem; checked-use authorized prime_divisor_of_prime_power Alpha theorem; checked-use authorized JT0007 jordan_tuple_divisor_downwardDirect 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–9
02Establish hnL10–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow nonzero of one le.
03Use earlier factsL20–24
04Fix variables and assumptionsL25–27
05Use earlier factsL28–29
06Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases eq_decidable
07Use earlier factsL31–31
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L31
exact eq_decidable_left
08Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
exfalso
09Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
apply hnot
10Establish hdnonzeroL34–36
11Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
cases hd
12Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
trans d*x
13Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hd_witness
14Calculate and transport equalitiesL40–40
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L40
rewrite hz
15Use earlier factsL41–42
16Establish hprimeL43–47
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor exists.
- L43
have hprime : exists q. ((~((q) = 1) /\ forall pvs_left_jordan_common_prime pvs_right_jordan_common_prime. (q) = pvs_left_jordan_common_prime * pvs_right_jordan_common_prime -> pvs_left_jordan_common_prime = 1 \/ pvs_right_jordan_common_prime = 1) /\ (exists jt_factor_jordan_common_divisor. (d)=(q)*jt_factor_jordan_common_divisor)) - L44
specialize prime_divisor_exists (d) - L45
apply prime_divisor_exists - L46
exact hdnonzero - L47
exact eq_decidable_right
17Separate the logical casesL48–49
18Establish hqnL50–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply multiple trans.
19Establish hqpL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor of prime power.
- L57
have hqp : x=p - L58
specialize prime_divisor_of_prime_power (p) - L59
specialize prime_divisor_of_prime_power (x) - L60
specialize prime_divisor_of_prime_power (e) - L61
specialize prime_divisor_of_prime_power (n) - L62
apply prime_divisor_of_prime_power - L63
exact hp - L64
exact hprime_witness_left - L65
exact hpow - L66
exact hqn
20Calculate and transport equalitiesL67–67
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L67
rewrite <- hqp
21Use earlier factsL68–75
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
specialize jordan_tuple_divisor_downward (x) - L69
specialize jordan_tuple_divisor_downward (d) - L70
specialize jordan_tuple_divisor_downward (b) - L71
specialize jordan_tuple_divisor_downward (c) - L72
specialize jordan_tuple_divisor_downward (k) - L73
apply jordan_tuple_divisor_downward - L74
exact hprime_witness_right - L75
exact hall
Original exact command ledger · 75 lines
- 0001
intro p - 0002
intro e - 0003
intro n - 0004
intro b - 0005
intro c - 0006
intro k - 0007
intro hp - 0008
intro hpow - 0009
intro hnot - 0010
have hn : ~(n=0) - 0011
intro hz - 0012
specialize pow_nonzero_of_one_le (p) - 0013
specialize pow_nonzero_of_one_le (e) - 0014
specialize pow_nonzero_of_one_le (n) - 0015
apply pow_nonzero_of_one_le - 0016
specialize one_le_of_ne_zero (p) - 0017
apply one_le_of_ne_zero - 0018
intro hpzero - 0019
specialize prime_nonzero (p) - 0020
apply prime_nonzero - 0021
exact hp - 0022
exact hpzero - 0023
exact hpow - 0024
exact hz - 0025
intro d - 0026
intro hd - 0027
intro hall - 0028
specialize eq_decidable d - 0029
specialize eq_decidable 1 - 0030
cases eq_decidable - 0031
exact eq_decidable_left - 0032
exfalso - 0033
apply hnot - 0034
have hdnonzero : ~(d=0) - 0035
intro hz - 0036
apply hn - 0037
cases hd - 0038
trans d*x - 0039
exact hd_witness - 0040
rewrite hz - 0041
specialize mul_zero_left (x) - 0042
apply mul_zero_left - 0043
have hprime : exists q. ((~((q) = 1) /\ forall pvs_left_jordan_common_prime pvs_right_jordan_common_prime. (q) = pvs_left_jordan_common_prime * pvs_right_jordan_common_prime -> pvs_left_jordan_common_prime = 1 \/ pvs_right_jordan_common_prime = 1) /\ (exists jt_factor_jordan_common_divisor. (d)=(q)*jt_factor_jordan_common_divisor)) - 0044
specialize prime_divisor_exists (d) - 0045
apply prime_divisor_exists - 0046
exact hdnonzero - 0047
exact eq_decidable_right - 0048
cases hprime - 0049
cases hprime_witness - 0050
have hqn : exists jt_factor_jordan_modulus_prime. (n)=(x)*jt_factor_jordan_modulus_prime - 0051
specialize multiple_trans (d) - 0052
specialize multiple_trans (x) - 0053
specialize multiple_trans (n) - 0054
apply multiple_trans - 0055
exact hd - 0056
exact hprime_witness_right - 0057
have hqp : x=p - 0058
specialize prime_divisor_of_prime_power (p) - 0059
specialize prime_divisor_of_prime_power (x) - 0060
specialize prime_divisor_of_prime_power (e) - 0061
specialize prime_divisor_of_prime_power (n) - 0062
apply prime_divisor_of_prime_power - 0063
exact hp - 0064
exact hprime_witness_left - 0065
exact hpow - 0066
exact hqn - 0067
rewrite <- hqp - 0068
specialize jordan_tuple_divisor_downward (x) - 0069
specialize jordan_tuple_divisor_downward (d) - 0070
specialize jordan_tuple_divisor_downward (b) - 0071
specialize jordan_tuple_divisor_downward (c) - 0072
specialize jordan_tuple_divisor_downward (k) - 0073
apply jordan_tuple_divisor_downward - 0074
exact hprime_witness_right - 0075
exact hall