Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
Exact expanded first-order arithmetic statement
forall ab ac db dc eb ec fb fc pb pc nb nc qb qc mb mc l. (forall ics_index_add_functional_first ics_value0_add_functional_first ics_value1_add_functional_first ics_value2_add_functional_first ics_value3_add_functional_first ics_value4_add_functional_first ics_value5_add_functional_first. (exists ics_gap_add_functional_first_bound. ics_gap_add_functional_first_bound + S (ics_index_add_functional_first) = (l)) -> (((exists fs_h_ics_add_functional_first_at0. fs_h_ics_add_functional_first_at0 + S (ics_value0_add_functional_first) = S ((S (ics_index_add_functional_first)) * ac)) /\ exists fs_q_ics_add_functional_first_at0. ab = fs_q_ics_add_functional_first_at0 * S ((S (ics_index_add_functional_first)) * ac) + (ics_value0_add_functional_first))) -> (((exists fs_h_ics_add_functional_first_at1. fs_h_ics_add_functional_first_at1 + S (ics_value1_add_functional_first) = S ((S (ics_index_add_functional_first)) * dc)) /\ exists fs_q_ics_add_functional_first_at1. db = fs_q_ics_add_functional_first_at1 * S ((S (ics_index_add_functional_first)) * dc) + (ics_value1_add_functional_first))) -> (((exists fs_h_ics_add_functional_first_at2. fs_h_ics_add_functional_first_at2 + S (ics_value2_add_functional_first) = S ((S (ics_index_add_functional_first)) * ec)) /\ exists fs_q_ics_add_functional_first_at2. eb = fs_q_ics_add_functional_first_at2 * S ((S (ics_index_add_functional_first)) * ec) + (ics_value2_add_functional_first))) -> (((exists fs_h_ics_add_functional_first_at3. fs_h_ics_add_functional_first_at3 + S (ics_value3_add_functional_first) = S ((S (ics_index_add_functional_first)) * fc)) /\ exists fs_q_ics_add_functional_first_at3. fb = fs_q_ics_add_functional_first_at3 * S ((S (ics_index_add_functional_first)) * fc) + (ics_value3_add_functional_first))) -> (((exists fs_h_ics_add_functional_first_at4. fs_h_ics_add_functional_first_at4 + S (ics_value4_add_functional_first) = S ((S (ics_index_add_functional_first)) * pc)) /\ exists fs_q_ics_add_functional_first_at4. pb = fs_q_ics_add_functional_first_at4 * S ((S (ics_index_add_functional_first)) * pc) + (ics_value4_add_functional_first))) -> (((exists fs_h_ics_add_functional_first_at5. fs_h_ics_add_functional_first_at5 + S (ics_value5_add_functional_first) = S ((S (ics_index_add_functional_first)) * nc)) /\ exists fs_q_ics_add_functional_first_at5. nb = fs_q_ics_add_functional_first_at5 * S ((S (ics_index_add_functional_first)) * nc) + (ics_value5_add_functional_first))) -> ics_value4_add_functional_first + (ics_value1_add_functional_first + ics_value3_add_functional_first) = (ics_value0_add_functional_first + ics_value2_add_functional_first) + ics_value5_add_functional_first) -> (forall ics_index_add_functional_second ics_value0_add_functional_second ics_value1_add_functional_second ics_value2_add_functional_second ics_value3_add_functional_second ics_value4_add_functional_second ics_value5_add_functional_second. (exists ics_gap_add_functional_second_bound. ics_gap_add_functional_second_bound + S (ics_index_add_functional_second) = (l)) -> (((exists fs_h_ics_add_functional_second_at0. fs_h_ics_add_functional_second_at0 + S (ics_value0_add_functional_second) = S ((S (ics_index_add_functional_second)) * ac)) /\ exists fs_q_ics_add_functional_second_at0. ab = fs_q_ics_add_functional_second_at0 * S ((S (ics_index_add_functional_second)) * ac) + (ics_value0_add_functional_second))) -> (((exists fs_h_ics_add_functional_second_at1. fs_h_ics_add_functional_second_at1 + S (ics_value1_add_functional_second) = S ((S (ics_index_add_functional_second)) * dc)) /\ exists fs_q_ics_add_functional_second_at1. db = fs_q_ics_add_functional_second_at1 * S ((S (ics_index_add_functional_second)) * dc) + (ics_value1_add_functional_second))) -> (((exists fs_h_ics_add_functional_second_at2. fs_h_ics_add_functional_second_at2 + S (ics_value2_add_functional_second) = S ((S (ics_index_add_functional_second)) * ec)) /\ exists fs_q_ics_add_functional_second_at2. eb = fs_q_ics_add_functional_second_at2 * S ((S (ics_index_add_functional_second)) * ec) + (ics_value2_add_functional_second))) -> (((exists fs_h_ics_add_functional_second_at3. fs_h_ics_add_functional_second_at3 + S (ics_value3_add_functional_second) = S ((S (ics_index_add_functional_second)) * fc)) /\ exists fs_q_ics_add_functional_second_at3. fb = fs_q_ics_add_functional_second_at3 * S ((S (ics_index_add_functional_second)) * fc) + (ics_value3_add_functional_second))) -> (((exists fs_h_ics_add_functional_second_at4. fs_h_ics_add_functional_second_at4 + S (ics_value4_add_functional_second) = S ((S (ics_index_add_functional_second)) * qc)) /\ exists fs_q_ics_add_functional_second_at4. qb = fs_q_ics_add_functional_second_at4 * S ((S (ics_index_add_functional_second)) * qc) + (ics_value4_add_functional_second))) -> (((exists fs_h_ics_add_functional_second_at5. fs_h_ics_add_functional_second_at5 + S (ics_value5_add_functional_second) = S ((S (ics_index_add_functional_second)) * mc)) /\ exists fs_q_ics_add_functional_second_at5. mb = fs_q_ics_add_functional_second_at5 * S ((S (ics_index_add_functional_second)) * mc) + (ics_value5_add_functional_second))) -> ics_value4_add_functional_second + (ics_value1_add_functional_second + ics_value3_add_functional_second) = (ics_value0_add_functional_second + ics_value2_add_functional_second) + ics_value5_add_functional_second) -> (forall ics_index_add_functional_result ics_value0_add_functional_result ics_value1_add_functional_result ics_value2_add_functional_result ics_value3_add_functional_result. (exists ics_gap_add_functional_result_bound. ics_gap_add_functional_result_bound + S (ics_index_add_functional_result) = (l)) -> (((exists fs_h_ics_add_functional_result_at0. fs_h_ics_add_functional_result_at0 + S (ics_value0_add_functional_result) = S ((S (ics_index_add_functional_result)) * pc)) /\ exists fs_q_ics_add_functional_result_at0. pb = fs_q_ics_add_functional_result_at0 * S ((S (ics_index_add_functional_result)) * pc) + (ics_value0_add_functional_result))) -> (((exists fs_h_ics_add_functional_result_at1. fs_h_ics_add_functional_result_at1 + S (ics_value1_add_functional_result) = S ((S (ics_index_add_functional_result)) * nc)) /\ exists fs_q_ics_add_functional_result_at1. nb = fs_q_ics_add_functional_result_at1 * S ((S (ics_index_add_functional_result)) * nc) + (ics_value1_add_functional_result))) -> (((exists fs_h_ics_add_functional_result_at2. fs_h_ics_add_functional_result_at2 + S (ics_value2_add_functional_result) = S ((S (ics_index_add_functional_result)) * qc)) /\ exists fs_q_ics_add_functional_result_at2. qb = fs_q_ics_add_functional_result_at2 * S ((S (ics_index_add_functional_result)) * qc) + (ics_value2_add_functional_result))) -> (((exists fs_h_ics_add_functional_result_at3. fs_h_ics_add_functional_result_at3 + S (ics_value3_add_functional_result) = S ((S (ics_index_add_functional_result)) * mc)) /\ exists fs_q_ics_add_functional_result_at3. mb = fs_q_ics_add_functional_result_at3 * S ((S (ics_index_add_functional_result)) * mc) + (ics_value3_add_functional_result))) -> ics_value0_add_functional_result + ics_value3_add_functional_result = ics_value2_add_functional_result + ics_value1_add_functional_result)Constructive proof overview
Generated structural guide
Two actual sums of the same signed vectors are equal as integer vectors, without claiming equality of their beta codes or separate components.
The unchanged tactic script uses 3 declared prerequisites and contains 93 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_exists Stable theorem; checked-use authorized DL006C integer_span_pair_equal_transitive eq_symm Stable 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Fix variables and assumptionsL21–29
04Establish hinput0L30–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L30
have hinput0 : exists value. (((exists fs_h_ics_add_functional_input0. fs_h_ics_add_functional_input0 + S (value) = S ((S (i)) * ac)) /\ exists fs_q_ics_add_functional_input0. ab = fs_q_ics_add_functional_input0 * S ((S (i)) * ac) + (value))) - L31
specialize beta_at_exists (ab) - L32
specialize beta_at_exists (ac) - L33
specialize beta_at_exists (i) - L34
apply beta_at_exists
05Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hinput0
06Establish hinput1L36–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L36
have hinput1 : exists value. (((exists fs_h_ics_add_functional_input1. fs_h_ics_add_functional_input1 + S (value) = S ((S (i)) * dc)) /\ exists fs_q_ics_add_functional_input1. db = fs_q_ics_add_functional_input1 * S ((S (i)) * dc) + (value))) - L37
specialize beta_at_exists (db) - L38
specialize beta_at_exists (dc) - L39
specialize beta_at_exists (i) - L40
apply beta_at_exists
07Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hinput1
08Establish hinput2L42–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L42
have hinput2 : exists value. (((exists fs_h_ics_add_functional_input2. fs_h_ics_add_functional_input2 + S (value) = S ((S (i)) * ec)) /\ exists fs_q_ics_add_functional_input2. eb = fs_q_ics_add_functional_input2 * S ((S (i)) * ec) + (value))) - L43
specialize beta_at_exists (eb) - L44
specialize beta_at_exists (ec) - L45
specialize beta_at_exists (i) - L46
apply beta_at_exists
09Separate the logical casesL47–47
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L47
cases hinput2
10Establish hinput3L48–52
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L48
have hinput3 : exists value. (((exists fs_h_ics_add_functional_input3. fs_h_ics_add_functional_input3 + S (value) = S ((S (i)) * fc)) /\ exists fs_q_ics_add_functional_input3. fb = fs_q_ics_add_functional_input3 * S ((S (i)) * fc) + (value))) - L49
specialize beta_at_exists (fb) - L50
specialize beta_at_exists (fc) - L51
specialize beta_at_exists (i) - L52
apply beta_at_exists
11Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
cases hinput3
12Use earlier factsL54–63
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize integer_span_pair_equal_transitive (a) - L55
specialize integer_span_pair_equal_transitive (b) - L56
specialize integer_span_pair_equal_transitive (x + x2) - L57
specialize integer_span_pair_equal_transitive (x1 + x3) - L58
specialize integer_span_pair_equal_transitive (c) - L59
specialize integer_span_pair_equal_transitive (d) - L60
apply integer_span_pair_equal_transitive - L61
specialize hfirst (i) - L62
specialize hfirst (x) - L63
specialize hfirst (x1)
13Use earlier factsL64–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
14Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
15Use earlier factsL84–93
Original exact command ledger · 93 lines
- 0001
intro ab - 0002
intro ac - 0003
intro db - 0004
intro dc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
intro pb - 0010
intro pc - 0011
intro nb - 0012
intro nc - 0013
intro qb - 0014
intro qc - 0015
intro mb - 0016
intro mc - 0017
intro l - 0018
intro hfirst - 0019
intro hsecond - 0020
intro i - 0021
intro a - 0022
intro b - 0023
intro c - 0024
intro d - 0025
intro hi - 0026
intro ha - 0027
intro hb - 0028
intro hc - 0029
intro hd - 0030
have hinput0 : exists value. (((exists fs_h_ics_add_functional_input0. fs_h_ics_add_functional_input0 + S (value) = S ((S (i)) * ac)) /\ exists fs_q_ics_add_functional_input0. ab = fs_q_ics_add_functional_input0 * S ((S (i)) * ac) + (value))) - 0031
specialize beta_at_exists (ab) - 0032
specialize beta_at_exists (ac) - 0033
specialize beta_at_exists (i) - 0034
apply beta_at_exists - 0035
cases hinput0 - 0036
have hinput1 : exists value. (((exists fs_h_ics_add_functional_input1. fs_h_ics_add_functional_input1 + S (value) = S ((S (i)) * dc)) /\ exists fs_q_ics_add_functional_input1. db = fs_q_ics_add_functional_input1 * S ((S (i)) * dc) + (value))) - 0037
specialize beta_at_exists (db) - 0038
specialize beta_at_exists (dc) - 0039
specialize beta_at_exists (i) - 0040
apply beta_at_exists - 0041
cases hinput1 - 0042
have hinput2 : exists value. (((exists fs_h_ics_add_functional_input2. fs_h_ics_add_functional_input2 + S (value) = S ((S (i)) * ec)) /\ exists fs_q_ics_add_functional_input2. eb = fs_q_ics_add_functional_input2 * S ((S (i)) * ec) + (value))) - 0043
specialize beta_at_exists (eb) - 0044
specialize beta_at_exists (ec) - 0045
specialize beta_at_exists (i) - 0046
apply beta_at_exists - 0047
cases hinput2 - 0048
have hinput3 : exists value. (((exists fs_h_ics_add_functional_input3. fs_h_ics_add_functional_input3 + S (value) = S ((S (i)) * fc)) /\ exists fs_q_ics_add_functional_input3. fb = fs_q_ics_add_functional_input3 * S ((S (i)) * fc) + (value))) - 0049
specialize beta_at_exists (fb) - 0050
specialize beta_at_exists (fc) - 0051
specialize beta_at_exists (i) - 0052
apply beta_at_exists - 0053
cases hinput3 - 0054
specialize integer_span_pair_equal_transitive (a) - 0055
specialize integer_span_pair_equal_transitive (b) - 0056
specialize integer_span_pair_equal_transitive (x + x2) - 0057
specialize integer_span_pair_equal_transitive (x1 + x3) - 0058
specialize integer_span_pair_equal_transitive (c) - 0059
specialize integer_span_pair_equal_transitive (d) - 0060
apply integer_span_pair_equal_transitive - 0061
specialize hfirst (i) - 0062
specialize hfirst (x) - 0063
specialize hfirst (x1) - 0064
specialize hfirst (x2) - 0065
specialize hfirst (x3) - 0066
specialize hfirst (a) - 0067
specialize hfirst (b) - 0068
apply hfirst - 0069
exact hi - 0070
exact hinput0_witness - 0071
exact hinput1_witness - 0072
exact hinput2_witness - 0073
exact hinput3_witness - 0074
exact ha - 0075
exact hb - 0076
specialize eq_symm (c + (x1 + x3)) - 0077
specialize eq_symm ((x + x2) + d) - 0078
apply eq_symm - 0079
specialize hsecond (i) - 0080
specialize hsecond (x) - 0081
specialize hsecond (x1) - 0082
specialize hsecond (x2) - 0083
specialize hsecond (x3) - 0084
specialize hsecond (c) - 0085
specialize hsecond (d) - 0086
apply hsecond - 0087
exact hi - 0088
exact hinput0_witness - 0089
exact hinput1_witness - 0090
exact hinput2_witness - 0091
exact hinput3_witness - 0092
exact hc - 0093
exact hd