Exact expanded first-order arithmetic statement
forall n b c d e f g k. (forall jt_index_modtransfirst jt_left_modtransfirst jt_right_modtransfirst. (exists jt_gap_modtransfirstindex. jt_gap_modtransfirstindex+S (jt_index_modtransfirst)=(k)) -> (((exists fs_h_jt_modtransfirstleft. fs_h_jt_modtransfirstleft + S (jt_left_modtransfirst) = S ((S (jt_index_modtransfirst)) * c)) /\ exists fs_q_jt_modtransfirstleft. b = fs_q_jt_modtransfirstleft * S ((S (jt_index_modtransfirst)) * c) + (jt_left_modtransfirst))) -> (((exists fs_h_jt_modtransfirstright. fs_h_jt_modtransfirstright + S (jt_right_modtransfirst) = S ((S (jt_index_modtransfirst)) * e)) /\ exists fs_q_jt_modtransfirstright. d = fs_q_jt_modtransfirstright * S ((S (jt_index_modtransfirst)) * e) + (jt_right_modtransfirst))) -> (exists jt_left_modtransfirstmod jt_right_modtransfirstmod. (jt_left_modtransfirst)+(n)*jt_left_modtransfirstmod=(jt_right_modtransfirst)+(n)*jt_right_modtransfirstmod)) -> (forall jt_index_modtranssecond jt_left_modtranssecond jt_right_modtranssecond. (exists jt_gap_modtranssecondindex. jt_gap_modtranssecondindex+S (jt_index_modtranssecond)=(k)) -> (((exists fs_h_jt_modtranssecondleft. fs_h_jt_modtranssecondleft + S (jt_left_modtranssecond) = S ((S (jt_index_modtranssecond)) * e)) /\ exists fs_q_jt_modtranssecondleft. d = fs_q_jt_modtranssecondleft * S ((S (jt_index_modtranssecond)) * e) + (jt_left_modtranssecond))) -> (((exists fs_h_jt_modtranssecondright. fs_h_jt_modtranssecondright + S (jt_right_modtranssecond) = S ((S (jt_index_modtranssecond)) * g)) /\ exists fs_q_jt_modtranssecondright. f = fs_q_jt_modtranssecondright * S ((S (jt_index_modtranssecond)) * g) + (jt_right_modtranssecond))) -> (exists jt_left_modtranssecondmod jt_right_modtranssecondmod. (jt_left_modtranssecond)+(n)*jt_left_modtranssecondmod=(jt_right_modtranssecond)+(n)*jt_right_modtranssecondmod)) -> (forall jt_index_modtransresult jt_left_modtransresult jt_right_modtransresult. (exists jt_gap_modtransresultindex. jt_gap_modtransresultindex+S (jt_index_modtransresult)=(k)) -> (((exists fs_h_jt_modtransresultleft. fs_h_jt_modtransresultleft + S (jt_left_modtransresult) = S ((S (jt_index_modtransresult)) * c)) /\ exists fs_q_jt_modtransresultleft. b = fs_q_jt_modtransresultleft * S ((S (jt_index_modtransresult)) * c) + (jt_left_modtransresult))) -> (((exists fs_h_jt_modtransresultright. fs_h_jt_modtransresultright + S (jt_right_modtransresult) = S ((S (jt_index_modtransresult)) * g)) /\ exists fs_q_jt_modtransresultright. f = fs_q_jt_modtransresultright * S ((S (jt_index_modtransresult)) * g) + (jt_right_modtransresult))) -> (exists jt_left_modtransresultmod jt_right_modtransresultmod. (jt_left_modtransresult)+(n)*jt_left_modtransresultmod=(jt_right_modtransresult)+(n)*jt_right_modtransresultmod))Constructive proof overview
Generated structural guide
Actual decoded middle entries witness transitivity of coordinate congruence.
The unchanged tactic script uses 2 declared prerequisites and contains 41 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 mod_eq_trans 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–16
03Establish hxL17–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L17
have hx : exists x. ((exists fs_h_jt_modtransmiddle. fs_h_jt_modtransmiddle + S (x) = S ((S (i)) * e)) /\ exists fs_q_jt_modtransmiddle. d = fs_q_jt_modtransmiddle * S ((S (i)) * e) + (x)) - L18
specialize beta_at_exists (d) - L19
specialize beta_at_exists (e) - L20
specialize beta_at_exists (i) - L21
apply beta_at_exists
04Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hx
05Use earlier factsL23–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 41 lines
- 0001
intro n - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro e - 0006
intro f - 0007
intro g - 0008
intro k - 0009
intro hleft - 0010
intro hright - 0011
intro i - 0012
intro a - 0013
intro z - 0014
intro hi - 0015
intro ha - 0016
intro hz - 0017
have hx : exists x. ((exists fs_h_jt_modtransmiddle. fs_h_jt_modtransmiddle + S (x) = S ((S (i)) * e)) /\ exists fs_q_jt_modtransmiddle. d = fs_q_jt_modtransmiddle * S ((S (i)) * e) + (x)) - 0018
specialize beta_at_exists (d) - 0019
specialize beta_at_exists (e) - 0020
specialize beta_at_exists (i) - 0021
apply beta_at_exists - 0022
cases hx - 0023
specialize mod_eq_trans (n) - 0024
specialize mod_eq_trans (a) - 0025
specialize mod_eq_trans (x) - 0026
specialize mod_eq_trans (z) - 0027
apply mod_eq_trans - 0028
specialize hleft (i) - 0029
specialize hleft (a) - 0030
specialize hleft (x) - 0031
apply hleft - 0032
exact hi - 0033
exact ha - 0034
exact hx_witness - 0035
specialize hright (i) - 0036
specialize hright (x) - 0037
specialize hright (z) - 0038
apply hright - 0039
exact hi - 0040
exact hx_witness - 0041
exact hz