Exact expanded first-order arithmetic statement
forall m n b c d e f g k. (forall jt_index_crtright. (exists jt_gap_crtrightindex. jt_gap_crtrightindex+S (jt_index_crtright)=(k)) -> exists jt_left_crtright jt_right_crtright jt_output_crtright. ((((exists fs_h_jt_crtrightleft. fs_h_jt_crtrightleft + S (jt_left_crtright) = S ((S (jt_index_crtright)) * c)) /\ exists fs_q_jt_crtrightleft. b = fs_q_jt_crtrightleft * S ((S (jt_index_crtright)) * c) + (jt_left_crtright))) /\ (((((exists fs_h_jt_crtrightright. fs_h_jt_crtrightright + S (jt_right_crtright) = S ((S (jt_index_crtright)) * e)) /\ exists fs_q_jt_crtrightright. d = fs_q_jt_crtrightright * S ((S (jt_index_crtright)) * e) + (jt_right_crtright))) /\ (((((exists fs_h_jt_crtrightoutput. fs_h_jt_crtrightoutput + S (jt_output_crtright) = S ((S (jt_index_crtright)) * g)) /\ exists fs_q_jt_crtrightoutput. f = fs_q_jt_crtrightoutput * S ((S (jt_index_crtright)) * g) + (jt_output_crtright))) /\ (((exists jt_left_crtrightmodleft jt_right_crtrightmodleft. (jt_output_crtright)+(m)*jt_left_crtrightmodleft=(jt_left_crtright)+(m)*jt_right_crtrightmodleft) /\ (exists jt_left_crtrightmodright jt_right_crtrightmodright. (jt_output_crtright)+(n)*jt_left_crtrightmodright=(jt_right_crtright)+(n)*jt_right_crtrightmodright))))))))) -> (forall jt_index_crtprojectionright jt_left_crtprojectionright jt_right_crtprojectionright. (exists jt_gap_crtprojectionrightindex. jt_gap_crtprojectionrightindex+S (jt_index_crtprojectionright)=(k)) -> (((exists fs_h_jt_crtprojectionrightleft. fs_h_jt_crtprojectionrightleft + S (jt_left_crtprojectionright) = S ((S (jt_index_crtprojectionright)) * g)) /\ exists fs_q_jt_crtprojectionrightleft. f = fs_q_jt_crtprojectionrightleft * S ((S (jt_index_crtprojectionright)) * g) + (jt_left_crtprojectionright))) -> (((exists fs_h_jt_crtprojectionrightright. fs_h_jt_crtprojectionrightright + S (jt_right_crtprojectionright) = S ((S (jt_index_crtprojectionright)) * e)) /\ exists fs_q_jt_crtprojectionrightright. d = fs_q_jt_crtprojectionrightright * S ((S (jt_index_crtprojectionright)) * e) + (jt_right_crtprojectionright))) -> (exists jt_left_crtprojectionrightmod jt_right_crtprojectionrightmod. (jt_left_crtprojectionright)+(n)*jt_left_crtprojectionrightmod=(jt_right_crtprojectionright)+(n)*jt_right_crtprojectionrightmod))Constructive proof overview
Generated structural guide
Every actual output coordinate has the required right congruence.
The unchanged tactic script uses 1 declared prerequisite and contains 48 exact native proof lines.
Alpha v35 checked-use · first admitted v35 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_unique 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 htL17–20
04Separate the logical casesL21–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
05Establish houtL28–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Establish hinL37–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L37
have hin : x1=a - L38
specialize beta_at_unique (d) - L39
specialize beta_at_unique (e) - L40
specialize beta_at_unique (i) - L41
specialize beta_at_unique (x1) - L42
specialize beta_at_unique (a) - L43
apply beta_at_unique - L44
exact ht_witness_witness_witness_right_left - L45
exact ha - L46
rewrite hout at ht_witness_witness_witness_right_right_right_right
07Calculate and transport equalitiesL47–47
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L47
rewrite hin at ht_witness_witness_witness_right_right_right_right
08Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
exact ht_witness_witness_witness_right_right_right_right
Original exact command ledger · 48 lines
- 0001
intro m - 0002
intro n - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro f - 0008
intro g - 0009
intro k - 0010
intro h - 0011
intro i - 0012
intro w - 0013
intro a - 0014
intro hi - 0015
intro hw - 0016
intro ha - 0017
have ht : exists u v q. ((((exists fs_h_jt_crtpointleft. fs_h_jt_crtpointleft + S (u) = S ((S (i)) * c)) /\ exists fs_q_jt_crtpointleft. b = fs_q_jt_crtpointleft * S ((S (i)) * c) + (u))) /\ (((((exists fs_h_jt_crtpointright. fs_h_jt_crtpointright + S (v) = S ((S (i)) * e)) /\ exists fs_q_jt_crtpointright. d = fs_q_jt_crtpointright * S ((S (i)) * e) + (v))) /\ (((((exists fs_h_jt_crtpointoutput. fs_h_jt_crtpointoutput + S (q) = S ((S (i)) * g)) /\ exists fs_q_jt_crtpointoutput. f = fs_q_jt_crtpointoutput * S ((S (i)) * g) + (q))) /\ (((exists jt_left_crtpointmodleft jt_right_crtpointmodleft. (q)+(m)*jt_left_crtpointmodleft=(u)+(m)*jt_right_crtpointmodleft) /\ (exists jt_left_crtpointmodright jt_right_crtpointmodright. (q)+(n)*jt_left_crtpointmodright=(v)+(n)*jt_right_crtpointmodright)))))))) - 0018
specialize h (i) - 0019
apply h - 0020
exact hi - 0021
cases ht - 0022
cases ht_witness - 0023
cases ht_witness_witness - 0024
cases ht_witness_witness_witness - 0025
cases ht_witness_witness_witness_right - 0026
cases ht_witness_witness_witness_right_right - 0027
cases ht_witness_witness_witness_right_right_right - 0028
have hout : x2=w - 0029
specialize beta_at_unique (f) - 0030
specialize beta_at_unique (g) - 0031
specialize beta_at_unique (i) - 0032
specialize beta_at_unique (x2) - 0033
specialize beta_at_unique (w) - 0034
apply beta_at_unique - 0035
exact ht_witness_witness_witness_right_right_left - 0036
exact hw - 0037
have hin : x1=a - 0038
specialize beta_at_unique (d) - 0039
specialize beta_at_unique (e) - 0040
specialize beta_at_unique (i) - 0041
specialize beta_at_unique (x1) - 0042
specialize beta_at_unique (a) - 0043
apply beta_at_unique - 0044
exact ht_witness_witness_witness_right_left - 0045
exact ha - 0046
rewrite hout at ht_witness_witness_witness_right_right_right_right - 0047
rewrite hin at ht_witness_witness_witness_right_right_right_right - 0048
exact ht_witness_witness_witness_right_right_right_right