Exact expanded first-order arithmetic statement
forall m n b c d e f g k a z w. (forall jt_index_crtprefix. (exists jt_gap_crtprefixindex. jt_gap_crtprefixindex+S (jt_index_crtprefix)=(k)) -> exists jt_left_crtprefix jt_right_crtprefix jt_output_crtprefix. ((((exists fs_h_jt_crtprefixleft. fs_h_jt_crtprefixleft + S (jt_left_crtprefix) = S ((S (jt_index_crtprefix)) * c)) /\ exists fs_q_jt_crtprefixleft. b = fs_q_jt_crtprefixleft * S ((S (jt_index_crtprefix)) * c) + (jt_left_crtprefix))) /\ (((((exists fs_h_jt_crtprefixright. fs_h_jt_crtprefixright + S (jt_right_crtprefix) = S ((S (jt_index_crtprefix)) * e)) /\ exists fs_q_jt_crtprefixright. d = fs_q_jt_crtprefixright * S ((S (jt_index_crtprefix)) * e) + (jt_right_crtprefix))) /\ (((((exists fs_h_jt_crtprefixoutput. fs_h_jt_crtprefixoutput + S (jt_output_crtprefix) = S ((S (jt_index_crtprefix)) * g)) /\ exists fs_q_jt_crtprefixoutput. f = fs_q_jt_crtprefixoutput * S ((S (jt_index_crtprefix)) * g) + (jt_output_crtprefix))) /\ (((exists jt_left_crtprefixmodleft jt_right_crtprefixmodleft. (jt_output_crtprefix)+(m)*jt_left_crtprefixmodleft=(jt_left_crtprefix)+(m)*jt_right_crtprefixmodleft) /\ (exists jt_left_crtprefixmodright jt_right_crtprefixmodright. (jt_output_crtprefix)+(n)*jt_left_crtprefixmodright=(jt_right_crtprefix)+(n)*jt_right_crtprefixmodright))))))))) -> (((exists fs_h_jt_crtlastleft. fs_h_jt_crtlastleft + S (a) = S ((S (k)) * c)) /\ exists fs_q_jt_crtlastleft. b = fs_q_jt_crtlastleft * S ((S (k)) * c) + (a))) -> (((exists fs_h_jt_crtlastright. fs_h_jt_crtlastright + S (z) = S ((S (k)) * e)) /\ exists fs_q_jt_crtlastright. d = fs_q_jt_crtlastright * S ((S (k)) * e) + (z))) -> (exists jt_left_crtlastmodleft jt_right_crtlastmodleft. (w)+(m)*jt_left_crtlastmodleft=(a)+(m)*jt_right_crtlastmodleft) -> (exists jt_left_crtlastmodright jt_right_crtlastmodright. (w)+(n)*jt_left_crtlastmodright=(z)+(n)*jt_right_crtlastmodright) -> exists u v. forall jt_index_crtextended. (exists jt_gap_crtextendedindex. jt_gap_crtextendedindex+S (jt_index_crtextended)=(S k)) -> exists jt_left_crtextended jt_right_crtextended jt_output_crtextended. ((((exists fs_h_jt_crtextendedleft. fs_h_jt_crtextendedleft + S (jt_left_crtextended) = S ((S (jt_index_crtextended)) * c)) /\ exists fs_q_jt_crtextendedleft. b = fs_q_jt_crtextendedleft * S ((S (jt_index_crtextended)) * c) + (jt_left_crtextended))) /\ (((((exists fs_h_jt_crtextendedright. fs_h_jt_crtextendedright + S (jt_right_crtextended) = S ((S (jt_index_crtextended)) * e)) /\ exists fs_q_jt_crtextendedright. d = fs_q_jt_crtextendedright * S ((S (jt_index_crtextended)) * e) + (jt_right_crtextended))) /\ (((((exists fs_h_jt_crtextendedoutput. fs_h_jt_crtextendedoutput + S (jt_output_crtextended) = S ((S (jt_index_crtextended)) * v)) /\ exists fs_q_jt_crtextendedoutput. u = fs_q_jt_crtextendedoutput * S ((S (jt_index_crtextended)) * v) + (jt_output_crtextended))) /\ (((exists jt_left_crtextendedmodleft jt_right_crtextendedmodleft. (jt_output_crtextended)+(m)*jt_left_crtextendedmodleft=(jt_left_crtextended)+(m)*jt_right_crtextendedmodleft) /\ (exists jt_left_crtextendedmodright jt_right_crtextendedmodright. (jt_output_crtextended)+(n)*jt_left_crtextendedmodright=(jt_right_crtextended)+(n)*jt_right_crtextendedmodright))))))))Constructive proof overview
Generated structural guide
Append one genuine scalar CRT solution using an actual beta prefix extension.
The unchanged tactic script uses 2 declared prerequisites and contains 81 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 finite_lt_succ_eq_or_lt 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–17
03Establish hextL18–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
04Separate the logical casesL24–26
05Construct an explicit witnessL27–28
06Fix variables and assumptionsL29–30
07Establish hcL31–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
08Separate the logical casesL36–36
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L36
cases hc
09Construct an explicit witnessL37–39
10Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
split
11Calculate and transport equalitiesL41–42
12Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact ha
13Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
split
14Calculate and transport equalitiesL45–46
15Use earlier factsL47–47
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L47
exact hz
16Separate the logical casesL48–48
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L48
split
17Calculate and transport equalitiesL49–50
18Use earlier factsL51–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L51
exact hext_witness_witness_left
19Separate the logical casesL52–52
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L52
split
20Use earlier factsL53–54
21Establish hvalueL55–58
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprefix.
22Separate the logical casesL59–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
23Construct an explicit witnessL66–68
24Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
25Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hvalue_witness_witness_witness_left
26Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
27Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact hvalue_witness_witness_witness_right_left
28Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
29Use earlier factsL74–78
30Separate the logical casesL79–79
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L79
split
Original exact command ledger · 81 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 a - 0011
intro z - 0012
intro w - 0013
intro hprefix - 0014
intro ha - 0015
intro hz - 0016
intro hm - 0017
intro hn - 0018
have hext : exists u v. ((((exists fs_h_jt_crtextendlast. fs_h_jt_crtextendlast + S (w) = S ((S (k)) * v)) /\ exists fs_q_jt_crtextendlast. u = fs_q_jt_crtextendlast * S ((S (k)) * v) + (w))) /\ (forall jt_index_crtextendprefix jt_value_crtextendprefix. (exists jt_gap_crtextendprefixindex. jt_gap_crtextendprefixindex+S (jt_index_crtextendprefix)=(k)) -> (((exists fs_h_jt_crtextendprefixold. fs_h_jt_crtextendprefixold + S (jt_value_crtextendprefix) = S ((S (jt_index_crtextendprefix)) * g)) /\ exists fs_q_jt_crtextendprefixold. f = fs_q_jt_crtextendprefixold * S ((S (jt_index_crtextendprefix)) * g) + (jt_value_crtextendprefix))) -> (((exists fs_h_jt_crtextendprefixnew. fs_h_jt_crtextendprefixnew + S (jt_value_crtextendprefix) = S ((S (jt_index_crtextendprefix)) * v)) /\ exists fs_q_jt_crtextendprefixnew. u = fs_q_jt_crtextendprefixnew * S ((S (jt_index_crtextendprefix)) * v) + (jt_value_crtextendprefix))))) - 0019
specialize beta_prefix_extend (k) - 0020
specialize beta_prefix_extend (f) - 0021
specialize beta_prefix_extend (g) - 0022
specialize beta_prefix_extend (w) - 0023
apply beta_prefix_extend - 0024
cases hext - 0025
cases hext_witness - 0026
cases hext_witness_witness - 0027
exists x - 0028
exists x1 - 0029
intro i - 0030
intro hi - 0031
have hc : i=k \/ (exists jt_gap_crtextendcase. jt_gap_crtextendcase+S (i)=(k)) - 0032
specialize finite_lt_succ_eq_or_lt (k) - 0033
specialize finite_lt_succ_eq_or_lt (i) - 0034
apply finite_lt_succ_eq_or_lt - 0035
exact hi - 0036
cases hc - 0037
exists a - 0038
exists z - 0039
exists w - 0040
split - 0041
rewrite hc_left - 0042
rewrite hc_left - 0043
exact ha - 0044
split - 0045
rewrite hc_left - 0046
rewrite hc_left - 0047
exact hz - 0048
split - 0049
rewrite hc_left - 0050
rewrite hc_left - 0051
exact hext_witness_witness_left - 0052
split - 0053
exact hm - 0054
exact hn - 0055
have hvalue : exists a z w. ((((exists fs_h_jt_crtoldleft. fs_h_jt_crtoldleft + S (a) = S ((S (i)) * c)) /\ exists fs_q_jt_crtoldleft. b = fs_q_jt_crtoldleft * S ((S (i)) * c) + (a))) /\ (((((exists fs_h_jt_crtoldright. fs_h_jt_crtoldright + S (z) = S ((S (i)) * e)) /\ exists fs_q_jt_crtoldright. d = fs_q_jt_crtoldright * S ((S (i)) * e) + (z))) /\ (((((exists fs_h_jt_crtoldoutput. fs_h_jt_crtoldoutput + S (w) = S ((S (i)) * g)) /\ exists fs_q_jt_crtoldoutput. f = fs_q_jt_crtoldoutput * S ((S (i)) * g) + (w))) /\ (((exists jt_left_crtoldmodleft jt_right_crtoldmodleft. (w)+(m)*jt_left_crtoldmodleft=(a)+(m)*jt_right_crtoldmodleft) /\ (exists jt_left_crtoldmodright jt_right_crtoldmodright. (w)+(n)*jt_left_crtoldmodright=(z)+(n)*jt_right_crtoldmodright)))))))) - 0056
specialize hprefix (i) - 0057
apply hprefix - 0058
exact hc_right - 0059
cases hvalue - 0060
cases hvalue_witness - 0061
cases hvalue_witness_witness - 0062
cases hvalue_witness_witness_witness - 0063
cases hvalue_witness_witness_witness_right - 0064
cases hvalue_witness_witness_witness_right_right - 0065
cases hvalue_witness_witness_witness_right_right_right - 0066
exists x2 - 0067
exists x3 - 0068
exists x4 - 0069
split - 0070
exact hvalue_witness_witness_witness_left - 0071
split - 0072
exact hvalue_witness_witness_witness_right_left - 0073
split - 0074
specialize hext_witness_witness_right (i) - 0075
specialize hext_witness_witness_right (x4) - 0076
apply hext_witness_witness_right - 0077
exact hc_right - 0078
exact hvalue_witness_witness_witness_right_right_left - 0079
split - 0080
exact hvalue_witness_witness_witness_right_right_right_left - 0081
exact hvalue_witness_witness_witness_right_right_right_right