Exact expanded first-order arithmetic statement
forall m n b c d e f g k. (forall jt_index_crtleft. (exists jt_gap_crtleftindex. jt_gap_crtleftindex+S (jt_index_crtleft)=(k)) -> exists jt_left_crtleft jt_right_crtleft jt_output_crtleft. ((((exists fs_h_jt_crtleftleft. fs_h_jt_crtleftleft + S (jt_left_crtleft) = S ((S (jt_index_crtleft)) * c)) /\ exists fs_q_jt_crtleftleft. b = fs_q_jt_crtleftleft * S ((S (jt_index_crtleft)) * c) + (jt_left_crtleft))) /\ (((((exists fs_h_jt_crtleftright. fs_h_jt_crtleftright + S (jt_right_crtleft) = S ((S (jt_index_crtleft)) * e)) /\ exists fs_q_jt_crtleftright. d = fs_q_jt_crtleftright * S ((S (jt_index_crtleft)) * e) + (jt_right_crtleft))) /\ (((((exists fs_h_jt_crtleftoutput. fs_h_jt_crtleftoutput + S (jt_output_crtleft) = S ((S (jt_index_crtleft)) * g)) /\ exists fs_q_jt_crtleftoutput. f = fs_q_jt_crtleftoutput * S ((S (jt_index_crtleft)) * g) + (jt_output_crtleft))) /\ (((exists jt_left_crtleftmodleft jt_right_crtleftmodleft. (jt_output_crtleft)+(m)*jt_left_crtleftmodleft=(jt_left_crtleft)+(m)*jt_right_crtleftmodleft) /\ (exists jt_left_crtleftmodright jt_right_crtleftmodright. (jt_output_crtleft)+(n)*jt_left_crtleftmodright=(jt_right_crtleft)+(n)*jt_right_crtleftmodright))))))))) -> (forall jt_index_crtprojectionleft jt_left_crtprojectionleft jt_right_crtprojectionleft. (exists jt_gap_crtprojectionleftindex. jt_gap_crtprojectionleftindex+S (jt_index_crtprojectionleft)=(k)) -> (((exists fs_h_jt_crtprojectionleftleft. fs_h_jt_crtprojectionleftleft + S (jt_left_crtprojectionleft) = S ((S (jt_index_crtprojectionleft)) * g)) /\ exists fs_q_jt_crtprojectionleftleft. f = fs_q_jt_crtprojectionleftleft * S ((S (jt_index_crtprojectionleft)) * g) + (jt_left_crtprojectionleft))) -> (((exists fs_h_jt_crtprojectionleftright. fs_h_jt_crtprojectionleftright + S (jt_right_crtprojectionleft) = S ((S (jt_index_crtprojectionleft)) * c)) /\ exists fs_q_jt_crtprojectionleftright. b = fs_q_jt_crtprojectionleftright * S ((S (jt_index_crtprojectionleft)) * c) + (jt_right_crtprojectionleft))) -> (exists jt_left_crtprojectionleftmod jt_right_crtprojectionleftmod. (jt_left_crtprojectionleft)+(m)*jt_left_crtprojectionleftmod=(jt_right_crtprojectionleft)+(m)*jt_right_crtprojectionleftmod))Constructive proof overview
Generated structural guide
Every actual output coordinate has the required left 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 : x=a - L38
specialize beta_at_unique (b) - L39
specialize beta_at_unique (c) - L40
specialize beta_at_unique (i) - L41
specialize beta_at_unique (x) - L42
specialize beta_at_unique (a) - L43
apply beta_at_unique - L44
exact ht_witness_witness_witness_left - L45
exact ha - L46
rewrite hout at ht_witness_witness_witness_right_right_right_left
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_left
08Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
exact ht_witness_witness_witness_right_right_right_left
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 : x=a - 0038
specialize beta_at_unique (b) - 0039
specialize beta_at_unique (c) - 0040
specialize beta_at_unique (i) - 0041
specialize beta_at_unique (x) - 0042
specialize beta_at_unique (a) - 0043
apply beta_at_unique - 0044
exact ht_witness_witness_witness_left - 0045
exact ha - 0046
rewrite hout at ht_witness_witness_witness_right_right_right_left - 0047
rewrite hin at ht_witness_witness_witness_right_right_right_left - 0048
exact ht_witness_witness_witness_right_right_right_left