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 expanded first-order arithmetic statement
forall F l z. (forall sfs_index_zero_values sfs_value_zero_values. (exists pvs_le_gap_zero_valueslower. pvs_le_gap_zero_valueslower + (0) = (sfs_index_zero_values)) -> (exists pvs_gap_zero_valuesupper. pvs_gap_zero_valuesupper + S (sfs_index_zero_values) = (l)) -> (exists dst_positive_code_zero_valuesentry dst_positive_scale_zero_valuesentry dst_negative_code_zero_valuesentry dst_negative_scale_zero_valuesentry dst_positive_zero_valuesentry dst_negative_zero_valuesentry. (((F) = (((((dst_positive_code_zero_valuesentry) + (dst_positive_scale_zero_valuesentry)) * S ((dst_positive_code_zero_valuesentry) + (dst_positive_scale_zero_valuesentry)) + ((dst_positive_scale_zero_valuesentry) + (dst_positive_scale_zero_valuesentry))) + (((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) * S ((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) + ((dst_negative_scale_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)))) * S ((((dst_positive_code_zero_valuesentry) + (dst_positive_scale_zero_valuesentry)) * S ((dst_positive_code_zero_valuesentry) + (dst_positive_scale_zero_valuesentry)) + ((dst_positive_scale_zero_valuesentry) + (dst_positive_scale_zero_valuesentry))) + (((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) * S ((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) + ((dst_negative_scale_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)))) + ((((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) * S ((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) + ((dst_negative_scale_zero_valuesentry) + (dst_negative_scale_zero_valuesentry))) + (((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) * S ((dst_negative_code_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)) + ((dst_negative_scale_zero_valuesentry) + (dst_negative_scale_zero_valuesentry)))))) /\ (((((exists ff_h_pvs_zero_valuesentrypositive. ff_h_pvs_zero_valuesentrypositive + S (dst_positive_zero_valuesentry) = S ((S (sfs_index_zero_values)) * dst_positive_scale_zero_valuesentry)) /\ exists ff_q_pvs_zero_valuesentrypositive. dst_positive_code_zero_valuesentry = ff_q_pvs_zero_valuesentrypositive * S ((S (sfs_index_zero_values)) * dst_positive_scale_zero_valuesentry) + (dst_positive_zero_valuesentry))) /\ (((((exists ff_h_pvs_zero_valuesentrynegative. ff_h_pvs_zero_valuesentrynegative + S (dst_negative_zero_valuesentry) = S ((S (sfs_index_zero_values)) * dst_negative_scale_zero_valuesentry)) /\ exists ff_q_pvs_zero_valuesentrynegative. dst_negative_code_zero_valuesentry = ff_q_pvs_zero_valuesentrynegative * S ((S (sfs_index_zero_values)) * dst_negative_scale_zero_valuesentry) + (dst_negative_zero_valuesentry))) /\ (exists ge_balance_positive_zero_valuesentryvalue ge_balance_negative_zero_valuesentryvalue. (((((sfs_value_zero_values) = 2 * (ge_balance_positive_zero_valuesentryvalue) /\ (ge_balance_negative_zero_valuesentryvalue) = 0) \/ exists ge_signed_half_zero_valuesentryvaluedecode. (((sfs_value_zero_values) = 2 * ge_signed_half_zero_valuesentryvaluedecode + 1 /\ (ge_balance_positive_zero_valuesentryvalue) = 0) /\ (ge_balance_negative_zero_valuesentryvalue) = S ge_signed_half_zero_valuesentryvaluedecode))) /\ ((dst_positive_zero_valuesentry) + ge_balance_negative_zero_valuesentryvalue = (dst_negative_zero_valuesentry) + ge_balance_positive_zero_valuesentryvalue))))))))) -> sfs_value_zero_values=0) -> (exists dst_positive_code_zero_sum dst_positive_scale_zero_sum dst_negative_code_zero_sum dst_negative_scale_zero_sum dst_positive_sum_zero_sum dst_negative_sum_zero_sum. (((F) = (((((dst_positive_code_zero_sum) + (dst_positive_scale_zero_sum)) * S ((dst_positive_code_zero_sum) + (dst_positive_scale_zero_sum)) + ((dst_positive_scale_zero_sum) + (dst_positive_scale_zero_sum))) + (((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) * S ((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) + ((dst_negative_scale_zero_sum) + (dst_negative_scale_zero_sum)))) * S ((((dst_positive_code_zero_sum) + (dst_positive_scale_zero_sum)) * S ((dst_positive_code_zero_sum) + (dst_positive_scale_zero_sum)) + ((dst_positive_scale_zero_sum) + (dst_positive_scale_zero_sum))) + (((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) * S ((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) + ((dst_negative_scale_zero_sum) + (dst_negative_scale_zero_sum)))) + ((((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) * S ((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) + ((dst_negative_scale_zero_sum) + (dst_negative_scale_zero_sum))) + (((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) * S ((dst_negative_code_zero_sum) + (dst_negative_scale_zero_sum)) + ((dst_negative_scale_zero_sum) + (dst_negative_scale_zero_sum)))))) /\ (((exists fs_u_dst_zero_sumpositive fs_v_dst_zero_sumpositive. ((((exists fs_h_dst_zero_sumpositive_body_start. fs_h_dst_zero_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_zero_sumpositive)) /\ exists fs_q_dst_zero_sumpositive_body_start. fs_u_dst_zero_sumpositive = fs_q_dst_zero_sumpositive_body_start * S ((S (0)) * fs_v_dst_zero_sumpositive) + (0))) /\ ((((exists fs_h_dst_zero_sumpositive_body_terminal. fs_h_dst_zero_sumpositive_body_terminal + S (dst_positive_sum_zero_sum) = S ((S (l)) * fs_v_dst_zero_sumpositive)) /\ exists fs_q_dst_zero_sumpositive_body_terminal. fs_u_dst_zero_sumpositive = fs_q_dst_zero_sumpositive_body_terminal * S ((S (l)) * fs_v_dst_zero_sumpositive) + (dst_positive_sum_zero_sum))) /\ forall fs_i_dst_zero_sumpositive_body_steps. (exists fs_lt_dst_zero_sumpositive_body_steps_bound. fs_lt_dst_zero_sumpositive_body_steps_bound + S fs_i_dst_zero_sumpositive_body_steps = l) -> exists fs_a_dst_zero_sumpositive_body_steps fs_r_dst_zero_sumpositive_body_steps fs_s_dst_zero_sumpositive_body_steps. ((((exists fs_h_dst_zero_sumpositive_body_steps_summand. fs_h_dst_zero_sumpositive_body_steps_summand + S (fs_a_dst_zero_sumpositive_body_steps) = S ((S (fs_i_dst_zero_sumpositive_body_steps)) * dst_positive_scale_zero_sum)) /\ exists fs_q_dst_zero_sumpositive_body_steps_summand. dst_positive_code_zero_sum = fs_q_dst_zero_sumpositive_body_steps_summand * S ((S (fs_i_dst_zero_sumpositive_body_steps)) * dst_positive_scale_zero_sum) + (fs_a_dst_zero_sumpositive_body_steps))) /\ ((((exists fs_h_dst_zero_sumpositive_body_steps_partial. fs_h_dst_zero_sumpositive_body_steps_partial + S (fs_r_dst_zero_sumpositive_body_steps) = S ((S (fs_i_dst_zero_sumpositive_body_steps)) * fs_v_dst_zero_sumpositive)) /\ exists fs_q_dst_zero_sumpositive_body_steps_partial. fs_u_dst_zero_sumpositive = fs_q_dst_zero_sumpositive_body_steps_partial * S ((S (fs_i_dst_zero_sumpositive_body_steps)) * fs_v_dst_zero_sumpositive) + (fs_r_dst_zero_sumpositive_body_steps))) /\ ((((exists fs_h_dst_zero_sumpositive_body_steps_successor. fs_h_dst_zero_sumpositive_body_steps_successor + S (fs_s_dst_zero_sumpositive_body_steps) = S ((S (S fs_i_dst_zero_sumpositive_body_steps)) * fs_v_dst_zero_sumpositive)) /\ exists fs_q_dst_zero_sumpositive_body_steps_successor. fs_u_dst_zero_sumpositive = fs_q_dst_zero_sumpositive_body_steps_successor * S ((S (S fs_i_dst_zero_sumpositive_body_steps)) * fs_v_dst_zero_sumpositive) + (fs_s_dst_zero_sumpositive_body_steps))) /\ fs_s_dst_zero_sumpositive_body_steps = fs_r_dst_zero_sumpositive_body_steps + fs_a_dst_zero_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_zero_sumnegative fs_v_dst_zero_sumnegative. ((((exists fs_h_dst_zero_sumnegative_body_start. fs_h_dst_zero_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_zero_sumnegative)) /\ exists fs_q_dst_zero_sumnegative_body_start. fs_u_dst_zero_sumnegative = fs_q_dst_zero_sumnegative_body_start * S ((S (0)) * fs_v_dst_zero_sumnegative) + (0))) /\ ((((exists fs_h_dst_zero_sumnegative_body_terminal. fs_h_dst_zero_sumnegative_body_terminal + S (dst_negative_sum_zero_sum) = S ((S (l)) * fs_v_dst_zero_sumnegative)) /\ exists fs_q_dst_zero_sumnegative_body_terminal. fs_u_dst_zero_sumnegative = fs_q_dst_zero_sumnegative_body_terminal * S ((S (l)) * fs_v_dst_zero_sumnegative) + (dst_negative_sum_zero_sum))) /\ forall fs_i_dst_zero_sumnegative_body_steps. (exists fs_lt_dst_zero_sumnegative_body_steps_bound. fs_lt_dst_zero_sumnegative_body_steps_bound + S fs_i_dst_zero_sumnegative_body_steps = l) -> exists fs_a_dst_zero_sumnegative_body_steps fs_r_dst_zero_sumnegative_body_steps fs_s_dst_zero_sumnegative_body_steps. ((((exists fs_h_dst_zero_sumnegative_body_steps_summand. fs_h_dst_zero_sumnegative_body_steps_summand + S (fs_a_dst_zero_sumnegative_body_steps) = S ((S (fs_i_dst_zero_sumnegative_body_steps)) * dst_negative_scale_zero_sum)) /\ exists fs_q_dst_zero_sumnegative_body_steps_summand. dst_negative_code_zero_sum = fs_q_dst_zero_sumnegative_body_steps_summand * S ((S (fs_i_dst_zero_sumnegative_body_steps)) * dst_negative_scale_zero_sum) + (fs_a_dst_zero_sumnegative_body_steps))) /\ ((((exists fs_h_dst_zero_sumnegative_body_steps_partial. fs_h_dst_zero_sumnegative_body_steps_partial + S (fs_r_dst_zero_sumnegative_body_steps) = S ((S (fs_i_dst_zero_sumnegative_body_steps)) * fs_v_dst_zero_sumnegative)) /\ exists fs_q_dst_zero_sumnegative_body_steps_partial. fs_u_dst_zero_sumnegative = fs_q_dst_zero_sumnegative_body_steps_partial * S ((S (fs_i_dst_zero_sumnegative_body_steps)) * fs_v_dst_zero_sumnegative) + (fs_r_dst_zero_sumnegative_body_steps))) /\ ((((exists fs_h_dst_zero_sumnegative_body_steps_successor. fs_h_dst_zero_sumnegative_body_steps_successor + S (fs_s_dst_zero_sumnegative_body_steps) = S ((S (S fs_i_dst_zero_sumnegative_body_steps)) * fs_v_dst_zero_sumnegative)) /\ exists fs_q_dst_zero_sumnegative_body_steps_successor. fs_u_dst_zero_sumnegative = fs_q_dst_zero_sumnegative_body_steps_successor * S ((S (S fs_i_dst_zero_sumnegative_body_steps)) * fs_v_dst_zero_sumnegative) + (fs_s_dst_zero_sumnegative_body_steps))) /\ fs_s_dst_zero_sumnegative_body_steps = fs_r_dst_zero_sumnegative_body_steps + fs_a_dst_zero_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_zero_sumresult ge_balance_negative_zero_sumresult. (((((z) = 2 * (ge_balance_positive_zero_sumresult) /\ (ge_balance_negative_zero_sumresult) = 0) \/ exists ge_signed_half_zero_sumresultdecode. (((z) = 2 * ge_signed_half_zero_sumresultdecode + 1 /\ (ge_balance_positive_zero_sumresult) = 0) /\ (ge_balance_negative_zero_sumresult) = S ge_signed_half_zero_sumresultdecode))) /\ ((dst_positive_sum_zero_sum) + ge_balance_negative_zero_sumresult = (dst_negative_sum_zero_sum) + ge_balance_positive_zero_sumresult))))))))) -> z=0Constructive proof overview
Generated structural guide
A genuinely all-zero represented prefix has canonical signed sum zero; the proof retains actual fold witnesses.
The unchanged tactic script uses 3 declared prerequisites and contains 34 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
divisor_signed_sum_empty_exists Alpha theorem; checked-use authorized ZS0004 signed_prefix_sum_zero_tail zero_le 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–5
02Separate the logical casesL6–14
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L6
cases hs - L7
cases hs_witness - L8
cases hs_witness_witness - L9
cases hs_witness_witness_witness - L10
cases hs_witness_witness_witness_witness - L11
cases hs_witness_witness_witness_witness_witness - L12
cases hs_witness_witness_witness_witness_witness_witness - L13
cases hs_witness_witness_witness_witness_witness_witness_right - L14
cases hs_witness_witness_witness_witness_witness_witness_right_right
03Establish hzeroL15–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum empty exists.
- L15
have hzero : SignedPrefixSum(F,0,0)Definitions: SignedPrefixSum - L16
specialize divisor_signed_sum_empty_exists (F) - L17
specialize divisor_signed_sum_empty_exists (x) - L18
specialize divisor_signed_sum_empty_exists (x1) - L19
specialize divisor_signed_sum_empty_exists (x2) - L20
specialize divisor_signed_sum_empty_exists (x3) - L21
apply divisor_signed_sum_empty_exists - L22
exact hs_witness_witness_witness_witness_witness_witness_left - L23
symm - L24
specialize signed_prefix_sum_zero_tail (F)
04Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 34 lines
- 0001
intro F - 0002
intro l - 0003
intro z - 0004
intro hz - 0005
intro hs - 0006
cases hs - 0007
cases hs_witness - 0008
cases hs_witness_witness - 0009
cases hs_witness_witness_witness - 0010
cases hs_witness_witness_witness_witness - 0011
cases hs_witness_witness_witness_witness_witness - 0012
cases hs_witness_witness_witness_witness_witness_witness - 0013
cases hs_witness_witness_witness_witness_witness_witness_right - 0014
cases hs_witness_witness_witness_witness_witness_witness_right_right - 0015
have hzero : exists dst_positive_code_zero_actual_empty dst_positive_scale_zero_actual_empty dst_negative_code_zero_actual_empty dst_negative_scale_zero_actual_empty dst_positive_sum_zero_actual_empty dst_negative_sum_zero_actual_empty. (((F) = (((((dst_positive_code_zero_actual_empty) + (dst_positive_scale_zero_actual_empty)) * S ((dst_positive_code_zero_actual_empty) + (dst_positive_scale_zero_actual_empty)) + ((dst_positive_scale_zero_actual_empty) + (dst_positive_scale_zero_actual_empty))) + (((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) * S ((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) + ((dst_negative_scale_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)))) * S ((((dst_positive_code_zero_actual_empty) + (dst_positive_scale_zero_actual_empty)) * S ((dst_positive_code_zero_actual_empty) + (dst_positive_scale_zero_actual_empty)) + ((dst_positive_scale_zero_actual_empty) + (dst_positive_scale_zero_actual_empty))) + (((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) * S ((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) + ((dst_negative_scale_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)))) + ((((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) * S ((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) + ((dst_negative_scale_zero_actual_empty) + (dst_negative_scale_zero_actual_empty))) + (((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) * S ((dst_negative_code_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)) + ((dst_negative_scale_zero_actual_empty) + (dst_negative_scale_zero_actual_empty)))))) /\ (((exists fs_u_dst_zero_actual_emptypositive fs_v_dst_zero_actual_emptypositive. ((((exists fs_h_dst_zero_actual_emptypositive_body_start. fs_h_dst_zero_actual_emptypositive_body_start + S (0) = S ((S (0)) * fs_v_dst_zero_actual_emptypositive)) /\ exists fs_q_dst_zero_actual_emptypositive_body_start. fs_u_dst_zero_actual_emptypositive = fs_q_dst_zero_actual_emptypositive_body_start * S ((S (0)) * fs_v_dst_zero_actual_emptypositive) + (0))) /\ ((((exists fs_h_dst_zero_actual_emptypositive_body_terminal. fs_h_dst_zero_actual_emptypositive_body_terminal + S (dst_positive_sum_zero_actual_empty) = S ((S (0)) * fs_v_dst_zero_actual_emptypositive)) /\ exists fs_q_dst_zero_actual_emptypositive_body_terminal. fs_u_dst_zero_actual_emptypositive = fs_q_dst_zero_actual_emptypositive_body_terminal * S ((S (0)) * fs_v_dst_zero_actual_emptypositive) + (dst_positive_sum_zero_actual_empty))) /\ forall fs_i_dst_zero_actual_emptypositive_body_steps. (exists fs_lt_dst_zero_actual_emptypositive_body_steps_bound. fs_lt_dst_zero_actual_emptypositive_body_steps_bound + S fs_i_dst_zero_actual_emptypositive_body_steps = 0) -> exists fs_a_dst_zero_actual_emptypositive_body_steps fs_r_dst_zero_actual_emptypositive_body_steps fs_s_dst_zero_actual_emptypositive_body_steps. ((((exists fs_h_dst_zero_actual_emptypositive_body_steps_summand. fs_h_dst_zero_actual_emptypositive_body_steps_summand + S (fs_a_dst_zero_actual_emptypositive_body_steps) = S ((S (fs_i_dst_zero_actual_emptypositive_body_steps)) * dst_positive_scale_zero_actual_empty)) /\ exists fs_q_dst_zero_actual_emptypositive_body_steps_summand. dst_positive_code_zero_actual_empty = fs_q_dst_zero_actual_emptypositive_body_steps_summand * S ((S (fs_i_dst_zero_actual_emptypositive_body_steps)) * dst_positive_scale_zero_actual_empty) + (fs_a_dst_zero_actual_emptypositive_body_steps))) /\ ((((exists fs_h_dst_zero_actual_emptypositive_body_steps_partial. fs_h_dst_zero_actual_emptypositive_body_steps_partial + S (fs_r_dst_zero_actual_emptypositive_body_steps) = S ((S (fs_i_dst_zero_actual_emptypositive_body_steps)) * fs_v_dst_zero_actual_emptypositive)) /\ exists fs_q_dst_zero_actual_emptypositive_body_steps_partial. fs_u_dst_zero_actual_emptypositive = fs_q_dst_zero_actual_emptypositive_body_steps_partial * S ((S (fs_i_dst_zero_actual_emptypositive_body_steps)) * fs_v_dst_zero_actual_emptypositive) + (fs_r_dst_zero_actual_emptypositive_body_steps))) /\ ((((exists fs_h_dst_zero_actual_emptypositive_body_steps_successor. fs_h_dst_zero_actual_emptypositive_body_steps_successor + S (fs_s_dst_zero_actual_emptypositive_body_steps) = S ((S (S fs_i_dst_zero_actual_emptypositive_body_steps)) * fs_v_dst_zero_actual_emptypositive)) /\ exists fs_q_dst_zero_actual_emptypositive_body_steps_successor. fs_u_dst_zero_actual_emptypositive = fs_q_dst_zero_actual_emptypositive_body_steps_successor * S ((S (S fs_i_dst_zero_actual_emptypositive_body_steps)) * fs_v_dst_zero_actual_emptypositive) + (fs_s_dst_zero_actual_emptypositive_body_steps))) /\ fs_s_dst_zero_actual_emptypositive_body_steps = fs_r_dst_zero_actual_emptypositive_body_steps + fs_a_dst_zero_actual_emptypositive_body_steps)))))) /\ (((exists fs_u_dst_zero_actual_emptynegative fs_v_dst_zero_actual_emptynegative. ((((exists fs_h_dst_zero_actual_emptynegative_body_start. fs_h_dst_zero_actual_emptynegative_body_start + S (0) = S ((S (0)) * fs_v_dst_zero_actual_emptynegative)) /\ exists fs_q_dst_zero_actual_emptynegative_body_start. fs_u_dst_zero_actual_emptynegative = fs_q_dst_zero_actual_emptynegative_body_start * S ((S (0)) * fs_v_dst_zero_actual_emptynegative) + (0))) /\ ((((exists fs_h_dst_zero_actual_emptynegative_body_terminal. fs_h_dst_zero_actual_emptynegative_body_terminal + S (dst_negative_sum_zero_actual_empty) = S ((S (0)) * fs_v_dst_zero_actual_emptynegative)) /\ exists fs_q_dst_zero_actual_emptynegative_body_terminal. fs_u_dst_zero_actual_emptynegative = fs_q_dst_zero_actual_emptynegative_body_terminal * S ((S (0)) * fs_v_dst_zero_actual_emptynegative) + (dst_negative_sum_zero_actual_empty))) /\ forall fs_i_dst_zero_actual_emptynegative_body_steps. (exists fs_lt_dst_zero_actual_emptynegative_body_steps_bound. fs_lt_dst_zero_actual_emptynegative_body_steps_bound + S fs_i_dst_zero_actual_emptynegative_body_steps = 0) -> exists fs_a_dst_zero_actual_emptynegative_body_steps fs_r_dst_zero_actual_emptynegative_body_steps fs_s_dst_zero_actual_emptynegative_body_steps. ((((exists fs_h_dst_zero_actual_emptynegative_body_steps_summand. fs_h_dst_zero_actual_emptynegative_body_steps_summand + S (fs_a_dst_zero_actual_emptynegative_body_steps) = S ((S (fs_i_dst_zero_actual_emptynegative_body_steps)) * dst_negative_scale_zero_actual_empty)) /\ exists fs_q_dst_zero_actual_emptynegative_body_steps_summand. dst_negative_code_zero_actual_empty = fs_q_dst_zero_actual_emptynegative_body_steps_summand * S ((S (fs_i_dst_zero_actual_emptynegative_body_steps)) * dst_negative_scale_zero_actual_empty) + (fs_a_dst_zero_actual_emptynegative_body_steps))) /\ ((((exists fs_h_dst_zero_actual_emptynegative_body_steps_partial. fs_h_dst_zero_actual_emptynegative_body_steps_partial + S (fs_r_dst_zero_actual_emptynegative_body_steps) = S ((S (fs_i_dst_zero_actual_emptynegative_body_steps)) * fs_v_dst_zero_actual_emptynegative)) /\ exists fs_q_dst_zero_actual_emptynegative_body_steps_partial. fs_u_dst_zero_actual_emptynegative = fs_q_dst_zero_actual_emptynegative_body_steps_partial * S ((S (fs_i_dst_zero_actual_emptynegative_body_steps)) * fs_v_dst_zero_actual_emptynegative) + (fs_r_dst_zero_actual_emptynegative_body_steps))) /\ ((((exists fs_h_dst_zero_actual_emptynegative_body_steps_successor. fs_h_dst_zero_actual_emptynegative_body_steps_successor + S (fs_s_dst_zero_actual_emptynegative_body_steps) = S ((S (S fs_i_dst_zero_actual_emptynegative_body_steps)) * fs_v_dst_zero_actual_emptynegative)) /\ exists fs_q_dst_zero_actual_emptynegative_body_steps_successor. fs_u_dst_zero_actual_emptynegative = fs_q_dst_zero_actual_emptynegative_body_steps_successor * S ((S (S fs_i_dst_zero_actual_emptynegative_body_steps)) * fs_v_dst_zero_actual_emptynegative) + (fs_s_dst_zero_actual_emptynegative_body_steps))) /\ fs_s_dst_zero_actual_emptynegative_body_steps = fs_r_dst_zero_actual_emptynegative_body_steps + fs_a_dst_zero_actual_emptynegative_body_steps)))))) /\ (exists ge_balance_positive_zero_actual_emptyresult ge_balance_negative_zero_actual_emptyresult. (((((0) = 2 * (ge_balance_positive_zero_actual_emptyresult) /\ (ge_balance_negative_zero_actual_emptyresult) = 0) \/ exists ge_signed_half_zero_actual_emptyresultdecode. (((0) = 2 * ge_signed_half_zero_actual_emptyresultdecode + 1 /\ (ge_balance_positive_zero_actual_emptyresult) = 0) /\ (ge_balance_negative_zero_actual_emptyresult) = S ge_signed_half_zero_actual_emptyresultdecode))) /\ ((dst_positive_sum_zero_actual_empty) + ge_balance_negative_zero_actual_emptyresult = (dst_negative_sum_zero_actual_empty) + ge_balance_positive_zero_actual_emptyresult)))))))) - 0016
specialize divisor_signed_sum_empty_exists (F) - 0017
specialize divisor_signed_sum_empty_exists (x) - 0018
specialize divisor_signed_sum_empty_exists (x1) - 0019
specialize divisor_signed_sum_empty_exists (x2) - 0020
specialize divisor_signed_sum_empty_exists (x3) - 0021
apply divisor_signed_sum_empty_exists - 0022
exact hs_witness_witness_witness_witness_witness_witness_left - 0023
symm - 0024
specialize signed_prefix_sum_zero_tail (F) - 0025
specialize signed_prefix_sum_zero_tail (0) - 0026
specialize signed_prefix_sum_zero_tail (l) - 0027
specialize signed_prefix_sum_zero_tail (0) - 0028
specialize signed_prefix_sum_zero_tail (z) - 0029
apply signed_prefix_sum_zero_tail - 0030
specialize zero_le (l) - 0031
apply zero_le - 0032
exact hz - 0033
exact hzero - 0034
exact hs