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 G r s l a b. (forall pfp_i_anti_bound. (exists pfp_gap_anti_boundindex. pfp_gap_anti_boundindex + S (pfp_i_anti_bound) = (l)) -> exists pfp_a_anti_bound. (((exists ff_h_pfp_anti_boundentry. ff_h_pfp_anti_boundentry + S (pfp_a_anti_bound) = S ((S (pfp_i_anti_bound)) * s)) /\ exists ff_q_pfp_anti_boundentry. r = ff_q_pfp_anti_boundentry * S ((S (pfp_i_anti_bound)) * s) + (pfp_a_anti_bound))) /\ (exists pfp_gap_anti_boundvalue. pfp_gap_anti_boundvalue + S (pfp_a_anti_bound) = (l))) -> (forall pfp_i_anti_injective pfp_j_anti_injective pfp_a_anti_injective. (exists pfp_gap_anti_injectivefirst. pfp_gap_anti_injectivefirst + S (pfp_i_anti_injective) = (l)) -> (exists pfp_gap_anti_injectivesecond. pfp_gap_anti_injectivesecond + S (pfp_j_anti_injective) = (l)) -> (((exists ff_h_pfp_anti_injectiveleft. ff_h_pfp_anti_injectiveleft + S (pfp_a_anti_injective) = S ((S (pfp_i_anti_injective)) * s)) /\ exists ff_q_pfp_anti_injectiveleft. r = ff_q_pfp_anti_injectiveleft * S ((S (pfp_i_anti_injective)) * s) + (pfp_a_anti_injective))) -> (((exists ff_h_pfp_anti_injectiveright. ff_h_pfp_anti_injectiveright + S (pfp_a_anti_injective) = S ((S (pfp_j_anti_injective)) * s)) /\ exists ff_q_pfp_anti_injectiveright. r = ff_q_pfp_anti_injectiveright * S ((S (pfp_j_anti_injective)) * s) + (pfp_a_anti_injective))) -> pfp_i_anti_injective = pfp_j_anti_injective) -> (forall dsr_index_anti_reindex dsr_image_anti_reindex dsr_value_anti_reindex. (exists pvs_gap_anti_reindexbound. pvs_gap_anti_reindexbound + S (dsr_index_anti_reindex) = (l)) -> (((exists ff_h_pvs_anti_reindexmap. ff_h_pvs_anti_reindexmap + S (dsr_image_anti_reindex) = S ((S (dsr_index_anti_reindex)) * s)) /\ exists ff_q_pvs_anti_reindexmap. r = ff_q_pvs_anti_reindexmap * S ((S (dsr_index_anti_reindex)) * s) + (dsr_image_anti_reindex))) -> (exists dst_positive_code_anti_reindexsource dst_positive_scale_anti_reindexsource dst_negative_code_anti_reindexsource dst_negative_scale_anti_reindexsource dst_positive_anti_reindexsource dst_negative_anti_reindexsource. (((F) = (((((dst_positive_code_anti_reindexsource) + (dst_positive_scale_anti_reindexsource)) * S ((dst_positive_code_anti_reindexsource) + (dst_positive_scale_anti_reindexsource)) + ((dst_positive_scale_anti_reindexsource) + (dst_positive_scale_anti_reindexsource))) + (((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) * S ((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) + ((dst_negative_scale_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)))) * S ((((dst_positive_code_anti_reindexsource) + (dst_positive_scale_anti_reindexsource)) * S ((dst_positive_code_anti_reindexsource) + (dst_positive_scale_anti_reindexsource)) + ((dst_positive_scale_anti_reindexsource) + (dst_positive_scale_anti_reindexsource))) + (((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) * S ((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) + ((dst_negative_scale_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)))) + ((((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) * S ((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) + ((dst_negative_scale_anti_reindexsource) + (dst_negative_scale_anti_reindexsource))) + (((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) * S ((dst_negative_code_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)) + ((dst_negative_scale_anti_reindexsource) + (dst_negative_scale_anti_reindexsource)))))) /\ (((((exists ff_h_pvs_anti_reindexsourcepositive. ff_h_pvs_anti_reindexsourcepositive + S (dst_positive_anti_reindexsource) = S ((S (dsr_image_anti_reindex)) * dst_positive_scale_anti_reindexsource)) /\ exists ff_q_pvs_anti_reindexsourcepositive. dst_positive_code_anti_reindexsource = ff_q_pvs_anti_reindexsourcepositive * S ((S (dsr_image_anti_reindex)) * dst_positive_scale_anti_reindexsource) + (dst_positive_anti_reindexsource))) /\ (((((exists ff_h_pvs_anti_reindexsourcenegative. ff_h_pvs_anti_reindexsourcenegative + S (dst_negative_anti_reindexsource) = S ((S (dsr_image_anti_reindex)) * dst_negative_scale_anti_reindexsource)) /\ exists ff_q_pvs_anti_reindexsourcenegative. dst_negative_code_anti_reindexsource = ff_q_pvs_anti_reindexsourcenegative * S ((S (dsr_image_anti_reindex)) * dst_negative_scale_anti_reindexsource) + (dst_negative_anti_reindexsource))) /\ (exists ge_balance_positive_anti_reindexsourcevalue ge_balance_negative_anti_reindexsourcevalue. (((((dsr_value_anti_reindex) = 2 * (ge_balance_positive_anti_reindexsourcevalue) /\ (ge_balance_negative_anti_reindexsourcevalue) = 0) \/ exists ge_signed_half_anti_reindexsourcevaluedecode. (((dsr_value_anti_reindex) = 2 * ge_signed_half_anti_reindexsourcevaluedecode + 1 /\ (ge_balance_positive_anti_reindexsourcevalue) = 0) /\ (ge_balance_negative_anti_reindexsourcevalue) = S ge_signed_half_anti_reindexsourcevaluedecode))) /\ ((dst_positive_anti_reindexsource) + ge_balance_negative_anti_reindexsourcevalue = (dst_negative_anti_reindexsource) + ge_balance_positive_anti_reindexsourcevalue))))))))) -> (exists dst_positive_code_anti_reindextarget dst_positive_scale_anti_reindextarget dst_negative_code_anti_reindextarget dst_negative_scale_anti_reindextarget dst_positive_anti_reindextarget dst_negative_anti_reindextarget. (((G) = (((((dst_positive_code_anti_reindextarget) + (dst_positive_scale_anti_reindextarget)) * S ((dst_positive_code_anti_reindextarget) + (dst_positive_scale_anti_reindextarget)) + ((dst_positive_scale_anti_reindextarget) + (dst_positive_scale_anti_reindextarget))) + (((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) * S ((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) + ((dst_negative_scale_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)))) * S ((((dst_positive_code_anti_reindextarget) + (dst_positive_scale_anti_reindextarget)) * S ((dst_positive_code_anti_reindextarget) + (dst_positive_scale_anti_reindextarget)) + ((dst_positive_scale_anti_reindextarget) + (dst_positive_scale_anti_reindextarget))) + (((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) * S ((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) + ((dst_negative_scale_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)))) + ((((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) * S ((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) + ((dst_negative_scale_anti_reindextarget) + (dst_negative_scale_anti_reindextarget))) + (((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) * S ((dst_negative_code_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)) + ((dst_negative_scale_anti_reindextarget) + (dst_negative_scale_anti_reindextarget)))))) /\ (((((exists ff_h_pvs_anti_reindextargetpositive. ff_h_pvs_anti_reindextargetpositive + S (dst_positive_anti_reindextarget) = S ((S (dsr_index_anti_reindex)) * dst_positive_scale_anti_reindextarget)) /\ exists ff_q_pvs_anti_reindextargetpositive. dst_positive_code_anti_reindextarget = ff_q_pvs_anti_reindextargetpositive * S ((S (dsr_index_anti_reindex)) * dst_positive_scale_anti_reindextarget) + (dst_positive_anti_reindextarget))) /\ (((((exists ff_h_pvs_anti_reindextargetnegative. ff_h_pvs_anti_reindextargetnegative + S (dst_negative_anti_reindextarget) = S ((S (dsr_index_anti_reindex)) * dst_negative_scale_anti_reindextarget)) /\ exists ff_q_pvs_anti_reindextargetnegative. dst_negative_code_anti_reindextarget = ff_q_pvs_anti_reindextargetnegative * S ((S (dsr_index_anti_reindex)) * dst_negative_scale_anti_reindextarget) + (dst_negative_anti_reindextarget))) /\ (exists ge_balance_positive_anti_reindextargetvalue ge_balance_negative_anti_reindextargetvalue. (((((dsr_value_anti_reindex) = 2 * (ge_balance_positive_anti_reindextargetvalue) /\ (ge_balance_negative_anti_reindextargetvalue) = 0) \/ exists ge_signed_half_anti_reindextargetvaluedecode. (((dsr_value_anti_reindex) = 2 * ge_signed_half_anti_reindextargetvaluedecode + 1 /\ (ge_balance_positive_anti_reindextargetvalue) = 0) /\ (ge_balance_negative_anti_reindextargetvalue) = S ge_signed_half_anti_reindextargetvaluedecode))) /\ ((dst_positive_anti_reindextarget) + ge_balance_negative_anti_reindextargetvalue = (dst_negative_anti_reindextarget) + ge_balance_positive_anti_reindextargetvalue)))))))))) -> (forall mdc_index_anti_opposite mdc_source_anti_opposite mdc_target_anti_opposite. (exists pvs_gap_anti_oppositebound. pvs_gap_anti_oppositebound + S (mdc_index_anti_opposite) = (l)) -> (exists dst_positive_code_anti_oppositefirst dst_positive_scale_anti_oppositefirst dst_negative_code_anti_oppositefirst dst_negative_scale_anti_oppositefirst dst_positive_anti_oppositefirst dst_negative_anti_oppositefirst. (((F) = (((((dst_positive_code_anti_oppositefirst) + (dst_positive_scale_anti_oppositefirst)) * S ((dst_positive_code_anti_oppositefirst) + (dst_positive_scale_anti_oppositefirst)) + ((dst_positive_scale_anti_oppositefirst) + (dst_positive_scale_anti_oppositefirst))) + (((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) * S ((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) + ((dst_negative_scale_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)))) * S ((((dst_positive_code_anti_oppositefirst) + (dst_positive_scale_anti_oppositefirst)) * S ((dst_positive_code_anti_oppositefirst) + (dst_positive_scale_anti_oppositefirst)) + ((dst_positive_scale_anti_oppositefirst) + (dst_positive_scale_anti_oppositefirst))) + (((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) * S ((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) + ((dst_negative_scale_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)))) + ((((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) * S ((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) + ((dst_negative_scale_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst))) + (((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) * S ((dst_negative_code_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)) + ((dst_negative_scale_anti_oppositefirst) + (dst_negative_scale_anti_oppositefirst)))))) /\ (((((exists ff_h_pvs_anti_oppositefirstpositive. ff_h_pvs_anti_oppositefirstpositive + S (dst_positive_anti_oppositefirst) = S ((S (mdc_index_anti_opposite)) * dst_positive_scale_anti_oppositefirst)) /\ exists ff_q_pvs_anti_oppositefirstpositive. dst_positive_code_anti_oppositefirst = ff_q_pvs_anti_oppositefirstpositive * S ((S (mdc_index_anti_opposite)) * dst_positive_scale_anti_oppositefirst) + (dst_positive_anti_oppositefirst))) /\ (((((exists ff_h_pvs_anti_oppositefirstnegative. ff_h_pvs_anti_oppositefirstnegative + S (dst_negative_anti_oppositefirst) = S ((S (mdc_index_anti_opposite)) * dst_negative_scale_anti_oppositefirst)) /\ exists ff_q_pvs_anti_oppositefirstnegative. dst_negative_code_anti_oppositefirst = ff_q_pvs_anti_oppositefirstnegative * S ((S (mdc_index_anti_opposite)) * dst_negative_scale_anti_oppositefirst) + (dst_negative_anti_oppositefirst))) /\ (exists ge_balance_positive_anti_oppositefirstvalue ge_balance_negative_anti_oppositefirstvalue. (((((mdc_source_anti_opposite) = 2 * (ge_balance_positive_anti_oppositefirstvalue) /\ (ge_balance_negative_anti_oppositefirstvalue) = 0) \/ exists ge_signed_half_anti_oppositefirstvaluedecode. (((mdc_source_anti_opposite) = 2 * ge_signed_half_anti_oppositefirstvaluedecode + 1 /\ (ge_balance_positive_anti_oppositefirstvalue) = 0) /\ (ge_balance_negative_anti_oppositefirstvalue) = S ge_signed_half_anti_oppositefirstvaluedecode))) /\ ((dst_positive_anti_oppositefirst) + ge_balance_negative_anti_oppositefirstvalue = (dst_negative_anti_oppositefirst) + ge_balance_positive_anti_oppositefirstvalue))))))))) -> (exists dst_positive_code_anti_oppositesecond dst_positive_scale_anti_oppositesecond dst_negative_code_anti_oppositesecond dst_negative_scale_anti_oppositesecond dst_positive_anti_oppositesecond dst_negative_anti_oppositesecond. (((G) = (((((dst_positive_code_anti_oppositesecond) + (dst_positive_scale_anti_oppositesecond)) * S ((dst_positive_code_anti_oppositesecond) + (dst_positive_scale_anti_oppositesecond)) + ((dst_positive_scale_anti_oppositesecond) + (dst_positive_scale_anti_oppositesecond))) + (((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) * S ((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) + ((dst_negative_scale_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)))) * S ((((dst_positive_code_anti_oppositesecond) + (dst_positive_scale_anti_oppositesecond)) * S ((dst_positive_code_anti_oppositesecond) + (dst_positive_scale_anti_oppositesecond)) + ((dst_positive_scale_anti_oppositesecond) + (dst_positive_scale_anti_oppositesecond))) + (((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) * S ((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) + ((dst_negative_scale_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)))) + ((((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) * S ((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) + ((dst_negative_scale_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond))) + (((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) * S ((dst_negative_code_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)) + ((dst_negative_scale_anti_oppositesecond) + (dst_negative_scale_anti_oppositesecond)))))) /\ (((((exists ff_h_pvs_anti_oppositesecondpositive. ff_h_pvs_anti_oppositesecondpositive + S (dst_positive_anti_oppositesecond) = S ((S (mdc_index_anti_opposite)) * dst_positive_scale_anti_oppositesecond)) /\ exists ff_q_pvs_anti_oppositesecondpositive. dst_positive_code_anti_oppositesecond = ff_q_pvs_anti_oppositesecondpositive * S ((S (mdc_index_anti_opposite)) * dst_positive_scale_anti_oppositesecond) + (dst_positive_anti_oppositesecond))) /\ (((((exists ff_h_pvs_anti_oppositesecondnegative. ff_h_pvs_anti_oppositesecondnegative + S (dst_negative_anti_oppositesecond) = S ((S (mdc_index_anti_opposite)) * dst_negative_scale_anti_oppositesecond)) /\ exists ff_q_pvs_anti_oppositesecondnegative. dst_negative_code_anti_oppositesecond = ff_q_pvs_anti_oppositesecondnegative * S ((S (mdc_index_anti_opposite)) * dst_negative_scale_anti_oppositesecond) + (dst_negative_anti_oppositesecond))) /\ (exists ge_balance_positive_anti_oppositesecondvalue ge_balance_negative_anti_oppositesecondvalue. (((((mdc_target_anti_opposite) = 2 * (ge_balance_positive_anti_oppositesecondvalue) /\ (ge_balance_negative_anti_oppositesecondvalue) = 0) \/ exists ge_signed_half_anti_oppositesecondvaluedecode. (((mdc_target_anti_opposite) = 2 * ge_signed_half_anti_oppositesecondvaluedecode + 1 /\ (ge_balance_positive_anti_oppositesecondvalue) = 0) /\ (ge_balance_negative_anti_oppositesecondvalue) = S ge_signed_half_anti_oppositesecondvaluedecode))) /\ ((dst_positive_anti_oppositesecond) + ge_balance_negative_anti_oppositesecondvalue = (dst_negative_anti_oppositesecond) + ge_balance_positive_anti_oppositesecondvalue))))))))) -> (exists mps_positive_anti_oppositenegation mps_negative_anti_oppositenegation. (((((mdc_source_anti_opposite) = 2 * (mps_positive_anti_oppositenegation) /\ (mps_negative_anti_oppositenegation) = 0) \/ exists ge_signed_half_anti_oppositenegationsource. (((mdc_source_anti_opposite) = 2 * ge_signed_half_anti_oppositenegationsource + 1 /\ (mps_positive_anti_oppositenegation) = 0) /\ (mps_negative_anti_oppositenegation) = S ge_signed_half_anti_oppositenegationsource))) /\ ((((mdc_target_anti_opposite) = 2 * (mps_negative_anti_oppositenegation) /\ (mps_positive_anti_oppositenegation) = 0) \/ exists ge_signed_half_anti_oppositenegationtarget. (((mdc_target_anti_opposite) = 2 * ge_signed_half_anti_oppositenegationtarget + 1 /\ (mps_negative_anti_oppositenegation) = 0) /\ (mps_positive_anti_oppositenegation) = S ge_signed_half_anti_oppositenegationtarget)))))) -> (exists dst_positive_code_anti_first_sum dst_positive_scale_anti_first_sum dst_negative_code_anti_first_sum dst_negative_scale_anti_first_sum dst_positive_sum_anti_first_sum dst_negative_sum_anti_first_sum. (((F) = (((((dst_positive_code_anti_first_sum) + (dst_positive_scale_anti_first_sum)) * S ((dst_positive_code_anti_first_sum) + (dst_positive_scale_anti_first_sum)) + ((dst_positive_scale_anti_first_sum) + (dst_positive_scale_anti_first_sum))) + (((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) * S ((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) + ((dst_negative_scale_anti_first_sum) + (dst_negative_scale_anti_first_sum)))) * S ((((dst_positive_code_anti_first_sum) + (dst_positive_scale_anti_first_sum)) * S ((dst_positive_code_anti_first_sum) + (dst_positive_scale_anti_first_sum)) + ((dst_positive_scale_anti_first_sum) + (dst_positive_scale_anti_first_sum))) + (((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) * S ((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) + ((dst_negative_scale_anti_first_sum) + (dst_negative_scale_anti_first_sum)))) + ((((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) * S ((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) + ((dst_negative_scale_anti_first_sum) + (dst_negative_scale_anti_first_sum))) + (((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) * S ((dst_negative_code_anti_first_sum) + (dst_negative_scale_anti_first_sum)) + ((dst_negative_scale_anti_first_sum) + (dst_negative_scale_anti_first_sum)))))) /\ (((exists fs_u_dst_anti_first_sumpositive fs_v_dst_anti_first_sumpositive. ((((exists fs_h_dst_anti_first_sumpositive_body_start. fs_h_dst_anti_first_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_anti_first_sumpositive)) /\ exists fs_q_dst_anti_first_sumpositive_body_start. fs_u_dst_anti_first_sumpositive = fs_q_dst_anti_first_sumpositive_body_start * S ((S (0)) * fs_v_dst_anti_first_sumpositive) + (0))) /\ ((((exists fs_h_dst_anti_first_sumpositive_body_terminal. fs_h_dst_anti_first_sumpositive_body_terminal + S (dst_positive_sum_anti_first_sum) = S ((S (l)) * fs_v_dst_anti_first_sumpositive)) /\ exists fs_q_dst_anti_first_sumpositive_body_terminal. fs_u_dst_anti_first_sumpositive = fs_q_dst_anti_first_sumpositive_body_terminal * S ((S (l)) * fs_v_dst_anti_first_sumpositive) + (dst_positive_sum_anti_first_sum))) /\ forall fs_i_dst_anti_first_sumpositive_body_steps. (exists fs_lt_dst_anti_first_sumpositive_body_steps_bound. fs_lt_dst_anti_first_sumpositive_body_steps_bound + S fs_i_dst_anti_first_sumpositive_body_steps = l) -> exists fs_a_dst_anti_first_sumpositive_body_steps fs_r_dst_anti_first_sumpositive_body_steps fs_s_dst_anti_first_sumpositive_body_steps. ((((exists fs_h_dst_anti_first_sumpositive_body_steps_summand. fs_h_dst_anti_first_sumpositive_body_steps_summand + S (fs_a_dst_anti_first_sumpositive_body_steps) = S ((S (fs_i_dst_anti_first_sumpositive_body_steps)) * dst_positive_scale_anti_first_sum)) /\ exists fs_q_dst_anti_first_sumpositive_body_steps_summand. dst_positive_code_anti_first_sum = fs_q_dst_anti_first_sumpositive_body_steps_summand * S ((S (fs_i_dst_anti_first_sumpositive_body_steps)) * dst_positive_scale_anti_first_sum) + (fs_a_dst_anti_first_sumpositive_body_steps))) /\ ((((exists fs_h_dst_anti_first_sumpositive_body_steps_partial. fs_h_dst_anti_first_sumpositive_body_steps_partial + S (fs_r_dst_anti_first_sumpositive_body_steps) = S ((S (fs_i_dst_anti_first_sumpositive_body_steps)) * fs_v_dst_anti_first_sumpositive)) /\ exists fs_q_dst_anti_first_sumpositive_body_steps_partial. fs_u_dst_anti_first_sumpositive = fs_q_dst_anti_first_sumpositive_body_steps_partial * S ((S (fs_i_dst_anti_first_sumpositive_body_steps)) * fs_v_dst_anti_first_sumpositive) + (fs_r_dst_anti_first_sumpositive_body_steps))) /\ ((((exists fs_h_dst_anti_first_sumpositive_body_steps_successor. fs_h_dst_anti_first_sumpositive_body_steps_successor + S (fs_s_dst_anti_first_sumpositive_body_steps) = S ((S (S fs_i_dst_anti_first_sumpositive_body_steps)) * fs_v_dst_anti_first_sumpositive)) /\ exists fs_q_dst_anti_first_sumpositive_body_steps_successor. fs_u_dst_anti_first_sumpositive = fs_q_dst_anti_first_sumpositive_body_steps_successor * S ((S (S fs_i_dst_anti_first_sumpositive_body_steps)) * fs_v_dst_anti_first_sumpositive) + (fs_s_dst_anti_first_sumpositive_body_steps))) /\ fs_s_dst_anti_first_sumpositive_body_steps = fs_r_dst_anti_first_sumpositive_body_steps + fs_a_dst_anti_first_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_anti_first_sumnegative fs_v_dst_anti_first_sumnegative. ((((exists fs_h_dst_anti_first_sumnegative_body_start. fs_h_dst_anti_first_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_anti_first_sumnegative)) /\ exists fs_q_dst_anti_first_sumnegative_body_start. fs_u_dst_anti_first_sumnegative = fs_q_dst_anti_first_sumnegative_body_start * S ((S (0)) * fs_v_dst_anti_first_sumnegative) + (0))) /\ ((((exists fs_h_dst_anti_first_sumnegative_body_terminal. fs_h_dst_anti_first_sumnegative_body_terminal + S (dst_negative_sum_anti_first_sum) = S ((S (l)) * fs_v_dst_anti_first_sumnegative)) /\ exists fs_q_dst_anti_first_sumnegative_body_terminal. fs_u_dst_anti_first_sumnegative = fs_q_dst_anti_first_sumnegative_body_terminal * S ((S (l)) * fs_v_dst_anti_first_sumnegative) + (dst_negative_sum_anti_first_sum))) /\ forall fs_i_dst_anti_first_sumnegative_body_steps. (exists fs_lt_dst_anti_first_sumnegative_body_steps_bound. fs_lt_dst_anti_first_sumnegative_body_steps_bound + S fs_i_dst_anti_first_sumnegative_body_steps = l) -> exists fs_a_dst_anti_first_sumnegative_body_steps fs_r_dst_anti_first_sumnegative_body_steps fs_s_dst_anti_first_sumnegative_body_steps. ((((exists fs_h_dst_anti_first_sumnegative_body_steps_summand. fs_h_dst_anti_first_sumnegative_body_steps_summand + S (fs_a_dst_anti_first_sumnegative_body_steps) = S ((S (fs_i_dst_anti_first_sumnegative_body_steps)) * dst_negative_scale_anti_first_sum)) /\ exists fs_q_dst_anti_first_sumnegative_body_steps_summand. dst_negative_code_anti_first_sum = fs_q_dst_anti_first_sumnegative_body_steps_summand * S ((S (fs_i_dst_anti_first_sumnegative_body_steps)) * dst_negative_scale_anti_first_sum) + (fs_a_dst_anti_first_sumnegative_body_steps))) /\ ((((exists fs_h_dst_anti_first_sumnegative_body_steps_partial. fs_h_dst_anti_first_sumnegative_body_steps_partial + S (fs_r_dst_anti_first_sumnegative_body_steps) = S ((S (fs_i_dst_anti_first_sumnegative_body_steps)) * fs_v_dst_anti_first_sumnegative)) /\ exists fs_q_dst_anti_first_sumnegative_body_steps_partial. fs_u_dst_anti_first_sumnegative = fs_q_dst_anti_first_sumnegative_body_steps_partial * S ((S (fs_i_dst_anti_first_sumnegative_body_steps)) * fs_v_dst_anti_first_sumnegative) + (fs_r_dst_anti_first_sumnegative_body_steps))) /\ ((((exists fs_h_dst_anti_first_sumnegative_body_steps_successor. fs_h_dst_anti_first_sumnegative_body_steps_successor + S (fs_s_dst_anti_first_sumnegative_body_steps) = S ((S (S fs_i_dst_anti_first_sumnegative_body_steps)) * fs_v_dst_anti_first_sumnegative)) /\ exists fs_q_dst_anti_first_sumnegative_body_steps_successor. fs_u_dst_anti_first_sumnegative = fs_q_dst_anti_first_sumnegative_body_steps_successor * S ((S (S fs_i_dst_anti_first_sumnegative_body_steps)) * fs_v_dst_anti_first_sumnegative) + (fs_s_dst_anti_first_sumnegative_body_steps))) /\ fs_s_dst_anti_first_sumnegative_body_steps = fs_r_dst_anti_first_sumnegative_body_steps + fs_a_dst_anti_first_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_anti_first_sumresult ge_balance_negative_anti_first_sumresult. (((((a) = 2 * (ge_balance_positive_anti_first_sumresult) /\ (ge_balance_negative_anti_first_sumresult) = 0) \/ exists ge_signed_half_anti_first_sumresultdecode. (((a) = 2 * ge_signed_half_anti_first_sumresultdecode + 1 /\ (ge_balance_positive_anti_first_sumresult) = 0) /\ (ge_balance_negative_anti_first_sumresult) = S ge_signed_half_anti_first_sumresultdecode))) /\ ((dst_positive_sum_anti_first_sum) + ge_balance_negative_anti_first_sumresult = (dst_negative_sum_anti_first_sum) + ge_balance_positive_anti_first_sumresult))))))))) -> (exists dst_positive_code_anti_second_sum dst_positive_scale_anti_second_sum dst_negative_code_anti_second_sum dst_negative_scale_anti_second_sum dst_positive_sum_anti_second_sum dst_negative_sum_anti_second_sum. (((G) = (((((dst_positive_code_anti_second_sum) + (dst_positive_scale_anti_second_sum)) * S ((dst_positive_code_anti_second_sum) + (dst_positive_scale_anti_second_sum)) + ((dst_positive_scale_anti_second_sum) + (dst_positive_scale_anti_second_sum))) + (((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) * S ((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) + ((dst_negative_scale_anti_second_sum) + (dst_negative_scale_anti_second_sum)))) * S ((((dst_positive_code_anti_second_sum) + (dst_positive_scale_anti_second_sum)) * S ((dst_positive_code_anti_second_sum) + (dst_positive_scale_anti_second_sum)) + ((dst_positive_scale_anti_second_sum) + (dst_positive_scale_anti_second_sum))) + (((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) * S ((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) + ((dst_negative_scale_anti_second_sum) + (dst_negative_scale_anti_second_sum)))) + ((((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) * S ((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) + ((dst_negative_scale_anti_second_sum) + (dst_negative_scale_anti_second_sum))) + (((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) * S ((dst_negative_code_anti_second_sum) + (dst_negative_scale_anti_second_sum)) + ((dst_negative_scale_anti_second_sum) + (dst_negative_scale_anti_second_sum)))))) /\ (((exists fs_u_dst_anti_second_sumpositive fs_v_dst_anti_second_sumpositive. ((((exists fs_h_dst_anti_second_sumpositive_body_start. fs_h_dst_anti_second_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_anti_second_sumpositive)) /\ exists fs_q_dst_anti_second_sumpositive_body_start. fs_u_dst_anti_second_sumpositive = fs_q_dst_anti_second_sumpositive_body_start * S ((S (0)) * fs_v_dst_anti_second_sumpositive) + (0))) /\ ((((exists fs_h_dst_anti_second_sumpositive_body_terminal. fs_h_dst_anti_second_sumpositive_body_terminal + S (dst_positive_sum_anti_second_sum) = S ((S (l)) * fs_v_dst_anti_second_sumpositive)) /\ exists fs_q_dst_anti_second_sumpositive_body_terminal. fs_u_dst_anti_second_sumpositive = fs_q_dst_anti_second_sumpositive_body_terminal * S ((S (l)) * fs_v_dst_anti_second_sumpositive) + (dst_positive_sum_anti_second_sum))) /\ forall fs_i_dst_anti_second_sumpositive_body_steps. (exists fs_lt_dst_anti_second_sumpositive_body_steps_bound. fs_lt_dst_anti_second_sumpositive_body_steps_bound + S fs_i_dst_anti_second_sumpositive_body_steps = l) -> exists fs_a_dst_anti_second_sumpositive_body_steps fs_r_dst_anti_second_sumpositive_body_steps fs_s_dst_anti_second_sumpositive_body_steps. ((((exists fs_h_dst_anti_second_sumpositive_body_steps_summand. fs_h_dst_anti_second_sumpositive_body_steps_summand + S (fs_a_dst_anti_second_sumpositive_body_steps) = S ((S (fs_i_dst_anti_second_sumpositive_body_steps)) * dst_positive_scale_anti_second_sum)) /\ exists fs_q_dst_anti_second_sumpositive_body_steps_summand. dst_positive_code_anti_second_sum = fs_q_dst_anti_second_sumpositive_body_steps_summand * S ((S (fs_i_dst_anti_second_sumpositive_body_steps)) * dst_positive_scale_anti_second_sum) + (fs_a_dst_anti_second_sumpositive_body_steps))) /\ ((((exists fs_h_dst_anti_second_sumpositive_body_steps_partial. fs_h_dst_anti_second_sumpositive_body_steps_partial + S (fs_r_dst_anti_second_sumpositive_body_steps) = S ((S (fs_i_dst_anti_second_sumpositive_body_steps)) * fs_v_dst_anti_second_sumpositive)) /\ exists fs_q_dst_anti_second_sumpositive_body_steps_partial. fs_u_dst_anti_second_sumpositive = fs_q_dst_anti_second_sumpositive_body_steps_partial * S ((S (fs_i_dst_anti_second_sumpositive_body_steps)) * fs_v_dst_anti_second_sumpositive) + (fs_r_dst_anti_second_sumpositive_body_steps))) /\ ((((exists fs_h_dst_anti_second_sumpositive_body_steps_successor. fs_h_dst_anti_second_sumpositive_body_steps_successor + S (fs_s_dst_anti_second_sumpositive_body_steps) = S ((S (S fs_i_dst_anti_second_sumpositive_body_steps)) * fs_v_dst_anti_second_sumpositive)) /\ exists fs_q_dst_anti_second_sumpositive_body_steps_successor. fs_u_dst_anti_second_sumpositive = fs_q_dst_anti_second_sumpositive_body_steps_successor * S ((S (S fs_i_dst_anti_second_sumpositive_body_steps)) * fs_v_dst_anti_second_sumpositive) + (fs_s_dst_anti_second_sumpositive_body_steps))) /\ fs_s_dst_anti_second_sumpositive_body_steps = fs_r_dst_anti_second_sumpositive_body_steps + fs_a_dst_anti_second_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_anti_second_sumnegative fs_v_dst_anti_second_sumnegative. ((((exists fs_h_dst_anti_second_sumnegative_body_start. fs_h_dst_anti_second_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_anti_second_sumnegative)) /\ exists fs_q_dst_anti_second_sumnegative_body_start. fs_u_dst_anti_second_sumnegative = fs_q_dst_anti_second_sumnegative_body_start * S ((S (0)) * fs_v_dst_anti_second_sumnegative) + (0))) /\ ((((exists fs_h_dst_anti_second_sumnegative_body_terminal. fs_h_dst_anti_second_sumnegative_body_terminal + S (dst_negative_sum_anti_second_sum) = S ((S (l)) * fs_v_dst_anti_second_sumnegative)) /\ exists fs_q_dst_anti_second_sumnegative_body_terminal. fs_u_dst_anti_second_sumnegative = fs_q_dst_anti_second_sumnegative_body_terminal * S ((S (l)) * fs_v_dst_anti_second_sumnegative) + (dst_negative_sum_anti_second_sum))) /\ forall fs_i_dst_anti_second_sumnegative_body_steps. (exists fs_lt_dst_anti_second_sumnegative_body_steps_bound. fs_lt_dst_anti_second_sumnegative_body_steps_bound + S fs_i_dst_anti_second_sumnegative_body_steps = l) -> exists fs_a_dst_anti_second_sumnegative_body_steps fs_r_dst_anti_second_sumnegative_body_steps fs_s_dst_anti_second_sumnegative_body_steps. ((((exists fs_h_dst_anti_second_sumnegative_body_steps_summand. fs_h_dst_anti_second_sumnegative_body_steps_summand + S (fs_a_dst_anti_second_sumnegative_body_steps) = S ((S (fs_i_dst_anti_second_sumnegative_body_steps)) * dst_negative_scale_anti_second_sum)) /\ exists fs_q_dst_anti_second_sumnegative_body_steps_summand. dst_negative_code_anti_second_sum = fs_q_dst_anti_second_sumnegative_body_steps_summand * S ((S (fs_i_dst_anti_second_sumnegative_body_steps)) * dst_negative_scale_anti_second_sum) + (fs_a_dst_anti_second_sumnegative_body_steps))) /\ ((((exists fs_h_dst_anti_second_sumnegative_body_steps_partial. fs_h_dst_anti_second_sumnegative_body_steps_partial + S (fs_r_dst_anti_second_sumnegative_body_steps) = S ((S (fs_i_dst_anti_second_sumnegative_body_steps)) * fs_v_dst_anti_second_sumnegative)) /\ exists fs_q_dst_anti_second_sumnegative_body_steps_partial. fs_u_dst_anti_second_sumnegative = fs_q_dst_anti_second_sumnegative_body_steps_partial * S ((S (fs_i_dst_anti_second_sumnegative_body_steps)) * fs_v_dst_anti_second_sumnegative) + (fs_r_dst_anti_second_sumnegative_body_steps))) /\ ((((exists fs_h_dst_anti_second_sumnegative_body_steps_successor. fs_h_dst_anti_second_sumnegative_body_steps_successor + S (fs_s_dst_anti_second_sumnegative_body_steps) = S ((S (S fs_i_dst_anti_second_sumnegative_body_steps)) * fs_v_dst_anti_second_sumnegative)) /\ exists fs_q_dst_anti_second_sumnegative_body_steps_successor. fs_u_dst_anti_second_sumnegative = fs_q_dst_anti_second_sumnegative_body_steps_successor * S ((S (S fs_i_dst_anti_second_sumnegative_body_steps)) * fs_v_dst_anti_second_sumnegative) + (fs_s_dst_anti_second_sumnegative_body_steps))) /\ fs_s_dst_anti_second_sumnegative_body_steps = fs_r_dst_anti_second_sumnegative_body_steps + fs_a_dst_anti_second_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_anti_second_sumresult ge_balance_negative_anti_second_sumresult. (((((b) = 2 * (ge_balance_positive_anti_second_sumresult) /\ (ge_balance_negative_anti_second_sumresult) = 0) \/ exists ge_signed_half_anti_second_sumresultdecode. (((b) = 2 * ge_signed_half_anti_second_sumresultdecode + 1 /\ (ge_balance_positive_anti_second_sumresult) = 0) /\ (ge_balance_negative_anti_second_sumresult) = S ge_signed_half_anti_second_sumresultdecode))) /\ ((dst_positive_sum_anti_second_sum) + ge_balance_negative_anti_second_sumresult = (dst_negative_sum_anti_second_sum) + ge_balance_positive_anti_second_sumresult))))))))) -> a=0Constructive proof overview
Generated structural guide
A genuine finite signed sum whose actual permutation pullback is pointwise its opposite is zero; ordinary characteristic-zero cancellation is proved, not assumed.
The unchanged tactic script uses 3 declared prerequisites and contains 43 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_permutation_invariant Alpha theorem; checked-use authorized MC0014 signed_prefix_sum_pointwise_negate divisor_signed_negate_fixed_zero 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.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–13
03Establish heqL14–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum permutation invariant.
- L14
have heq : b=a - L15
symm - L16
specialize divisor_signed_sum_permutation_invariant (F) - L17
specialize divisor_signed_sum_permutation_invariant (G) - L18
specialize divisor_signed_sum_permutation_invariant (r) - L19
specialize divisor_signed_sum_permutation_invariant (s) - L20
specialize divisor_signed_sum_permutation_invariant (l) - L21
specialize divisor_signed_sum_permutation_invariant (a) - L22
specialize divisor_signed_sum_permutation_invariant (b) - L23
apply divisor_signed_sum_permutation_invariant
04Use earlier factsL24–28
05Establish hnL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed prefix sum pointwise negate.
- L29
have hn : SignedNegate(a,b)Definitions: SignedNegate - L30
specialize signed_prefix_sum_pointwise_negate (F) - L31
specialize signed_prefix_sum_pointwise_negate (G) - L32
specialize signed_prefix_sum_pointwise_negate (l) - L33
specialize signed_prefix_sum_pointwise_negate (a) - L34
specialize signed_prefix_sum_pointwise_negate (b) - L35
apply signed_prefix_sum_pointwise_negate - L36
exact hnegate - L37
exact hF - L38
exact hG
06Calculate and transport equalitiesL39–40
Original exact command ledger · 43 lines
- 0001
intro F - 0002
intro G - 0003
intro r - 0004
intro s - 0005
intro l - 0006
intro a - 0007
intro b - 0008
intro hbound - 0009
intro hinj - 0010
intro hreindex - 0011
intro hnegate - 0012
intro hF - 0013
intro hG - 0014
have heq : b=a - 0015
symm - 0016
specialize divisor_signed_sum_permutation_invariant (F) - 0017
specialize divisor_signed_sum_permutation_invariant (G) - 0018
specialize divisor_signed_sum_permutation_invariant (r) - 0019
specialize divisor_signed_sum_permutation_invariant (s) - 0020
specialize divisor_signed_sum_permutation_invariant (l) - 0021
specialize divisor_signed_sum_permutation_invariant (a) - 0022
specialize divisor_signed_sum_permutation_invariant (b) - 0023
apply divisor_signed_sum_permutation_invariant - 0024
exact hbound - 0025
exact hinj - 0026
exact hreindex - 0027
exact hF - 0028
exact hG - 0029
have hn : exists mps_positive_anti_sum_negation mps_negative_anti_sum_negation. (((((a) = 2 * (mps_positive_anti_sum_negation) /\ (mps_negative_anti_sum_negation) = 0) \/ exists ge_signed_half_anti_sum_negationsource. (((a) = 2 * ge_signed_half_anti_sum_negationsource + 1 /\ (mps_positive_anti_sum_negation) = 0) /\ (mps_negative_anti_sum_negation) = S ge_signed_half_anti_sum_negationsource))) /\ ((((b) = 2 * (mps_negative_anti_sum_negation) /\ (mps_positive_anti_sum_negation) = 0) \/ exists ge_signed_half_anti_sum_negationtarget. (((b) = 2 * ge_signed_half_anti_sum_negationtarget + 1 /\ (mps_negative_anti_sum_negation) = 0) /\ (mps_positive_anti_sum_negation) = S ge_signed_half_anti_sum_negationtarget)))) - 0030
specialize signed_prefix_sum_pointwise_negate (F) - 0031
specialize signed_prefix_sum_pointwise_negate (G) - 0032
specialize signed_prefix_sum_pointwise_negate (l) - 0033
specialize signed_prefix_sum_pointwise_negate (a) - 0034
specialize signed_prefix_sum_pointwise_negate (b) - 0035
apply signed_prefix_sum_pointwise_negate - 0036
exact hnegate - 0037
exact hF - 0038
exact hG - 0039
rewrite heq at hn - 0040
rewrite heq at hn - 0041
specialize divisor_signed_negate_fixed_zero (a) - 0042
apply divisor_signed_negate_fixed_zero - 0043
exact hn