Exact expanded first-order arithmetic statement
forall n b c d e k. (forall jt_index_primmod jt_left_primmod jt_right_primmod. (exists jt_gap_primmodindex. jt_gap_primmodindex+S (jt_index_primmod)=(k)) -> (((exists fs_h_jt_primmodleft. fs_h_jt_primmodleft + S (jt_left_primmod) = S ((S (jt_index_primmod)) * c)) /\ exists fs_q_jt_primmodleft. b = fs_q_jt_primmodleft * S ((S (jt_index_primmod)) * c) + (jt_left_primmod))) -> (((exists fs_h_jt_primmodright. fs_h_jt_primmodright + S (jt_right_primmod) = S ((S (jt_index_primmod)) * e)) /\ exists fs_q_jt_primmodright. d = fs_q_jt_primmodright * S ((S (jt_index_primmod)) * e) + (jt_right_primmod))) -> (exists jt_left_primmodmod jt_right_primmodmod. (jt_left_primmod)+(n)*jt_left_primmodmod=(jt_right_primmod)+(n)*jt_right_primmodmod)) -> (forall jt_divisor_primmodsource. (exists jt_factor_primmodsourcemodulus. (n)=(jt_divisor_primmodsource)*jt_factor_primmodsourcemodulus) -> (forall jt_index_primmodsourcecoordinates jt_value_primmodsourcecoordinates. (exists jt_gap_primmodsourcecoordinatesindex. jt_gap_primmodsourcecoordinatesindex+S (jt_index_primmodsourcecoordinates)=(k)) -> (((exists fs_h_jt_primmodsourcecoordinatesat. fs_h_jt_primmodsourcecoordinatesat + S (jt_value_primmodsourcecoordinates) = S ((S (jt_index_primmodsourcecoordinates)) * c)) /\ exists fs_q_jt_primmodsourcecoordinatesat. b = fs_q_jt_primmodsourcecoordinatesat * S ((S (jt_index_primmodsourcecoordinates)) * c) + (jt_value_primmodsourcecoordinates))) -> (exists jt_factor_primmodsourcecoordinatesdivides. (jt_value_primmodsourcecoordinates)=(jt_divisor_primmodsource)*jt_factor_primmodsourcecoordinatesdivides)) -> jt_divisor_primmodsource=1) -> (forall jt_divisor_primmodtarget. (exists jt_factor_primmodtargetmodulus. (n)=(jt_divisor_primmodtarget)*jt_factor_primmodtargetmodulus) -> (forall jt_index_primmodtargetcoordinates jt_value_primmodtargetcoordinates. (exists jt_gap_primmodtargetcoordinatesindex. jt_gap_primmodtargetcoordinatesindex+S (jt_index_primmodtargetcoordinates)=(k)) -> (((exists fs_h_jt_primmodtargetcoordinatesat. fs_h_jt_primmodtargetcoordinatesat + S (jt_value_primmodtargetcoordinates) = S ((S (jt_index_primmodtargetcoordinates)) * e)) /\ exists fs_q_jt_primmodtargetcoordinatesat. d = fs_q_jt_primmodtargetcoordinatesat * S ((S (jt_index_primmodtargetcoordinates)) * e) + (jt_value_primmodtargetcoordinates))) -> (exists jt_factor_primmodtargetcoordinatesdivides. (jt_value_primmodtargetcoordinates)=(jt_divisor_primmodtarget)*jt_factor_primmodtargetcoordinatesdivides)) -> jt_divisor_primmodtarget=1)Constructive proof overview
Generated structural guide
Primitivity is invariant under actual coordinatewise residue transport, not field evaluation.
The unchanged tactic script uses 3 declared prerequisites and contains 46 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_exists Alpha theorem; checked-use authorized JT000D jordan_divisibility_congruence_transport mod_eq_symm 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hall
03Use earlier factsL12–14
04Fix variables and assumptionsL15–18
05Establish hzL19–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L19
have hz : exists z. ((exists fs_h_jt_primmodactual. fs_h_jt_primmodactual + S (z) = S ((S (i)) * e)) /\ exists fs_q_jt_primmodactual. d = fs_q_jt_primmodactual * S ((S (i)) * e) + (z)) - L20
specialize beta_at_exists (d) - L21
specialize beta_at_exists (e) - L22
specialize beta_at_exists (i) - L23
apply beta_at_exists
06Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hz
07Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize jordan_divisibility_congruence_transport (n) - L26
specialize jordan_divisibility_congruence_transport (q) - L27
specialize jordan_divisibility_congruence_transport (x) - L28
specialize jordan_divisibility_congruence_transport (a) - L29
apply jordan_divisibility_congruence_transport - L30
exact hqn - L31
specialize hall (i) - L32
specialize hall (x) - L33
apply hall - L34
exact hi
08Use earlier factsL35–44
Original exact command ledger · 46 lines
- 0001
intro n - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro e - 0006
intro k - 0007
intro hm - 0008
intro hp - 0009
intro q - 0010
intro hqn - 0011
intro hall - 0012
specialize hp (q) - 0013
apply hp - 0014
exact hqn - 0015
intro i - 0016
intro a - 0017
intro hi - 0018
intro ha - 0019
have hz : exists z. ((exists fs_h_jt_primmodactual. fs_h_jt_primmodactual + S (z) = S ((S (i)) * e)) /\ exists fs_q_jt_primmodactual. d = fs_q_jt_primmodactual * S ((S (i)) * e) + (z)) - 0020
specialize beta_at_exists (d) - 0021
specialize beta_at_exists (e) - 0022
specialize beta_at_exists (i) - 0023
apply beta_at_exists - 0024
cases hz - 0025
specialize jordan_divisibility_congruence_transport (n) - 0026
specialize jordan_divisibility_congruence_transport (q) - 0027
specialize jordan_divisibility_congruence_transport (x) - 0028
specialize jordan_divisibility_congruence_transport (a) - 0029
apply jordan_divisibility_congruence_transport - 0030
exact hqn - 0031
specialize hall (i) - 0032
specialize hall (x) - 0033
apply hall - 0034
exact hi - 0035
exact hz_witness - 0036
specialize mod_eq_symm (n) - 0037
specialize mod_eq_symm (a) - 0038
specialize mod_eq_symm (x) - 0039
apply mod_eq_symm - 0040
specialize hm (i) - 0041
specialize hm (a) - 0042
specialize hm (x) - 0043
apply hm - 0044
exact hi - 0045
exact ha - 0046
exact hz_witness