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 bb bc eb ec fb fc l p n P N. (forall ics_index_sum_pointwise ics_value0_sum_pointwise ics_value1_sum_pointwise ics_value2_sum_pointwise ics_value3_sum_pointwise. (exists ics_gap_sum_pointwise_bound. ics_gap_sum_pointwise_bound + S (ics_index_sum_pointwise) = (l)) -> (((exists fs_h_ics_sum_pointwise_at0. fs_h_ics_sum_pointwise_at0 + S (ics_value0_sum_pointwise) = S ((S (ics_index_sum_pointwise)) * ac)) /\ exists fs_q_ics_sum_pointwise_at0. ab = fs_q_ics_sum_pointwise_at0 * S ((S (ics_index_sum_pointwise)) * ac) + (ics_value0_sum_pointwise))) -> (((exists fs_h_ics_sum_pointwise_at1. fs_h_ics_sum_pointwise_at1 + S (ics_value1_sum_pointwise) = S ((S (ics_index_sum_pointwise)) * bc)) /\ exists fs_q_ics_sum_pointwise_at1. bb = fs_q_ics_sum_pointwise_at1 * S ((S (ics_index_sum_pointwise)) * bc) + (ics_value1_sum_pointwise))) -> (((exists fs_h_ics_sum_pointwise_at2. fs_h_ics_sum_pointwise_at2 + S (ics_value2_sum_pointwise) = S ((S (ics_index_sum_pointwise)) * ec)) /\ exists fs_q_ics_sum_pointwise_at2. eb = fs_q_ics_sum_pointwise_at2 * S ((S (ics_index_sum_pointwise)) * ec) + (ics_value2_sum_pointwise))) -> (((exists fs_h_ics_sum_pointwise_at3. fs_h_ics_sum_pointwise_at3 + S (ics_value3_sum_pointwise) = S ((S (ics_index_sum_pointwise)) * fc)) /\ exists fs_q_ics_sum_pointwise_at3. fb = fs_q_ics_sum_pointwise_at3 * S ((S (ics_index_sum_pointwise)) * fc) + (ics_value3_sum_pointwise))) -> ics_value0_sum_pointwise + ics_value3_sum_pointwise = ics_value2_sum_pointwise + ics_value1_sum_pointwise) -> (exists ff_u_mce_integer_sum_ap ff_v_mce_integer_sum_ap. ((((exists ff_h_mce_integer_sum_ap_start. ff_h_mce_integer_sum_ap_start + S (0) = S ((S (0)) * ff_v_mce_integer_sum_ap)) /\ exists ff_q_mce_integer_sum_ap_start. ff_u_mce_integer_sum_ap = ff_q_mce_integer_sum_ap_start * S ((S (0)) * ff_v_mce_integer_sum_ap) + (0))) /\ ((((exists ff_h_mce_integer_sum_ap_terminal. ff_h_mce_integer_sum_ap_terminal + S (p) = S ((S (l)) * ff_v_mce_integer_sum_ap)) /\ exists ff_q_mce_integer_sum_ap_terminal. ff_u_mce_integer_sum_ap = ff_q_mce_integer_sum_ap_terminal * S ((S (l)) * ff_v_mce_integer_sum_ap) + (p))) /\ forall ff_i_mce_integer_sum_ap. (exists ff_lt_mce_integer_sum_ap_bound. ff_lt_mce_integer_sum_ap_bound + S ff_i_mce_integer_sum_ap = l) -> exists ff_a_mce_integer_sum_ap ff_r_mce_integer_sum_ap ff_s_mce_integer_sum_ap. ((((exists ff_h_mce_integer_sum_ap_summand. ff_h_mce_integer_sum_ap_summand + S (ff_a_mce_integer_sum_ap) = S ((S (ff_i_mce_integer_sum_ap)) * ac)) /\ exists ff_q_mce_integer_sum_ap_summand. ab = ff_q_mce_integer_sum_ap_summand * S ((S (ff_i_mce_integer_sum_ap)) * ac) + (ff_a_mce_integer_sum_ap))) /\ ((((exists ff_h_mce_integer_sum_ap_partial. ff_h_mce_integer_sum_ap_partial + S (ff_r_mce_integer_sum_ap) = S ((S (ff_i_mce_integer_sum_ap)) * ff_v_mce_integer_sum_ap)) /\ exists ff_q_mce_integer_sum_ap_partial. ff_u_mce_integer_sum_ap = ff_q_mce_integer_sum_ap_partial * S ((S (ff_i_mce_integer_sum_ap)) * ff_v_mce_integer_sum_ap) + (ff_r_mce_integer_sum_ap))) /\ ((((exists ff_h_mce_integer_sum_ap_successor. ff_h_mce_integer_sum_ap_successor + S (ff_s_mce_integer_sum_ap) = S ((S (S ff_i_mce_integer_sum_ap)) * ff_v_mce_integer_sum_ap)) /\ exists ff_q_mce_integer_sum_ap_successor. ff_u_mce_integer_sum_ap = ff_q_mce_integer_sum_ap_successor * S ((S (S ff_i_mce_integer_sum_ap)) * ff_v_mce_integer_sum_ap) + (ff_s_mce_integer_sum_ap))) /\ ff_s_mce_integer_sum_ap = ff_r_mce_integer_sum_ap + ff_a_mce_integer_sum_ap)))))) -> (exists ff_u_mce_integer_sum_an ff_v_mce_integer_sum_an. ((((exists ff_h_mce_integer_sum_an_start. ff_h_mce_integer_sum_an_start + S (0) = S ((S (0)) * ff_v_mce_integer_sum_an)) /\ exists ff_q_mce_integer_sum_an_start. ff_u_mce_integer_sum_an = ff_q_mce_integer_sum_an_start * S ((S (0)) * ff_v_mce_integer_sum_an) + (0))) /\ ((((exists ff_h_mce_integer_sum_an_terminal. ff_h_mce_integer_sum_an_terminal + S (n) = S ((S (l)) * ff_v_mce_integer_sum_an)) /\ exists ff_q_mce_integer_sum_an_terminal. ff_u_mce_integer_sum_an = ff_q_mce_integer_sum_an_terminal * S ((S (l)) * ff_v_mce_integer_sum_an) + (n))) /\ forall ff_i_mce_integer_sum_an. (exists ff_lt_mce_integer_sum_an_bound. ff_lt_mce_integer_sum_an_bound + S ff_i_mce_integer_sum_an = l) -> exists ff_a_mce_integer_sum_an ff_r_mce_integer_sum_an ff_s_mce_integer_sum_an. ((((exists ff_h_mce_integer_sum_an_summand. ff_h_mce_integer_sum_an_summand + S (ff_a_mce_integer_sum_an) = S ((S (ff_i_mce_integer_sum_an)) * bc)) /\ exists ff_q_mce_integer_sum_an_summand. bb = ff_q_mce_integer_sum_an_summand * S ((S (ff_i_mce_integer_sum_an)) * bc) + (ff_a_mce_integer_sum_an))) /\ ((((exists ff_h_mce_integer_sum_an_partial. ff_h_mce_integer_sum_an_partial + S (ff_r_mce_integer_sum_an) = S ((S (ff_i_mce_integer_sum_an)) * ff_v_mce_integer_sum_an)) /\ exists ff_q_mce_integer_sum_an_partial. ff_u_mce_integer_sum_an = ff_q_mce_integer_sum_an_partial * S ((S (ff_i_mce_integer_sum_an)) * ff_v_mce_integer_sum_an) + (ff_r_mce_integer_sum_an))) /\ ((((exists ff_h_mce_integer_sum_an_successor. ff_h_mce_integer_sum_an_successor + S (ff_s_mce_integer_sum_an) = S ((S (S ff_i_mce_integer_sum_an)) * ff_v_mce_integer_sum_an)) /\ exists ff_q_mce_integer_sum_an_successor. ff_u_mce_integer_sum_an = ff_q_mce_integer_sum_an_successor * S ((S (S ff_i_mce_integer_sum_an)) * ff_v_mce_integer_sum_an) + (ff_s_mce_integer_sum_an))) /\ ff_s_mce_integer_sum_an = ff_r_mce_integer_sum_an + ff_a_mce_integer_sum_an)))))) -> (exists ff_u_mce_integer_sum_bp ff_v_mce_integer_sum_bp. ((((exists ff_h_mce_integer_sum_bp_start. ff_h_mce_integer_sum_bp_start + S (0) = S ((S (0)) * ff_v_mce_integer_sum_bp)) /\ exists ff_q_mce_integer_sum_bp_start. ff_u_mce_integer_sum_bp = ff_q_mce_integer_sum_bp_start * S ((S (0)) * ff_v_mce_integer_sum_bp) + (0))) /\ ((((exists ff_h_mce_integer_sum_bp_terminal. ff_h_mce_integer_sum_bp_terminal + S (P) = S ((S (l)) * ff_v_mce_integer_sum_bp)) /\ exists ff_q_mce_integer_sum_bp_terminal. ff_u_mce_integer_sum_bp = ff_q_mce_integer_sum_bp_terminal * S ((S (l)) * ff_v_mce_integer_sum_bp) + (P))) /\ forall ff_i_mce_integer_sum_bp. (exists ff_lt_mce_integer_sum_bp_bound. ff_lt_mce_integer_sum_bp_bound + S ff_i_mce_integer_sum_bp = l) -> exists ff_a_mce_integer_sum_bp ff_r_mce_integer_sum_bp ff_s_mce_integer_sum_bp. ((((exists ff_h_mce_integer_sum_bp_summand. ff_h_mce_integer_sum_bp_summand + S (ff_a_mce_integer_sum_bp) = S ((S (ff_i_mce_integer_sum_bp)) * ec)) /\ exists ff_q_mce_integer_sum_bp_summand. eb = ff_q_mce_integer_sum_bp_summand * S ((S (ff_i_mce_integer_sum_bp)) * ec) + (ff_a_mce_integer_sum_bp))) /\ ((((exists ff_h_mce_integer_sum_bp_partial. ff_h_mce_integer_sum_bp_partial + S (ff_r_mce_integer_sum_bp) = S ((S (ff_i_mce_integer_sum_bp)) * ff_v_mce_integer_sum_bp)) /\ exists ff_q_mce_integer_sum_bp_partial. ff_u_mce_integer_sum_bp = ff_q_mce_integer_sum_bp_partial * S ((S (ff_i_mce_integer_sum_bp)) * ff_v_mce_integer_sum_bp) + (ff_r_mce_integer_sum_bp))) /\ ((((exists ff_h_mce_integer_sum_bp_successor. ff_h_mce_integer_sum_bp_successor + S (ff_s_mce_integer_sum_bp) = S ((S (S ff_i_mce_integer_sum_bp)) * ff_v_mce_integer_sum_bp)) /\ exists ff_q_mce_integer_sum_bp_successor. ff_u_mce_integer_sum_bp = ff_q_mce_integer_sum_bp_successor * S ((S (S ff_i_mce_integer_sum_bp)) * ff_v_mce_integer_sum_bp) + (ff_s_mce_integer_sum_bp))) /\ ff_s_mce_integer_sum_bp = ff_r_mce_integer_sum_bp + ff_a_mce_integer_sum_bp)))))) -> (exists ff_u_mce_integer_sum_bn ff_v_mce_integer_sum_bn. ((((exists ff_h_mce_integer_sum_bn_start. ff_h_mce_integer_sum_bn_start + S (0) = S ((S (0)) * ff_v_mce_integer_sum_bn)) /\ exists ff_q_mce_integer_sum_bn_start. ff_u_mce_integer_sum_bn = ff_q_mce_integer_sum_bn_start * S ((S (0)) * ff_v_mce_integer_sum_bn) + (0))) /\ ((((exists ff_h_mce_integer_sum_bn_terminal. ff_h_mce_integer_sum_bn_terminal + S (N) = S ((S (l)) * ff_v_mce_integer_sum_bn)) /\ exists ff_q_mce_integer_sum_bn_terminal. ff_u_mce_integer_sum_bn = ff_q_mce_integer_sum_bn_terminal * S ((S (l)) * ff_v_mce_integer_sum_bn) + (N))) /\ forall ff_i_mce_integer_sum_bn. (exists ff_lt_mce_integer_sum_bn_bound. ff_lt_mce_integer_sum_bn_bound + S ff_i_mce_integer_sum_bn = l) -> exists ff_a_mce_integer_sum_bn ff_r_mce_integer_sum_bn ff_s_mce_integer_sum_bn. ((((exists ff_h_mce_integer_sum_bn_summand. ff_h_mce_integer_sum_bn_summand + S (ff_a_mce_integer_sum_bn) = S ((S (ff_i_mce_integer_sum_bn)) * fc)) /\ exists ff_q_mce_integer_sum_bn_summand. fb = ff_q_mce_integer_sum_bn_summand * S ((S (ff_i_mce_integer_sum_bn)) * fc) + (ff_a_mce_integer_sum_bn))) /\ ((((exists ff_h_mce_integer_sum_bn_partial. ff_h_mce_integer_sum_bn_partial + S (ff_r_mce_integer_sum_bn) = S ((S (ff_i_mce_integer_sum_bn)) * ff_v_mce_integer_sum_bn)) /\ exists ff_q_mce_integer_sum_bn_partial. ff_u_mce_integer_sum_bn = ff_q_mce_integer_sum_bn_partial * S ((S (ff_i_mce_integer_sum_bn)) * ff_v_mce_integer_sum_bn) + (ff_r_mce_integer_sum_bn))) /\ ((((exists ff_h_mce_integer_sum_bn_successor. ff_h_mce_integer_sum_bn_successor + S (ff_s_mce_integer_sum_bn) = S ((S (S ff_i_mce_integer_sum_bn)) * ff_v_mce_integer_sum_bn)) /\ exists ff_q_mce_integer_sum_bn_successor. ff_u_mce_integer_sum_bn = ff_q_mce_integer_sum_bn_successor * S ((S (S ff_i_mce_integer_sum_bn)) * ff_v_mce_integer_sum_bn) + (ff_s_mce_integer_sum_bn))) /\ ff_s_mce_integer_sum_bn = ff_r_mce_integer_sum_bn + ff_a_mce_integer_sum_bn)))))) -> p + N = P + nConstructive proof overview
Generated structural guide
Arbitrary genuine finite signed sums preserve integer equality of their entries, via an actually constructed common cross-sum code and checked finite-sum additivity.
The unchanged tactic script uses 4 declared prerequisites and contains 109 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_pointwise_add_prefix_exists Alpha theorem; checked-use authorized beta_sum_exists Stable theorem; checked-use authorized beta_sum_pointwise_add Alpha theorem; checked-use authorized beta_at_exists 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.
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish haddL19–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise add prefix exists.
- L19
have hadd : ∃ b. ∃ c. MatrixPointwiseAdd(ab,ac,fb,fc,b,c,l)Definitions: MatrixPointwiseAdd - L20
specialize beta_pointwise_add_prefix_exists (ab) - L21
specialize beta_pointwise_add_prefix_exists (ac) - L22
specialize beta_pointwise_add_prefix_exists (fb) - L23
specialize beta_pointwise_add_prefix_exists (fc) - L24
specialize beta_pointwise_add_prefix_exists (l) - L25
apply beta_pointwise_add_prefix_exists
04Separate the logical casesL26–27
05Establish hsumL28–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta sum exists.
06Separate the logical casesL33–33
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L33
cases hsum
07Establish hfirstL34–43
Establish this local claim before using it. It is not an additional assumption.
- L34
have hfirst : p + N = x2 - L35
specialize beta_sum_pointwise_add (ab) - L36
specialize beta_sum_pointwise_add (ac) - L37
specialize beta_sum_pointwise_add (fb) - L38
specialize beta_sum_pointwise_add (fc) - L39
specialize beta_sum_pointwise_add (x) - L40
specialize beta_sum_pointwise_add (x1) - L41
specialize beta_sum_pointwise_add (l) - L42
specialize beta_sum_pointwise_add (p) - L43
specialize beta_sum_pointwise_add (N)
08Use earlier factsL44–49
09Establish hsecondL50–59
Establish this local claim before using it. It is not an additional assumption.
- L50
have hsecond : P + n = x2 - L51
specialize beta_sum_pointwise_add (eb) - L52
specialize beta_sum_pointwise_add (ec) - L53
specialize beta_sum_pointwise_add (bb) - L54
specialize beta_sum_pointwise_add (bc) - L55
specialize beta_sum_pointwise_add (x) - L56
specialize beta_sum_pointwise_add (x1) - L57
specialize beta_sum_pointwise_add (l) - L58
specialize beta_sum_pointwise_add (P) - L59
specialize beta_sum_pointwise_add (n)
10Use earlier factsL60–64
11Fix variables and assumptionsL65–72
12Establish hleftL73–77
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L73
have hleft : exists c. ((exists ff_h_mdr_integer_sum_left. ff_h_mdr_integer_sum_left + S (c) = S ((S (i)) * ac)) /\ exists ff_q_mdr_integer_sum_left. ab = ff_q_mdr_integer_sum_left * S ((S (i)) * ac) + (c)) - L74
specialize beta_at_exists (ab) - L75
specialize beta_at_exists (ac) - L76
specialize beta_at_exists (i) - L77
apply beta_at_exists
13Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases hleft
14Establish hrightL79–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L79
have hright : exists d. ((exists ff_h_mdr_integer_sum_right. ff_h_mdr_integer_sum_right + S (d) = S ((S (i)) * fc)) /\ exists ff_q_mdr_integer_sum_right. fb = ff_q_mdr_integer_sum_right * S ((S (i)) * fc) + (d)) - L80
specialize beta_at_exists (fb) - L81
specialize beta_at_exists (fc) - L82
specialize beta_at_exists (i) - L83
apply beta_at_exists
15Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hright
16Calculate and transport equalitiesL85–85
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L85
trans x3 + x4
17Use earlier factsL86–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Use earlier factsL96–105
19Calculate and transport equalitiesL106–106
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L106
trans x2
20Use earlier factsL107–107
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L107
exact hfirst
21Calculate and transport equalitiesL108–108
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L108
symm
22Use earlier factsL109–109
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L109
exact hsecond
Original exact command ledger · 109 lines
- 0001
intro ab - 0002
intro ac - 0003
intro bb - 0004
intro bc - 0005
intro eb - 0006
intro ec - 0007
intro fb - 0008
intro fc - 0009
intro l - 0010
intro p - 0011
intro n - 0012
intro P - 0013
intro N - 0014
intro hequal - 0015
intro hap - 0016
intro han - 0017
intro hbp - 0018
intro hbn - 0019
have hadd : exists b c. (forall ff_index_mcp_add_ics_integer_cross_code ff_left_mcp_add_ics_integer_cross_code ff_right_mcp_add_ics_integer_cross_code ff_target_mcp_add_ics_integer_cross_code. (exists mcp_gap_ics_integer_cross_code_bound. mcp_gap_ics_integer_cross_code_bound + S (ff_index_mcp_add_ics_integer_cross_code) = (l)) -> (((exists fs_h_mcp_ics_integer_cross_code_left. fs_h_mcp_ics_integer_cross_code_left + S (ff_left_mcp_add_ics_integer_cross_code) = S ((S (ff_index_mcp_add_ics_integer_cross_code)) * ac)) /\ exists fs_q_mcp_ics_integer_cross_code_left. ab = fs_q_mcp_ics_integer_cross_code_left * S ((S (ff_index_mcp_add_ics_integer_cross_code)) * ac) + (ff_left_mcp_add_ics_integer_cross_code))) -> (((exists fs_h_mcp_ics_integer_cross_code_right. fs_h_mcp_ics_integer_cross_code_right + S (ff_right_mcp_add_ics_integer_cross_code) = S ((S (ff_index_mcp_add_ics_integer_cross_code)) * fc)) /\ exists fs_q_mcp_ics_integer_cross_code_right. fb = fs_q_mcp_ics_integer_cross_code_right * S ((S (ff_index_mcp_add_ics_integer_cross_code)) * fc) + (ff_right_mcp_add_ics_integer_cross_code))) -> (((exists fs_h_mcp_ics_integer_cross_code_target. fs_h_mcp_ics_integer_cross_code_target + S (ff_target_mcp_add_ics_integer_cross_code) = S ((S (ff_index_mcp_add_ics_integer_cross_code)) * c)) /\ exists fs_q_mcp_ics_integer_cross_code_target. b = fs_q_mcp_ics_integer_cross_code_target * S ((S (ff_index_mcp_add_ics_integer_cross_code)) * c) + (ff_target_mcp_add_ics_integer_cross_code))) -> ff_target_mcp_add_ics_integer_cross_code = ff_left_mcp_add_ics_integer_cross_code + ff_right_mcp_add_ics_integer_cross_code) - 0020
specialize beta_pointwise_add_prefix_exists (ab) - 0021
specialize beta_pointwise_add_prefix_exists (ac) - 0022
specialize beta_pointwise_add_prefix_exists (fb) - 0023
specialize beta_pointwise_add_prefix_exists (fc) - 0024
specialize beta_pointwise_add_prefix_exists (l) - 0025
apply beta_pointwise_add_prefix_exists - 0026
cases hadd - 0027
cases hadd_witness - 0028
have hsum : exists s. (exists ff_u_mce_integer_cross_sum ff_v_mce_integer_cross_sum. ((((exists ff_h_mce_integer_cross_sum_start. ff_h_mce_integer_cross_sum_start + S (0) = S ((S (0)) * ff_v_mce_integer_cross_sum)) /\ exists ff_q_mce_integer_cross_sum_start. ff_u_mce_integer_cross_sum = ff_q_mce_integer_cross_sum_start * S ((S (0)) * ff_v_mce_integer_cross_sum) + (0))) /\ ((((exists ff_h_mce_integer_cross_sum_terminal. ff_h_mce_integer_cross_sum_terminal + S (s) = S ((S (l)) * ff_v_mce_integer_cross_sum)) /\ exists ff_q_mce_integer_cross_sum_terminal. ff_u_mce_integer_cross_sum = ff_q_mce_integer_cross_sum_terminal * S ((S (l)) * ff_v_mce_integer_cross_sum) + (s))) /\ forall ff_i_mce_integer_cross_sum. (exists ff_lt_mce_integer_cross_sum_bound. ff_lt_mce_integer_cross_sum_bound + S ff_i_mce_integer_cross_sum = l) -> exists ff_a_mce_integer_cross_sum ff_r_mce_integer_cross_sum ff_s_mce_integer_cross_sum. ((((exists ff_h_mce_integer_cross_sum_summand. ff_h_mce_integer_cross_sum_summand + S (ff_a_mce_integer_cross_sum) = S ((S (ff_i_mce_integer_cross_sum)) * x1)) /\ exists ff_q_mce_integer_cross_sum_summand. x = ff_q_mce_integer_cross_sum_summand * S ((S (ff_i_mce_integer_cross_sum)) * x1) + (ff_a_mce_integer_cross_sum))) /\ ((((exists ff_h_mce_integer_cross_sum_partial. ff_h_mce_integer_cross_sum_partial + S (ff_r_mce_integer_cross_sum) = S ((S (ff_i_mce_integer_cross_sum)) * ff_v_mce_integer_cross_sum)) /\ exists ff_q_mce_integer_cross_sum_partial. ff_u_mce_integer_cross_sum = ff_q_mce_integer_cross_sum_partial * S ((S (ff_i_mce_integer_cross_sum)) * ff_v_mce_integer_cross_sum) + (ff_r_mce_integer_cross_sum))) /\ ((((exists ff_h_mce_integer_cross_sum_successor. ff_h_mce_integer_cross_sum_successor + S (ff_s_mce_integer_cross_sum) = S ((S (S ff_i_mce_integer_cross_sum)) * ff_v_mce_integer_cross_sum)) /\ exists ff_q_mce_integer_cross_sum_successor. ff_u_mce_integer_cross_sum = ff_q_mce_integer_cross_sum_successor * S ((S (S ff_i_mce_integer_cross_sum)) * ff_v_mce_integer_cross_sum) + (ff_s_mce_integer_cross_sum))) /\ ff_s_mce_integer_cross_sum = ff_r_mce_integer_cross_sum + ff_a_mce_integer_cross_sum)))))) - 0029
specialize beta_sum_exists (x) - 0030
specialize beta_sum_exists (x1) - 0031
specialize beta_sum_exists (l) - 0032
apply beta_sum_exists - 0033
cases hsum - 0034
have hfirst : p + N = x2 - 0035
specialize beta_sum_pointwise_add (ab) - 0036
specialize beta_sum_pointwise_add (ac) - 0037
specialize beta_sum_pointwise_add (fb) - 0038
specialize beta_sum_pointwise_add (fc) - 0039
specialize beta_sum_pointwise_add (x) - 0040
specialize beta_sum_pointwise_add (x1) - 0041
specialize beta_sum_pointwise_add (l) - 0042
specialize beta_sum_pointwise_add (p) - 0043
specialize beta_sum_pointwise_add (N) - 0044
specialize beta_sum_pointwise_add (x2) - 0045
apply beta_sum_pointwise_add - 0046
exact hap - 0047
exact hbn - 0048
exact hsum_witness - 0049
exact hadd_witness_witness - 0050
have hsecond : P + n = x2 - 0051
specialize beta_sum_pointwise_add (eb) - 0052
specialize beta_sum_pointwise_add (ec) - 0053
specialize beta_sum_pointwise_add (bb) - 0054
specialize beta_sum_pointwise_add (bc) - 0055
specialize beta_sum_pointwise_add (x) - 0056
specialize beta_sum_pointwise_add (x1) - 0057
specialize beta_sum_pointwise_add (l) - 0058
specialize beta_sum_pointwise_add (P) - 0059
specialize beta_sum_pointwise_add (n) - 0060
specialize beta_sum_pointwise_add (x2) - 0061
apply beta_sum_pointwise_add - 0062
exact hbp - 0063
exact han - 0064
exact hsum_witness - 0065
intro i - 0066
intro a - 0067
intro b - 0068
intro t - 0069
intro hi - 0070
intro ha - 0071
intro hb - 0072
intro ht - 0073
have hleft : exists c. ((exists ff_h_mdr_integer_sum_left. ff_h_mdr_integer_sum_left + S (c) = S ((S (i)) * ac)) /\ exists ff_q_mdr_integer_sum_left. ab = ff_q_mdr_integer_sum_left * S ((S (i)) * ac) + (c)) - 0074
specialize beta_at_exists (ab) - 0075
specialize beta_at_exists (ac) - 0076
specialize beta_at_exists (i) - 0077
apply beta_at_exists - 0078
cases hleft - 0079
have hright : exists d. ((exists ff_h_mdr_integer_sum_right. ff_h_mdr_integer_sum_right + S (d) = S ((S (i)) * fc)) /\ exists ff_q_mdr_integer_sum_right. fb = ff_q_mdr_integer_sum_right * S ((S (i)) * fc) + (d)) - 0080
specialize beta_at_exists (fb) - 0081
specialize beta_at_exists (fc) - 0082
specialize beta_at_exists (i) - 0083
apply beta_at_exists - 0084
cases hright - 0085
trans x3 + x4 - 0086
specialize hadd_witness_witness (i) - 0087
specialize hadd_witness_witness (x3) - 0088
specialize hadd_witness_witness (x4) - 0089
specialize hadd_witness_witness (t) - 0090
apply hadd_witness_witness - 0091
exact hi - 0092
exact hleft_witness - 0093
exact hright_witness - 0094
exact ht - 0095
specialize hequal (i) - 0096
specialize hequal (x3) - 0097
specialize hequal (b) - 0098
specialize hequal (a) - 0099
specialize hequal (x4) - 0100
apply hequal - 0101
exact hi - 0102
exact hleft_witness - 0103
exact hb - 0104
exact ha - 0105
exact hright_witness - 0106
trans x2 - 0107
exact hfirst - 0108
symm - 0109
exact hsecond