JT0060

jordan_prime_power_tuple_primitivity_invariant

Alpha v35 independently verified · alpha_closed; checked-use authorized; not Stable

Primitivity of an actual beta tuple is invariant under changing the positive exponent of its prime-power modulus.

Exact expanded first-order arithmetic statement

forall p h j m 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_first_power pa_c_pvs_jordan_first_power. ((forall pa_i_pvs_jordan_first_power_repeat. (exists pa_lt_pvs_jordan_first_power_repeat_bound. pa_lt_pvs_jordan_first_power_repeat_bound + S pa_i_pvs_jordan_first_power_repeat = S h) -> (((exists pa_h_pvs_jordan_first_power_repeat_decoded. pa_h_pvs_jordan_first_power_repeat_decoded + S (p) = S ((S (pa_i_pvs_jordan_first_power_repeat)) * pa_c_pvs_jordan_first_power)) /\ exists pa_q_pvs_jordan_first_power_repeat_decoded. pa_b_pvs_jordan_first_power = pa_q_pvs_jordan_first_power_repeat_decoded * S ((S (pa_i_pvs_jordan_first_power_repeat)) * pa_c_pvs_jordan_first_power) + (p)))) /\ (exists pa_u_pvs_jordan_first_power_product pa_v_pvs_jordan_first_power_product. ((((exists pa_h_pvs_jordan_first_power_product_start. pa_h_pvs_jordan_first_power_product_start + S (1) = S ((S (0)) * pa_v_pvs_jordan_first_power_product)) /\ exists pa_q_pvs_jordan_first_power_product_start. pa_u_pvs_jordan_first_power_product = pa_q_pvs_jordan_first_power_product_start * S ((S (0)) * pa_v_pvs_jordan_first_power_product) + (1))) /\ ((((exists pa_h_pvs_jordan_first_power_product_terminal. pa_h_pvs_jordan_first_power_product_terminal + S (m) = S ((S (S h)) * pa_v_pvs_jordan_first_power_product)) /\ exists pa_q_pvs_jordan_first_power_product_terminal. pa_u_pvs_jordan_first_power_product = pa_q_pvs_jordan_first_power_product_terminal * S ((S (S h)) * pa_v_pvs_jordan_first_power_product) + (m))) /\ forall pa_i_pvs_jordan_first_power_product. (exists pa_lt_pvs_jordan_first_power_product_bound. pa_lt_pvs_jordan_first_power_product_bound + S pa_i_pvs_jordan_first_power_product = S h) -> exists pa_p_pvs_jordan_first_power_product pa_r_pvs_jordan_first_power_product pa_s_pvs_jordan_first_power_product. ((((exists pa_h_pvs_jordan_first_power_product_factor. pa_h_pvs_jordan_first_power_product_factor + S (pa_p_pvs_jordan_first_power_product) = S ((S (pa_i_pvs_jordan_first_power_product)) * pa_c_pvs_jordan_first_power)) /\ exists pa_q_pvs_jordan_first_power_product_factor. pa_b_pvs_jordan_first_power = pa_q_pvs_jordan_first_power_product_factor * S ((S (pa_i_pvs_jordan_first_power_product)) * pa_c_pvs_jordan_first_power) + (pa_p_pvs_jordan_first_power_product))) /\ ((((exists pa_h_pvs_jordan_first_power_product_partial. pa_h_pvs_jordan_first_power_product_partial + S (pa_r_pvs_jordan_first_power_product) = S ((S (pa_i_pvs_jordan_first_power_product)) * pa_v_pvs_jordan_first_power_product)) /\ exists pa_q_pvs_jordan_first_power_product_partial. pa_u_pvs_jordan_first_power_product = pa_q_pvs_jordan_first_power_product_partial * S ((S (pa_i_pvs_jordan_first_power_product)) * pa_v_pvs_jordan_first_power_product) + (pa_r_pvs_jordan_first_power_product))) /\ ((((exists pa_h_pvs_jordan_first_power_product_successor. pa_h_pvs_jordan_first_power_product_successor + S (pa_s_pvs_jordan_first_power_product) = S ((S (S pa_i_pvs_jordan_first_power_product)) * pa_v_pvs_jordan_first_power_product)) /\ exists pa_q_pvs_jordan_first_power_product_successor. pa_u_pvs_jordan_first_power_product = pa_q_pvs_jordan_first_power_product_successor * S ((S (S pa_i_pvs_jordan_first_power_product)) * pa_v_pvs_jordan_first_power_product) + (pa_s_pvs_jordan_first_power_product))) /\ pa_s_pvs_jordan_first_power_product = pa_r_pvs_jordan_first_power_product * pa_p_pvs_jordan_first_power_product)))))))) -> (exists pa_b_pvs_jordan_second_power pa_c_pvs_jordan_second_power. ((forall pa_i_pvs_jordan_second_power_repeat. (exists pa_lt_pvs_jordan_second_power_repeat_bound. pa_lt_pvs_jordan_second_power_repeat_bound + S pa_i_pvs_jordan_second_power_repeat = S j) -> (((exists pa_h_pvs_jordan_second_power_repeat_decoded. pa_h_pvs_jordan_second_power_repeat_decoded + S (p) = S ((S (pa_i_pvs_jordan_second_power_repeat)) * pa_c_pvs_jordan_second_power)) /\ exists pa_q_pvs_jordan_second_power_repeat_decoded. pa_b_pvs_jordan_second_power = pa_q_pvs_jordan_second_power_repeat_decoded * S ((S (pa_i_pvs_jordan_second_power_repeat)) * pa_c_pvs_jordan_second_power) + (p)))) /\ (exists pa_u_pvs_jordan_second_power_product pa_v_pvs_jordan_second_power_product. ((((exists pa_h_pvs_jordan_second_power_product_start. pa_h_pvs_jordan_second_power_product_start + S (1) = S ((S (0)) * pa_v_pvs_jordan_second_power_product)) /\ exists pa_q_pvs_jordan_second_power_product_start. pa_u_pvs_jordan_second_power_product = pa_q_pvs_jordan_second_power_product_start * S ((S (0)) * pa_v_pvs_jordan_second_power_product) + (1))) /\ ((((exists pa_h_pvs_jordan_second_power_product_terminal. pa_h_pvs_jordan_second_power_product_terminal + S (n) = S ((S (S j)) * pa_v_pvs_jordan_second_power_product)) /\ exists pa_q_pvs_jordan_second_power_product_terminal. pa_u_pvs_jordan_second_power_product = pa_q_pvs_jordan_second_power_product_terminal * S ((S (S j)) * pa_v_pvs_jordan_second_power_product) + (n))) /\ forall pa_i_pvs_jordan_second_power_product. (exists pa_lt_pvs_jordan_second_power_product_bound. pa_lt_pvs_jordan_second_power_product_bound + S pa_i_pvs_jordan_second_power_product = S j) -> exists pa_p_pvs_jordan_second_power_product pa_r_pvs_jordan_second_power_product pa_s_pvs_jordan_second_power_product. ((((exists pa_h_pvs_jordan_second_power_product_factor. pa_h_pvs_jordan_second_power_product_factor + S (pa_p_pvs_jordan_second_power_product) = S ((S (pa_i_pvs_jordan_second_power_product)) * pa_c_pvs_jordan_second_power)) /\ exists pa_q_pvs_jordan_second_power_product_factor. pa_b_pvs_jordan_second_power = pa_q_pvs_jordan_second_power_product_factor * S ((S (pa_i_pvs_jordan_second_power_product)) * pa_c_pvs_jordan_second_power) + (pa_p_pvs_jordan_second_power_product))) /\ ((((exists pa_h_pvs_jordan_second_power_product_partial. pa_h_pvs_jordan_second_power_product_partial + S (pa_r_pvs_jordan_second_power_product) = S ((S (pa_i_pvs_jordan_second_power_product)) * pa_v_pvs_jordan_second_power_product)) /\ exists pa_q_pvs_jordan_second_power_product_partial. pa_u_pvs_jordan_second_power_product = pa_q_pvs_jordan_second_power_product_partial * S ((S (pa_i_pvs_jordan_second_power_product)) * pa_v_pvs_jordan_second_power_product) + (pa_r_pvs_jordan_second_power_product))) /\ ((((exists pa_h_pvs_jordan_second_power_product_successor. pa_h_pvs_jordan_second_power_product_successor + S (pa_s_pvs_jordan_second_power_product) = S ((S (S pa_i_pvs_jordan_second_power_product)) * pa_v_pvs_jordan_second_power_product)) /\ exists pa_q_pvs_jordan_second_power_product_successor. pa_u_pvs_jordan_second_power_product = pa_q_pvs_jordan_second_power_product_successor * S ((S (S pa_i_pvs_jordan_second_power_product)) * pa_v_pvs_jordan_second_power_product) + (pa_s_pvs_jordan_second_power_product))) /\ pa_s_pvs_jordan_second_power_product = pa_r_pvs_jordan_second_power_product * pa_p_pvs_jordan_second_power_product)))))))) -> (forall jt_divisor_jordan_first_primitive. (exists jt_factor_jordan_first_primitivemodulus. (m)=(jt_divisor_jordan_first_primitive)*jt_factor_jordan_first_primitivemodulus) -> (forall jt_index_jordan_first_primitivecoordinates jt_value_jordan_first_primitivecoordinates. (exists jt_gap_jordan_first_primitivecoordinatesindex. jt_gap_jordan_first_primitivecoordinatesindex+S (jt_index_jordan_first_primitivecoordinates)=(k)) -> (((exists fs_h_jt_jordan_first_primitivecoordinatesat. fs_h_jt_jordan_first_primitivecoordinatesat + S (jt_value_jordan_first_primitivecoordinates) = S ((S (jt_index_jordan_first_primitivecoordinates)) * c)) /\ exists fs_q_jt_jordan_first_primitivecoordinatesat. b = fs_q_jt_jordan_first_primitivecoordinatesat * S ((S (jt_index_jordan_first_primitivecoordinates)) * c) + (jt_value_jordan_first_primitivecoordinates))) -> (exists jt_factor_jordan_first_primitivecoordinatesdivides. (jt_value_jordan_first_primitivecoordinates)=(jt_divisor_jordan_first_primitive)*jt_factor_jordan_first_primitivecoordinatesdivides)) -> jt_divisor_jordan_first_primitive=1) -> 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=1

Constructive proof overview

Generated structural guide

Primitivity of an actual beta tuple is invariant under changing the positive exponent of its prime-power modulus.

The unchanged tactic script uses 4 declared prerequisites and contains 40 exact native proof lines.

Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

JT005E jordan_prime_power_tuple_primitive_of_not_all_divisible JT005D jordan_primitive_tuple_avoids_prime_common_divisor pow_positive_exponent_base_divides Alpha theorem; checked-use authorized succ_ne_zero Alpha theorem; checked-use authorized

Direct dependents

none

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

40 script commands · 8 reading checkpoints · 0 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.

Named ingredients (2)
01Fix variables and assumptionsL1–10

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

  1. L1
    intro p
  2. L2
    intro h
  3. L3
    intro j
  4. L4
    intro m
  5. L5
    intro n
  6. L6
    intro b
  7. L7
    intro c
  8. L8
    intro k
  9. L9
    intro hp
  10. L10
    intro hm
02Fix variables and assumptionsL11–12

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

  1. L11
    intro hn
  2. L12
    intro hprimitive
03Use earlier factsL13–21

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

  1. L13
    specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (p)
  2. L14
    specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (S j)
  3. L15
    specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (n)
  4. L16
    specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (b)
  5. L17
    specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (c)
  6. L18
    specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (k)
  7. L19
    apply jordan_prime_power_tuple_primitive_of_not_all_divisible
  8. L20
    exact hp
  9. L21
    exact hn
04Fix variables and assumptionsL22–22

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

  1. L22
    intro hall
05Use earlier factsL23–32

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

  1. L23
    specialize jordan_primitive_tuple_avoids_prime_common_divisor (p)
  2. L24
    specialize jordan_primitive_tuple_avoids_prime_common_divisor (m)
  3. L25
    specialize jordan_primitive_tuple_avoids_prime_common_divisor (b)
  4. L26
    specialize jordan_primitive_tuple_avoids_prime_common_divisor (c)
  5. L27
    specialize jordan_primitive_tuple_avoids_prime_common_divisor (k)
  6. L28
    apply jordan_primitive_tuple_avoids_prime_common_divisor
  7. L29
    exact hp
  8. L30
    specialize pow_positive_exponent_base_divides (p)
  9. L31
    specialize pow_positive_exponent_base_divides (S h)
  10. L32
    specialize pow_positive_exponent_base_divides (m)
06Use earlier factsL33–33

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

  1. L33
    apply pow_positive_exponent_base_divides
07Fix variables and assumptionsL34–34

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

  1. L34
    intro hszero
08Use earlier factsL35–40

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

  1. L35
    specialize succ_ne_zero (h)
  2. L36
    apply succ_ne_zero
  3. L37
    exact hszero
  4. L38
    exact hm
  5. L39
    exact hprimitive
  6. L40
    exact hall

Library-wide reading audit

Original exact command ledger · 40 lines
  1. 0001intro p
  2. 0002intro h
  3. 0003intro j
  4. 0004intro m
  5. 0005intro n
  6. 0006intro b
  7. 0007intro c
  8. 0008intro k
  9. 0009intro hp
  10. 0010intro hm
  11. 0011intro hn
  12. 0012intro hprimitive
  13. 0013specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (p)
  14. 0014specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (S j)
  15. 0015specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (n)
  16. 0016specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (b)
  17. 0017specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (c)
  18. 0018specialize jordan_prime_power_tuple_primitive_of_not_all_divisible (k)
  19. 0019apply jordan_prime_power_tuple_primitive_of_not_all_divisible
  20. 0020exact hp
  21. 0021exact hn
  22. 0022intro hall
  23. 0023specialize jordan_primitive_tuple_avoids_prime_common_divisor (p)
  24. 0024specialize jordan_primitive_tuple_avoids_prime_common_divisor (m)
  25. 0025specialize jordan_primitive_tuple_avoids_prime_common_divisor (b)
  26. 0026specialize jordan_primitive_tuple_avoids_prime_common_divisor (c)
  27. 0027specialize jordan_primitive_tuple_avoids_prime_common_divisor (k)
  28. 0028apply jordan_primitive_tuple_avoids_prime_common_divisor
  29. 0029exact hp
  30. 0030specialize pow_positive_exponent_base_divides (p)
  31. 0031specialize pow_positive_exponent_base_divides (S h)
  32. 0032specialize pow_positive_exponent_base_divides (m)
  33. 0033apply pow_positive_exponent_base_divides
  34. 0034intro hszero
  35. 0035specialize succ_ne_zero (h)
  36. 0036apply succ_ne_zero
  37. 0037exact hszero
  38. 0038exact hm
  39. 0039exact hprimitive
  40. 0040exact hall