Exact expanded first-order arithmetic statement
forall B C D E j b c. exists U V W X. ((forall jt_index_outercodes jt_left_outercodes jt_right_outercodes. (exists jt_gap_outercodesindex. jt_gap_outercodesindex+S (jt_index_outercodes)=(j)) -> (((exists fs_h_jt_outercodesleft. fs_h_jt_outercodesleft + S (jt_left_outercodes) = S ((S (jt_index_outercodes)) * C)) /\ exists fs_q_jt_outercodesleft. B = fs_q_jt_outercodesleft * S ((S (jt_index_outercodes)) * C) + (jt_left_outercodes))) -> (((exists fs_h_jt_outercodesright. fs_h_jt_outercodesright + S (jt_right_outercodes) = S ((S (jt_index_outercodes)) * V)) /\ exists fs_q_jt_outercodesright. U = fs_q_jt_outercodesright * S ((S (jt_index_outercodes)) * V) + (jt_right_outercodes))) -> jt_left_outercodes=jt_right_outercodes) /\ (((forall jt_index_outerscales jt_left_outerscales jt_right_outerscales. (exists jt_gap_outerscalesindex. jt_gap_outerscalesindex+S (jt_index_outerscales)=(j)) -> (((exists fs_h_jt_outerscalesleft. fs_h_jt_outerscalesleft + S (jt_left_outerscales) = S ((S (jt_index_outerscales)) * E)) /\ exists fs_q_jt_outerscalesleft. D = fs_q_jt_outerscalesleft * S ((S (jt_index_outerscales)) * E) + (jt_left_outerscales))) -> (((exists fs_h_jt_outerscalesright. fs_h_jt_outerscalesright + S (jt_right_outerscales) = S ((S (jt_index_outerscales)) * X)) /\ exists fs_q_jt_outerscalesright. W = fs_q_jt_outerscalesright * S ((S (jt_index_outerscales)) * X) + (jt_right_outerscales))) -> jt_left_outerscales=jt_right_outerscales) /\ (((((exists fs_h_jt_outerlastcode. fs_h_jt_outerlastcode + S (b) = S ((S (j)) * V)) /\ exists fs_q_jt_outerlastcode. U = fs_q_jt_outerlastcode * S ((S (j)) * V) + (b))) /\ (((exists fs_h_jt_outerlastscale. fs_h_jt_outerlastscale + S (c) = S ((S (j)) * X)) /\ exists fs_q_jt_outerlastscale. W = fs_q_jt_outerlastscale * S ((S (j)) * X) + (c))))))))Constructive proof overview
Generated structural guide
Construct both outer beta streams after an append; no list witness is assumed.
The unchanged tactic script uses 2 declared prerequisites 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_prefix_extend Alpha theorem; checked-use authorized JT001E jordan_tuple_prefix_equalDirect 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–7
02Establish hcL8–13
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
03Separate the logical casesL14–16
04Establish hsL17–22
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
05Separate the logical casesL23–25
06Construct an explicit witnessL26–29
07Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
split
08Use earlier factsL31–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
09Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
split
10Use earlier factsL39–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
11Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
split
Original exact command ledger · 48 lines
- 0001
intro B - 0002
intro C - 0003
intro D - 0004
intro E - 0005
intro j - 0006
intro b - 0007
intro c - 0008
have hc : exists u v. ((((exists fs_h_jt_appendcode. fs_h_jt_appendcode + S (b) = S ((S (j)) * v)) /\ exists fs_q_jt_appendcode. u = fs_q_jt_appendcode * S ((S (j)) * v) + (b))) /\ (forall jt_index_appendcodeprefix jt_value_appendcodeprefix. (exists jt_gap_appendcodeprefixindex. jt_gap_appendcodeprefixindex+S (jt_index_appendcodeprefix)=(j)) -> (((exists fs_h_jt_appendcodeprefixold. fs_h_jt_appendcodeprefixold + S (jt_value_appendcodeprefix) = S ((S (jt_index_appendcodeprefix)) * C)) /\ exists fs_q_jt_appendcodeprefixold. B = fs_q_jt_appendcodeprefixold * S ((S (jt_index_appendcodeprefix)) * C) + (jt_value_appendcodeprefix))) -> (((exists fs_h_jt_appendcodeprefixnew. fs_h_jt_appendcodeprefixnew + S (jt_value_appendcodeprefix) = S ((S (jt_index_appendcodeprefix)) * v)) /\ exists fs_q_jt_appendcodeprefixnew. u = fs_q_jt_appendcodeprefixnew * S ((S (jt_index_appendcodeprefix)) * v) + (jt_value_appendcodeprefix))))) - 0009
specialize beta_prefix_extend (j) - 0010
specialize beta_prefix_extend (B) - 0011
specialize beta_prefix_extend (C) - 0012
specialize beta_prefix_extend (b) - 0013
apply beta_prefix_extend - 0014
cases hc - 0015
cases hc_witness - 0016
cases hc_witness_witness - 0017
have hs : exists u v. ((((exists fs_h_jt_appendscale. fs_h_jt_appendscale + S (c) = S ((S (j)) * v)) /\ exists fs_q_jt_appendscale. u = fs_q_jt_appendscale * S ((S (j)) * v) + (c))) /\ (forall jt_index_appendscaleprefix jt_value_appendscaleprefix. (exists jt_gap_appendscaleprefixindex. jt_gap_appendscaleprefixindex+S (jt_index_appendscaleprefix)=(j)) -> (((exists fs_h_jt_appendscaleprefixold. fs_h_jt_appendscaleprefixold + S (jt_value_appendscaleprefix) = S ((S (jt_index_appendscaleprefix)) * E)) /\ exists fs_q_jt_appendscaleprefixold. D = fs_q_jt_appendscaleprefixold * S ((S (jt_index_appendscaleprefix)) * E) + (jt_value_appendscaleprefix))) -> (((exists fs_h_jt_appendscaleprefixnew. fs_h_jt_appendscaleprefixnew + S (jt_value_appendscaleprefix) = S ((S (jt_index_appendscaleprefix)) * v)) /\ exists fs_q_jt_appendscaleprefixnew. u = fs_q_jt_appendscaleprefixnew * S ((S (jt_index_appendscaleprefix)) * v) + (jt_value_appendscaleprefix))))) - 0018
specialize beta_prefix_extend (j) - 0019
specialize beta_prefix_extend (D) - 0020
specialize beta_prefix_extend (E) - 0021
specialize beta_prefix_extend (c) - 0022
apply beta_prefix_extend - 0023
cases hs - 0024
cases hs_witness - 0025
cases hs_witness_witness - 0026
exists x - 0027
exists x1 - 0028
exists x2 - 0029
exists x3 - 0030
split - 0031
specialize jordan_tuple_prefix_equal (B) - 0032
specialize jordan_tuple_prefix_equal (C) - 0033
specialize jordan_tuple_prefix_equal (x) - 0034
specialize jordan_tuple_prefix_equal (x1) - 0035
specialize jordan_tuple_prefix_equal (j) - 0036
apply jordan_tuple_prefix_equal - 0037
exact hc_witness_witness_right - 0038
split - 0039
specialize jordan_tuple_prefix_equal (D) - 0040
specialize jordan_tuple_prefix_equal (E) - 0041
specialize jordan_tuple_prefix_equal (x2) - 0042
specialize jordan_tuple_prefix_equal (x3) - 0043
specialize jordan_tuple_prefix_equal (j) - 0044
apply jordan_tuple_prefix_equal - 0045
exact hs_witness_witness_right - 0046
split - 0047
exact hc_witness_witness_left - 0048
exact hs_witness_witness_left