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 u v. (forall pfp_i_permutation_bound. (exists pfp_gap_permutation_boundindex. pfp_gap_permutation_boundindex + S (pfp_i_permutation_bound) = (l)) -> exists pfp_a_permutation_bound. (((exists ff_h_pfp_permutation_boundentry. ff_h_pfp_permutation_boundentry + S (pfp_a_permutation_bound) = S ((S (pfp_i_permutation_bound)) * s)) /\ exists ff_q_pfp_permutation_boundentry. r = ff_q_pfp_permutation_boundentry * S ((S (pfp_i_permutation_bound)) * s) + (pfp_a_permutation_bound))) /\ (exists pfp_gap_permutation_boundvalue. pfp_gap_permutation_boundvalue + S (pfp_a_permutation_bound) = (l))) -> (forall pfp_i_permutation_injective pfp_j_permutation_injective pfp_a_permutation_injective. (exists pfp_gap_permutation_injectivefirst. pfp_gap_permutation_injectivefirst + S (pfp_i_permutation_injective) = (l)) -> (exists pfp_gap_permutation_injectivesecond. pfp_gap_permutation_injectivesecond + S (pfp_j_permutation_injective) = (l)) -> (((exists ff_h_pfp_permutation_injectiveleft. ff_h_pfp_permutation_injectiveleft + S (pfp_a_permutation_injective) = S ((S (pfp_i_permutation_injective)) * s)) /\ exists ff_q_pfp_permutation_injectiveleft. r = ff_q_pfp_permutation_injectiveleft * S ((S (pfp_i_permutation_injective)) * s) + (pfp_a_permutation_injective))) -> (((exists ff_h_pfp_permutation_injectiveright. ff_h_pfp_permutation_injectiveright + S (pfp_a_permutation_injective) = S ((S (pfp_j_permutation_injective)) * s)) /\ exists ff_q_pfp_permutation_injectiveright. r = ff_q_pfp_permutation_injectiveright * S ((S (pfp_j_permutation_injective)) * s) + (pfp_a_permutation_injective))) -> pfp_i_permutation_injective = pfp_j_permutation_injective) -> (forall dsr_index_permutation_pullback dsr_image_permutation_pullback dsr_value_permutation_pullback. (exists pvs_gap_permutation_pullbackbound. pvs_gap_permutation_pullbackbound + S (dsr_index_permutation_pullback) = (l)) -> (((exists ff_h_pvs_permutation_pullbackmap. ff_h_pvs_permutation_pullbackmap + S (dsr_image_permutation_pullback) = S ((S (dsr_index_permutation_pullback)) * s)) /\ exists ff_q_pvs_permutation_pullbackmap. r = ff_q_pvs_permutation_pullbackmap * S ((S (dsr_index_permutation_pullback)) * s) + (dsr_image_permutation_pullback))) -> (exists dst_positive_code_permutation_pullbacksource dst_positive_scale_permutation_pullbacksource dst_negative_code_permutation_pullbacksource dst_negative_scale_permutation_pullbacksource dst_positive_permutation_pullbacksource dst_negative_permutation_pullbacksource. (((F) = (((((dst_positive_code_permutation_pullbacksource) + (dst_positive_scale_permutation_pullbacksource)) * S ((dst_positive_code_permutation_pullbacksource) + (dst_positive_scale_permutation_pullbacksource)) + ((dst_positive_scale_permutation_pullbacksource) + (dst_positive_scale_permutation_pullbacksource))) + (((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) * S ((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) + ((dst_negative_scale_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)))) * S ((((dst_positive_code_permutation_pullbacksource) + (dst_positive_scale_permutation_pullbacksource)) * S ((dst_positive_code_permutation_pullbacksource) + (dst_positive_scale_permutation_pullbacksource)) + ((dst_positive_scale_permutation_pullbacksource) + (dst_positive_scale_permutation_pullbacksource))) + (((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) * S ((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) + ((dst_negative_scale_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)))) + ((((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) * S ((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) + ((dst_negative_scale_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource))) + (((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) * S ((dst_negative_code_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)) + ((dst_negative_scale_permutation_pullbacksource) + (dst_negative_scale_permutation_pullbacksource)))))) /\ (((((exists ff_h_pvs_permutation_pullbacksourcepositive. ff_h_pvs_permutation_pullbacksourcepositive + S (dst_positive_permutation_pullbacksource) = S ((S (dsr_image_permutation_pullback)) * dst_positive_scale_permutation_pullbacksource)) /\ exists ff_q_pvs_permutation_pullbacksourcepositive. dst_positive_code_permutation_pullbacksource = ff_q_pvs_permutation_pullbacksourcepositive * S ((S (dsr_image_permutation_pullback)) * dst_positive_scale_permutation_pullbacksource) + (dst_positive_permutation_pullbacksource))) /\ (((((exists ff_h_pvs_permutation_pullbacksourcenegative. ff_h_pvs_permutation_pullbacksourcenegative + S (dst_negative_permutation_pullbacksource) = S ((S (dsr_image_permutation_pullback)) * dst_negative_scale_permutation_pullbacksource)) /\ exists ff_q_pvs_permutation_pullbacksourcenegative. dst_negative_code_permutation_pullbacksource = ff_q_pvs_permutation_pullbacksourcenegative * S ((S (dsr_image_permutation_pullback)) * dst_negative_scale_permutation_pullbacksource) + (dst_negative_permutation_pullbacksource))) /\ (exists ge_balance_positive_permutation_pullbacksourcevalue ge_balance_negative_permutation_pullbacksourcevalue. (((((dsr_value_permutation_pullback) = 2 * (ge_balance_positive_permutation_pullbacksourcevalue) /\ (ge_balance_negative_permutation_pullbacksourcevalue) = 0) \/ exists ge_signed_half_permutation_pullbacksourcevaluedecode. (((dsr_value_permutation_pullback) = 2 * ge_signed_half_permutation_pullbacksourcevaluedecode + 1 /\ (ge_balance_positive_permutation_pullbacksourcevalue) = 0) /\ (ge_balance_negative_permutation_pullbacksourcevalue) = S ge_signed_half_permutation_pullbacksourcevaluedecode))) /\ ((dst_positive_permutation_pullbacksource) + ge_balance_negative_permutation_pullbacksourcevalue = (dst_negative_permutation_pullbacksource) + ge_balance_positive_permutation_pullbacksourcevalue))))))))) -> (exists dst_positive_code_permutation_pullbacktarget dst_positive_scale_permutation_pullbacktarget dst_negative_code_permutation_pullbacktarget dst_negative_scale_permutation_pullbacktarget dst_positive_permutation_pullbacktarget dst_negative_permutation_pullbacktarget. (((G) = (((((dst_positive_code_permutation_pullbacktarget) + (dst_positive_scale_permutation_pullbacktarget)) * S ((dst_positive_code_permutation_pullbacktarget) + (dst_positive_scale_permutation_pullbacktarget)) + ((dst_positive_scale_permutation_pullbacktarget) + (dst_positive_scale_permutation_pullbacktarget))) + (((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) * S ((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) + ((dst_negative_scale_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)))) * S ((((dst_positive_code_permutation_pullbacktarget) + (dst_positive_scale_permutation_pullbacktarget)) * S ((dst_positive_code_permutation_pullbacktarget) + (dst_positive_scale_permutation_pullbacktarget)) + ((dst_positive_scale_permutation_pullbacktarget) + (dst_positive_scale_permutation_pullbacktarget))) + (((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) * S ((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) + ((dst_negative_scale_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)))) + ((((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) * S ((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) + ((dst_negative_scale_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget))) + (((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) * S ((dst_negative_code_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)) + ((dst_negative_scale_permutation_pullbacktarget) + (dst_negative_scale_permutation_pullbacktarget)))))) /\ (((((exists ff_h_pvs_permutation_pullbacktargetpositive. ff_h_pvs_permutation_pullbacktargetpositive + S (dst_positive_permutation_pullbacktarget) = S ((S (dsr_index_permutation_pullback)) * dst_positive_scale_permutation_pullbacktarget)) /\ exists ff_q_pvs_permutation_pullbacktargetpositive. dst_positive_code_permutation_pullbacktarget = ff_q_pvs_permutation_pullbacktargetpositive * S ((S (dsr_index_permutation_pullback)) * dst_positive_scale_permutation_pullbacktarget) + (dst_positive_permutation_pullbacktarget))) /\ (((((exists ff_h_pvs_permutation_pullbacktargetnegative. ff_h_pvs_permutation_pullbacktargetnegative + S (dst_negative_permutation_pullbacktarget) = S ((S (dsr_index_permutation_pullback)) * dst_negative_scale_permutation_pullbacktarget)) /\ exists ff_q_pvs_permutation_pullbacktargetnegative. dst_negative_code_permutation_pullbacktarget = ff_q_pvs_permutation_pullbacktargetnegative * S ((S (dsr_index_permutation_pullback)) * dst_negative_scale_permutation_pullbacktarget) + (dst_negative_permutation_pullbacktarget))) /\ (exists ge_balance_positive_permutation_pullbacktargetvalue ge_balance_negative_permutation_pullbacktargetvalue. (((((dsr_value_permutation_pullback) = 2 * (ge_balance_positive_permutation_pullbacktargetvalue) /\ (ge_balance_negative_permutation_pullbacktargetvalue) = 0) \/ exists ge_signed_half_permutation_pullbacktargetvaluedecode. (((dsr_value_permutation_pullback) = 2 * ge_signed_half_permutation_pullbacktargetvaluedecode + 1 /\ (ge_balance_positive_permutation_pullbacktargetvalue) = 0) /\ (ge_balance_negative_permutation_pullbacktargetvalue) = S ge_signed_half_permutation_pullbacktargetvaluedecode))) /\ ((dst_positive_permutation_pullbacktarget) + ge_balance_negative_permutation_pullbacktargetvalue = (dst_negative_permutation_pullbacktarget) + ge_balance_positive_permutation_pullbacktargetvalue)))))))))) -> (exists dst_positive_code_permutation_source dst_positive_scale_permutation_source dst_negative_code_permutation_source dst_negative_scale_permutation_source dst_positive_sum_permutation_source dst_negative_sum_permutation_source. (((F) = (((((dst_positive_code_permutation_source) + (dst_positive_scale_permutation_source)) * S ((dst_positive_code_permutation_source) + (dst_positive_scale_permutation_source)) + ((dst_positive_scale_permutation_source) + (dst_positive_scale_permutation_source))) + (((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) * S ((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) + ((dst_negative_scale_permutation_source) + (dst_negative_scale_permutation_source)))) * S ((((dst_positive_code_permutation_source) + (dst_positive_scale_permutation_source)) * S ((dst_positive_code_permutation_source) + (dst_positive_scale_permutation_source)) + ((dst_positive_scale_permutation_source) + (dst_positive_scale_permutation_source))) + (((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) * S ((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) + ((dst_negative_scale_permutation_source) + (dst_negative_scale_permutation_source)))) + ((((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) * S ((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) + ((dst_negative_scale_permutation_source) + (dst_negative_scale_permutation_source))) + (((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) * S ((dst_negative_code_permutation_source) + (dst_negative_scale_permutation_source)) + ((dst_negative_scale_permutation_source) + (dst_negative_scale_permutation_source)))))) /\ (((exists fs_u_dst_permutation_sourcepositive fs_v_dst_permutation_sourcepositive. ((((exists fs_h_dst_permutation_sourcepositive_body_start. fs_h_dst_permutation_sourcepositive_body_start + S (0) = S ((S (0)) * fs_v_dst_permutation_sourcepositive)) /\ exists fs_q_dst_permutation_sourcepositive_body_start. fs_u_dst_permutation_sourcepositive = fs_q_dst_permutation_sourcepositive_body_start * S ((S (0)) * fs_v_dst_permutation_sourcepositive) + (0))) /\ ((((exists fs_h_dst_permutation_sourcepositive_body_terminal. fs_h_dst_permutation_sourcepositive_body_terminal + S (dst_positive_sum_permutation_source) = S ((S (l)) * fs_v_dst_permutation_sourcepositive)) /\ exists fs_q_dst_permutation_sourcepositive_body_terminal. fs_u_dst_permutation_sourcepositive = fs_q_dst_permutation_sourcepositive_body_terminal * S ((S (l)) * fs_v_dst_permutation_sourcepositive) + (dst_positive_sum_permutation_source))) /\ forall fs_i_dst_permutation_sourcepositive_body_steps. (exists fs_lt_dst_permutation_sourcepositive_body_steps_bound. fs_lt_dst_permutation_sourcepositive_body_steps_bound + S fs_i_dst_permutation_sourcepositive_body_steps = l) -> exists fs_a_dst_permutation_sourcepositive_body_steps fs_r_dst_permutation_sourcepositive_body_steps fs_s_dst_permutation_sourcepositive_body_steps. ((((exists fs_h_dst_permutation_sourcepositive_body_steps_summand. fs_h_dst_permutation_sourcepositive_body_steps_summand + S (fs_a_dst_permutation_sourcepositive_body_steps) = S ((S (fs_i_dst_permutation_sourcepositive_body_steps)) * dst_positive_scale_permutation_source)) /\ exists fs_q_dst_permutation_sourcepositive_body_steps_summand. dst_positive_code_permutation_source = fs_q_dst_permutation_sourcepositive_body_steps_summand * S ((S (fs_i_dst_permutation_sourcepositive_body_steps)) * dst_positive_scale_permutation_source) + (fs_a_dst_permutation_sourcepositive_body_steps))) /\ ((((exists fs_h_dst_permutation_sourcepositive_body_steps_partial. fs_h_dst_permutation_sourcepositive_body_steps_partial + S (fs_r_dst_permutation_sourcepositive_body_steps) = S ((S (fs_i_dst_permutation_sourcepositive_body_steps)) * fs_v_dst_permutation_sourcepositive)) /\ exists fs_q_dst_permutation_sourcepositive_body_steps_partial. fs_u_dst_permutation_sourcepositive = fs_q_dst_permutation_sourcepositive_body_steps_partial * S ((S (fs_i_dst_permutation_sourcepositive_body_steps)) * fs_v_dst_permutation_sourcepositive) + (fs_r_dst_permutation_sourcepositive_body_steps))) /\ ((((exists fs_h_dst_permutation_sourcepositive_body_steps_successor. fs_h_dst_permutation_sourcepositive_body_steps_successor + S (fs_s_dst_permutation_sourcepositive_body_steps) = S ((S (S fs_i_dst_permutation_sourcepositive_body_steps)) * fs_v_dst_permutation_sourcepositive)) /\ exists fs_q_dst_permutation_sourcepositive_body_steps_successor. fs_u_dst_permutation_sourcepositive = fs_q_dst_permutation_sourcepositive_body_steps_successor * S ((S (S fs_i_dst_permutation_sourcepositive_body_steps)) * fs_v_dst_permutation_sourcepositive) + (fs_s_dst_permutation_sourcepositive_body_steps))) /\ fs_s_dst_permutation_sourcepositive_body_steps = fs_r_dst_permutation_sourcepositive_body_steps + fs_a_dst_permutation_sourcepositive_body_steps)))))) /\ (((exists fs_u_dst_permutation_sourcenegative fs_v_dst_permutation_sourcenegative. ((((exists fs_h_dst_permutation_sourcenegative_body_start. fs_h_dst_permutation_sourcenegative_body_start + S (0) = S ((S (0)) * fs_v_dst_permutation_sourcenegative)) /\ exists fs_q_dst_permutation_sourcenegative_body_start. fs_u_dst_permutation_sourcenegative = fs_q_dst_permutation_sourcenegative_body_start * S ((S (0)) * fs_v_dst_permutation_sourcenegative) + (0))) /\ ((((exists fs_h_dst_permutation_sourcenegative_body_terminal. fs_h_dst_permutation_sourcenegative_body_terminal + S (dst_negative_sum_permutation_source) = S ((S (l)) * fs_v_dst_permutation_sourcenegative)) /\ exists fs_q_dst_permutation_sourcenegative_body_terminal. fs_u_dst_permutation_sourcenegative = fs_q_dst_permutation_sourcenegative_body_terminal * S ((S (l)) * fs_v_dst_permutation_sourcenegative) + (dst_negative_sum_permutation_source))) /\ forall fs_i_dst_permutation_sourcenegative_body_steps. (exists fs_lt_dst_permutation_sourcenegative_body_steps_bound. fs_lt_dst_permutation_sourcenegative_body_steps_bound + S fs_i_dst_permutation_sourcenegative_body_steps = l) -> exists fs_a_dst_permutation_sourcenegative_body_steps fs_r_dst_permutation_sourcenegative_body_steps fs_s_dst_permutation_sourcenegative_body_steps. ((((exists fs_h_dst_permutation_sourcenegative_body_steps_summand. fs_h_dst_permutation_sourcenegative_body_steps_summand + S (fs_a_dst_permutation_sourcenegative_body_steps) = S ((S (fs_i_dst_permutation_sourcenegative_body_steps)) * dst_negative_scale_permutation_source)) /\ exists fs_q_dst_permutation_sourcenegative_body_steps_summand. dst_negative_code_permutation_source = fs_q_dst_permutation_sourcenegative_body_steps_summand * S ((S (fs_i_dst_permutation_sourcenegative_body_steps)) * dst_negative_scale_permutation_source) + (fs_a_dst_permutation_sourcenegative_body_steps))) /\ ((((exists fs_h_dst_permutation_sourcenegative_body_steps_partial. fs_h_dst_permutation_sourcenegative_body_steps_partial + S (fs_r_dst_permutation_sourcenegative_body_steps) = S ((S (fs_i_dst_permutation_sourcenegative_body_steps)) * fs_v_dst_permutation_sourcenegative)) /\ exists fs_q_dst_permutation_sourcenegative_body_steps_partial. fs_u_dst_permutation_sourcenegative = fs_q_dst_permutation_sourcenegative_body_steps_partial * S ((S (fs_i_dst_permutation_sourcenegative_body_steps)) * fs_v_dst_permutation_sourcenegative) + (fs_r_dst_permutation_sourcenegative_body_steps))) /\ ((((exists fs_h_dst_permutation_sourcenegative_body_steps_successor. fs_h_dst_permutation_sourcenegative_body_steps_successor + S (fs_s_dst_permutation_sourcenegative_body_steps) = S ((S (S fs_i_dst_permutation_sourcenegative_body_steps)) * fs_v_dst_permutation_sourcenegative)) /\ exists fs_q_dst_permutation_sourcenegative_body_steps_successor. fs_u_dst_permutation_sourcenegative = fs_q_dst_permutation_sourcenegative_body_steps_successor * S ((S (S fs_i_dst_permutation_sourcenegative_body_steps)) * fs_v_dst_permutation_sourcenegative) + (fs_s_dst_permutation_sourcenegative_body_steps))) /\ fs_s_dst_permutation_sourcenegative_body_steps = fs_r_dst_permutation_sourcenegative_body_steps + fs_a_dst_permutation_sourcenegative_body_steps)))))) /\ (exists ge_balance_positive_permutation_sourceresult ge_balance_negative_permutation_sourceresult. (((((u) = 2 * (ge_balance_positive_permutation_sourceresult) /\ (ge_balance_negative_permutation_sourceresult) = 0) \/ exists ge_signed_half_permutation_sourceresultdecode. (((u) = 2 * ge_signed_half_permutation_sourceresultdecode + 1 /\ (ge_balance_positive_permutation_sourceresult) = 0) /\ (ge_balance_negative_permutation_sourceresult) = S ge_signed_half_permutation_sourceresultdecode))) /\ ((dst_positive_sum_permutation_source) + ge_balance_negative_permutation_sourceresult = (dst_negative_sum_permutation_source) + ge_balance_positive_permutation_sourceresult))))))))) -> (exists dst_positive_code_permutation_target dst_positive_scale_permutation_target dst_negative_code_permutation_target dst_negative_scale_permutation_target dst_positive_sum_permutation_target dst_negative_sum_permutation_target. (((G) = (((((dst_positive_code_permutation_target) + (dst_positive_scale_permutation_target)) * S ((dst_positive_code_permutation_target) + (dst_positive_scale_permutation_target)) + ((dst_positive_scale_permutation_target) + (dst_positive_scale_permutation_target))) + (((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) * S ((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) + ((dst_negative_scale_permutation_target) + (dst_negative_scale_permutation_target)))) * S ((((dst_positive_code_permutation_target) + (dst_positive_scale_permutation_target)) * S ((dst_positive_code_permutation_target) + (dst_positive_scale_permutation_target)) + ((dst_positive_scale_permutation_target) + (dst_positive_scale_permutation_target))) + (((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) * S ((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) + ((dst_negative_scale_permutation_target) + (dst_negative_scale_permutation_target)))) + ((((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) * S ((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) + ((dst_negative_scale_permutation_target) + (dst_negative_scale_permutation_target))) + (((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) * S ((dst_negative_code_permutation_target) + (dst_negative_scale_permutation_target)) + ((dst_negative_scale_permutation_target) + (dst_negative_scale_permutation_target)))))) /\ (((exists fs_u_dst_permutation_targetpositive fs_v_dst_permutation_targetpositive. ((((exists fs_h_dst_permutation_targetpositive_body_start. fs_h_dst_permutation_targetpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_permutation_targetpositive)) /\ exists fs_q_dst_permutation_targetpositive_body_start. fs_u_dst_permutation_targetpositive = fs_q_dst_permutation_targetpositive_body_start * S ((S (0)) * fs_v_dst_permutation_targetpositive) + (0))) /\ ((((exists fs_h_dst_permutation_targetpositive_body_terminal. fs_h_dst_permutation_targetpositive_body_terminal + S (dst_positive_sum_permutation_target) = S ((S (l)) * fs_v_dst_permutation_targetpositive)) /\ exists fs_q_dst_permutation_targetpositive_body_terminal. fs_u_dst_permutation_targetpositive = fs_q_dst_permutation_targetpositive_body_terminal * S ((S (l)) * fs_v_dst_permutation_targetpositive) + (dst_positive_sum_permutation_target))) /\ forall fs_i_dst_permutation_targetpositive_body_steps. (exists fs_lt_dst_permutation_targetpositive_body_steps_bound. fs_lt_dst_permutation_targetpositive_body_steps_bound + S fs_i_dst_permutation_targetpositive_body_steps = l) -> exists fs_a_dst_permutation_targetpositive_body_steps fs_r_dst_permutation_targetpositive_body_steps fs_s_dst_permutation_targetpositive_body_steps. ((((exists fs_h_dst_permutation_targetpositive_body_steps_summand. fs_h_dst_permutation_targetpositive_body_steps_summand + S (fs_a_dst_permutation_targetpositive_body_steps) = S ((S (fs_i_dst_permutation_targetpositive_body_steps)) * dst_positive_scale_permutation_target)) /\ exists fs_q_dst_permutation_targetpositive_body_steps_summand. dst_positive_code_permutation_target = fs_q_dst_permutation_targetpositive_body_steps_summand * S ((S (fs_i_dst_permutation_targetpositive_body_steps)) * dst_positive_scale_permutation_target) + (fs_a_dst_permutation_targetpositive_body_steps))) /\ ((((exists fs_h_dst_permutation_targetpositive_body_steps_partial. fs_h_dst_permutation_targetpositive_body_steps_partial + S (fs_r_dst_permutation_targetpositive_body_steps) = S ((S (fs_i_dst_permutation_targetpositive_body_steps)) * fs_v_dst_permutation_targetpositive)) /\ exists fs_q_dst_permutation_targetpositive_body_steps_partial. fs_u_dst_permutation_targetpositive = fs_q_dst_permutation_targetpositive_body_steps_partial * S ((S (fs_i_dst_permutation_targetpositive_body_steps)) * fs_v_dst_permutation_targetpositive) + (fs_r_dst_permutation_targetpositive_body_steps))) /\ ((((exists fs_h_dst_permutation_targetpositive_body_steps_successor. fs_h_dst_permutation_targetpositive_body_steps_successor + S (fs_s_dst_permutation_targetpositive_body_steps) = S ((S (S fs_i_dst_permutation_targetpositive_body_steps)) * fs_v_dst_permutation_targetpositive)) /\ exists fs_q_dst_permutation_targetpositive_body_steps_successor. fs_u_dst_permutation_targetpositive = fs_q_dst_permutation_targetpositive_body_steps_successor * S ((S (S fs_i_dst_permutation_targetpositive_body_steps)) * fs_v_dst_permutation_targetpositive) + (fs_s_dst_permutation_targetpositive_body_steps))) /\ fs_s_dst_permutation_targetpositive_body_steps = fs_r_dst_permutation_targetpositive_body_steps + fs_a_dst_permutation_targetpositive_body_steps)))))) /\ (((exists fs_u_dst_permutation_targetnegative fs_v_dst_permutation_targetnegative. ((((exists fs_h_dst_permutation_targetnegative_body_start. fs_h_dst_permutation_targetnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_permutation_targetnegative)) /\ exists fs_q_dst_permutation_targetnegative_body_start. fs_u_dst_permutation_targetnegative = fs_q_dst_permutation_targetnegative_body_start * S ((S (0)) * fs_v_dst_permutation_targetnegative) + (0))) /\ ((((exists fs_h_dst_permutation_targetnegative_body_terminal. fs_h_dst_permutation_targetnegative_body_terminal + S (dst_negative_sum_permutation_target) = S ((S (l)) * fs_v_dst_permutation_targetnegative)) /\ exists fs_q_dst_permutation_targetnegative_body_terminal. fs_u_dst_permutation_targetnegative = fs_q_dst_permutation_targetnegative_body_terminal * S ((S (l)) * fs_v_dst_permutation_targetnegative) + (dst_negative_sum_permutation_target))) /\ forall fs_i_dst_permutation_targetnegative_body_steps. (exists fs_lt_dst_permutation_targetnegative_body_steps_bound. fs_lt_dst_permutation_targetnegative_body_steps_bound + S fs_i_dst_permutation_targetnegative_body_steps = l) -> exists fs_a_dst_permutation_targetnegative_body_steps fs_r_dst_permutation_targetnegative_body_steps fs_s_dst_permutation_targetnegative_body_steps. ((((exists fs_h_dst_permutation_targetnegative_body_steps_summand. fs_h_dst_permutation_targetnegative_body_steps_summand + S (fs_a_dst_permutation_targetnegative_body_steps) = S ((S (fs_i_dst_permutation_targetnegative_body_steps)) * dst_negative_scale_permutation_target)) /\ exists fs_q_dst_permutation_targetnegative_body_steps_summand. dst_negative_code_permutation_target = fs_q_dst_permutation_targetnegative_body_steps_summand * S ((S (fs_i_dst_permutation_targetnegative_body_steps)) * dst_negative_scale_permutation_target) + (fs_a_dst_permutation_targetnegative_body_steps))) /\ ((((exists fs_h_dst_permutation_targetnegative_body_steps_partial. fs_h_dst_permutation_targetnegative_body_steps_partial + S (fs_r_dst_permutation_targetnegative_body_steps) = S ((S (fs_i_dst_permutation_targetnegative_body_steps)) * fs_v_dst_permutation_targetnegative)) /\ exists fs_q_dst_permutation_targetnegative_body_steps_partial. fs_u_dst_permutation_targetnegative = fs_q_dst_permutation_targetnegative_body_steps_partial * S ((S (fs_i_dst_permutation_targetnegative_body_steps)) * fs_v_dst_permutation_targetnegative) + (fs_r_dst_permutation_targetnegative_body_steps))) /\ ((((exists fs_h_dst_permutation_targetnegative_body_steps_successor. fs_h_dst_permutation_targetnegative_body_steps_successor + S (fs_s_dst_permutation_targetnegative_body_steps) = S ((S (S fs_i_dst_permutation_targetnegative_body_steps)) * fs_v_dst_permutation_targetnegative)) /\ exists fs_q_dst_permutation_targetnegative_body_steps_successor. fs_u_dst_permutation_targetnegative = fs_q_dst_permutation_targetnegative_body_steps_successor * S ((S (S fs_i_dst_permutation_targetnegative_body_steps)) * fs_v_dst_permutation_targetnegative) + (fs_s_dst_permutation_targetnegative_body_steps))) /\ fs_s_dst_permutation_targetnegative_body_steps = fs_r_dst_permutation_targetnegative_body_steps + fs_a_dst_permutation_targetnegative_body_steps)))))) /\ (exists ge_balance_positive_permutation_targetresult ge_balance_negative_permutation_targetresult. (((((v) = 2 * (ge_balance_positive_permutation_targetresult) /\ (ge_balance_negative_permutation_targetresult) = 0) \/ exists ge_signed_half_permutation_targetresultdecode. (((v) = 2 * ge_signed_half_permutation_targetresultdecode + 1 /\ (ge_balance_positive_permutation_targetresult) = 0) /\ (ge_balance_negative_permutation_targetresult) = S ge_signed_half_permutation_targetresultdecode))) /\ ((dst_positive_sum_permutation_target) + ge_balance_negative_permutation_targetresult = (dst_negative_sum_permutation_target) + ge_balance_positive_permutation_targetresult))))))))) -> u = vConstructive proof overview
Generated structural guide
Any actual bounded injective beta permutation preserves the genuine signed sum, even for unrelated positive/negative representations of the pullback table.
The unchanged tactic script uses 6 declared prerequisites and contains 108 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
SS0019 divisor_signed_table_reindex_data_exists SS000B divisor_signed_sum_exists_from_components SS001D divisor_signed_sum_component_reindex SS0014 divisor_signed_sum_extensional SS001C divisor_signed_table_reindex_functional SS001A divisor_signed_table_reindex_from_componentsDirect 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 (6)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hu - L14
cases hu_witness - L15
cases hu_witness_witness - L16
cases hu_witness_witness_witness - L17
cases hu_witness_witness_witness_witness - L18
cases hu_witness_witness_witness_witness_witness - L19
cases hu_witness_witness_witness_witness_witness_witness - L20
cases hu_witness_witness_witness_witness_witness_witness_right - L21
cases hu_witness_witness_witness_witness_witness_witness_right_right
04Establish hdataL22–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table reindex data exists.
- L22
- L23
specialize divisor_signed_table_reindex_data_exists (x) - L24
specialize divisor_signed_table_reindex_data_exists (x1) - L25
specialize divisor_signed_table_reindex_data_exists (x2) - L26
specialize divisor_signed_table_reindex_data_exists (x3) - L27
specialize divisor_signed_table_reindex_data_exists (r) - L28
specialize divisor_signed_table_reindex_data_exists (s) - L29
specialize divisor_signed_table_reindex_data_exists (l) - L30
apply divisor_signed_table_reindex_data_exists
05Separate the logical casesL31–34
06Establish hsumL35–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed sum exists from components.
- L35
have hsum : ∃ z. SignedPrefixSum(((x6 + x7) · S (x6 + x7) + (x7 + x7) + ((x8 + x9) · S (x8 + x9) + (x9 + x9))) · S ((x6 + x7) · S (x6 + x7) + (x7 + x7) + ((x8 + x9) · S (x8 + x9) + (x9 + x9))) + ((x8 + x9) · S (x8 + x9) + (x9 + x9) + ((x8 + x9) · S (x8 + x9) + (x9 + x9))),l,z)Definitions: SignedPrefixSum - L36
specialize divisor_signed_sum_exists_from_components (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - L37
specialize divisor_signed_sum_exists_from_components (x6) - L38
specialize divisor_signed_sum_exists_from_components (x7) - L39
specialize divisor_signed_sum_exists_from_components (x8) - L40
specialize divisor_signed_sum_exists_from_components (x9) - L41
specialize divisor_signed_sum_exists_from_components (l) - L42
apply divisor_signed_sum_exists_from_components - L43
refl
07Separate the logical casesL44–44
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L44
cases hsum
08Establish heqL45–54
Establish this local claim before using it. It is not an additional assumption.
- L45
have heq : u = x10 - L46
specialize divisor_signed_sum_component_reindex (F) - L47
specialize divisor_signed_sum_component_reindex (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - L48
specialize divisor_signed_sum_component_reindex (x) - L49
specialize divisor_signed_sum_component_reindex (x1) - L50
specialize divisor_signed_sum_component_reindex (x2) - L51
specialize divisor_signed_sum_component_reindex (x3) - L52
specialize divisor_signed_sum_component_reindex (x6) - L53
specialize divisor_signed_sum_component_reindex (x7) - L54
specialize divisor_signed_sum_component_reindex (x8)
09Use earlier factsL55–62
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
specialize divisor_signed_sum_component_reindex (x9) - L56
specialize divisor_signed_sum_component_reindex (r) - L57
specialize divisor_signed_sum_component_reindex (s) - L58
specialize divisor_signed_sum_component_reindex (l) - L59
specialize divisor_signed_sum_component_reindex (u) - L60
specialize divisor_signed_sum_component_reindex (x10) - L61
apply divisor_signed_sum_component_reindex - L62
exact hu_witness_witness_witness_witness_witness_witness_left
10Calculate and transport equalitiesL63–63
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L63
refl
11Use earlier factsL64–68
12Calculate and transport equalitiesL69–69
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L69
trans x10
13Use earlier factsL70–79
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact heq - L71
specialize divisor_signed_sum_extensional (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - L72
specialize divisor_signed_sum_extensional (G) - L73
specialize divisor_signed_sum_extensional (l) - L74
specialize divisor_signed_sum_extensional (x10) - L75
specialize divisor_signed_sum_extensional (v) - L76
apply divisor_signed_sum_extensional - L77
specialize divisor_signed_table_reindex_functional (F) - L78
specialize divisor_signed_table_reindex_functional (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - L79
specialize divisor_signed_table_reindex_functional (G)
14Use earlier factsL80–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L80
specialize divisor_signed_table_reindex_functional (x) - L81
specialize divisor_signed_table_reindex_functional (x1) - L82
specialize divisor_signed_table_reindex_functional (x2) - L83
specialize divisor_signed_table_reindex_functional (x3) - L84
specialize divisor_signed_table_reindex_functional (r) - L85
specialize divisor_signed_table_reindex_functional (s) - L86
specialize divisor_signed_table_reindex_functional (l) - L87
apply divisor_signed_table_reindex_functional - L88
exact hu_witness_witness_witness_witness_witness_witness_left - L89
specialize divisor_signed_table_reindex_from_components (F)
15Use earlier factsL90–99
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L90
specialize divisor_signed_table_reindex_from_components (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - L91
specialize divisor_signed_table_reindex_from_components (x) - L92
specialize divisor_signed_table_reindex_from_components (x1) - L93
specialize divisor_signed_table_reindex_from_components (x2) - L94
specialize divisor_signed_table_reindex_from_components (x3) - L95
specialize divisor_signed_table_reindex_from_components (x6) - L96
specialize divisor_signed_table_reindex_from_components (x7) - L97
specialize divisor_signed_table_reindex_from_components (x8) - L98
specialize divisor_signed_table_reindex_from_components (x9) - L99
specialize divisor_signed_table_reindex_from_components (r)
16Use earlier factsL100–103
Instantiate or apply named facts and discharge the corresponding proof obligations.
17Calculate and transport equalitiesL104–104
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L104
refl
Original exact command ledger · 108 lines
- 0001
intro F - 0002
intro G - 0003
intro r - 0004
intro s - 0005
intro l - 0006
intro u - 0007
intro v - 0008
intro hbound - 0009
intro hinj - 0010
intro hreindex - 0011
intro hu - 0012
intro hv - 0013
cases hu - 0014
cases hu_witness - 0015
cases hu_witness_witness - 0016
cases hu_witness_witness_witness - 0017
cases hu_witness_witness_witness_witness - 0018
cases hu_witness_witness_witness_witness_witness - 0019
cases hu_witness_witness_witness_witness_witness_witness - 0020
cases hu_witness_witness_witness_witness_witness_witness_right - 0021
cases hu_witness_witness_witness_witness_witness_witness_right_right - 0022
have hdata : exists qb qc mb mc. (((forall fms_i_permutation_constructedpositive fms_j_permutation_constructedpositive fms_v_permutation_constructedpositive. (exists fms_gap_permutation_constructedpositive. fms_gap_permutation_constructedpositive + S (fms_i_permutation_constructedpositive) = (l)) -> (((exists fs_h_fms_permutation_constructedpositive_index. fs_h_fms_permutation_constructedpositive_index + S (fms_j_permutation_constructedpositive) = S ((S (fms_i_permutation_constructedpositive)) * s)) /\ exists fs_q_fms_permutation_constructedpositive_index. r = fs_q_fms_permutation_constructedpositive_index * S ((S (fms_i_permutation_constructedpositive)) * s) + (fms_j_permutation_constructedpositive))) -> (((exists fs_h_fms_permutation_constructedpositive_source. fs_h_fms_permutation_constructedpositive_source + S (fms_v_permutation_constructedpositive) = S ((S (fms_j_permutation_constructedpositive)) * x1)) /\ exists fs_q_fms_permutation_constructedpositive_source. x = fs_q_fms_permutation_constructedpositive_source * S ((S (fms_j_permutation_constructedpositive)) * x1) + (fms_v_permutation_constructedpositive))) -> (((exists fs_h_fms_permutation_constructedpositive_target. fs_h_fms_permutation_constructedpositive_target + S (fms_v_permutation_constructedpositive) = S ((S (fms_i_permutation_constructedpositive)) * qc)) /\ exists fs_q_fms_permutation_constructedpositive_target. qb = fs_q_fms_permutation_constructedpositive_target * S ((S (fms_i_permutation_constructedpositive)) * qc) + (fms_v_permutation_constructedpositive)))) /\ (forall fms_i_permutation_constructednegative fms_j_permutation_constructednegative fms_v_permutation_constructednegative. (exists fms_gap_permutation_constructednegative. fms_gap_permutation_constructednegative + S (fms_i_permutation_constructednegative) = (l)) -> (((exists fs_h_fms_permutation_constructednegative_index. fs_h_fms_permutation_constructednegative_index + S (fms_j_permutation_constructednegative) = S ((S (fms_i_permutation_constructednegative)) * s)) /\ exists fs_q_fms_permutation_constructednegative_index. r = fs_q_fms_permutation_constructednegative_index * S ((S (fms_i_permutation_constructednegative)) * s) + (fms_j_permutation_constructednegative))) -> (((exists fs_h_fms_permutation_constructednegative_source. fs_h_fms_permutation_constructednegative_source + S (fms_v_permutation_constructednegative) = S ((S (fms_j_permutation_constructednegative)) * x3)) /\ exists fs_q_fms_permutation_constructednegative_source. x2 = fs_q_fms_permutation_constructednegative_source * S ((S (fms_j_permutation_constructednegative)) * x3) + (fms_v_permutation_constructednegative))) -> (((exists fs_h_fms_permutation_constructednegative_target. fs_h_fms_permutation_constructednegative_target + S (fms_v_permutation_constructednegative) = S ((S (fms_i_permutation_constructednegative)) * mc)) /\ exists fs_q_fms_permutation_constructednegative_target. mb = fs_q_fms_permutation_constructednegative_target * S ((S (fms_i_permutation_constructednegative)) * mc) + (fms_v_permutation_constructednegative)))))) - 0023
specialize divisor_signed_table_reindex_data_exists (x) - 0024
specialize divisor_signed_table_reindex_data_exists (x1) - 0025
specialize divisor_signed_table_reindex_data_exists (x2) - 0026
specialize divisor_signed_table_reindex_data_exists (x3) - 0027
specialize divisor_signed_table_reindex_data_exists (r) - 0028
specialize divisor_signed_table_reindex_data_exists (s) - 0029
specialize divisor_signed_table_reindex_data_exists (l) - 0030
apply divisor_signed_table_reindex_data_exists - 0031
cases hdata - 0032
cases hdata_witness - 0033
cases hdata_witness_witness - 0034
cases hdata_witness_witness_witness - 0035
have hsum : exists z. (exists dst_positive_code_permutation_actual_sum dst_positive_scale_permutation_actual_sum dst_negative_code_permutation_actual_sum dst_negative_scale_permutation_actual_sum dst_positive_sum_permutation_actual_sum dst_negative_sum_permutation_actual_sum. (((((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) = (((((dst_positive_code_permutation_actual_sum) + (dst_positive_scale_permutation_actual_sum)) * S ((dst_positive_code_permutation_actual_sum) + (dst_positive_scale_permutation_actual_sum)) + ((dst_positive_scale_permutation_actual_sum) + (dst_positive_scale_permutation_actual_sum))) + (((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) * S ((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) + ((dst_negative_scale_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)))) * S ((((dst_positive_code_permutation_actual_sum) + (dst_positive_scale_permutation_actual_sum)) * S ((dst_positive_code_permutation_actual_sum) + (dst_positive_scale_permutation_actual_sum)) + ((dst_positive_scale_permutation_actual_sum) + (dst_positive_scale_permutation_actual_sum))) + (((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) * S ((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) + ((dst_negative_scale_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)))) + ((((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) * S ((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) + ((dst_negative_scale_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum))) + (((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) * S ((dst_negative_code_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)) + ((dst_negative_scale_permutation_actual_sum) + (dst_negative_scale_permutation_actual_sum)))))) /\ (((exists fs_u_dst_permutation_actual_sumpositive fs_v_dst_permutation_actual_sumpositive. ((((exists fs_h_dst_permutation_actual_sumpositive_body_start. fs_h_dst_permutation_actual_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_permutation_actual_sumpositive)) /\ exists fs_q_dst_permutation_actual_sumpositive_body_start. fs_u_dst_permutation_actual_sumpositive = fs_q_dst_permutation_actual_sumpositive_body_start * S ((S (0)) * fs_v_dst_permutation_actual_sumpositive) + (0))) /\ ((((exists fs_h_dst_permutation_actual_sumpositive_body_terminal. fs_h_dst_permutation_actual_sumpositive_body_terminal + S (dst_positive_sum_permutation_actual_sum) = S ((S (l)) * fs_v_dst_permutation_actual_sumpositive)) /\ exists fs_q_dst_permutation_actual_sumpositive_body_terminal. fs_u_dst_permutation_actual_sumpositive = fs_q_dst_permutation_actual_sumpositive_body_terminal * S ((S (l)) * fs_v_dst_permutation_actual_sumpositive) + (dst_positive_sum_permutation_actual_sum))) /\ forall fs_i_dst_permutation_actual_sumpositive_body_steps. (exists fs_lt_dst_permutation_actual_sumpositive_body_steps_bound. fs_lt_dst_permutation_actual_sumpositive_body_steps_bound + S fs_i_dst_permutation_actual_sumpositive_body_steps = l) -> exists fs_a_dst_permutation_actual_sumpositive_body_steps fs_r_dst_permutation_actual_sumpositive_body_steps fs_s_dst_permutation_actual_sumpositive_body_steps. ((((exists fs_h_dst_permutation_actual_sumpositive_body_steps_summand. fs_h_dst_permutation_actual_sumpositive_body_steps_summand + S (fs_a_dst_permutation_actual_sumpositive_body_steps) = S ((S (fs_i_dst_permutation_actual_sumpositive_body_steps)) * dst_positive_scale_permutation_actual_sum)) /\ exists fs_q_dst_permutation_actual_sumpositive_body_steps_summand. dst_positive_code_permutation_actual_sum = fs_q_dst_permutation_actual_sumpositive_body_steps_summand * S ((S (fs_i_dst_permutation_actual_sumpositive_body_steps)) * dst_positive_scale_permutation_actual_sum) + (fs_a_dst_permutation_actual_sumpositive_body_steps))) /\ ((((exists fs_h_dst_permutation_actual_sumpositive_body_steps_partial. fs_h_dst_permutation_actual_sumpositive_body_steps_partial + S (fs_r_dst_permutation_actual_sumpositive_body_steps) = S ((S (fs_i_dst_permutation_actual_sumpositive_body_steps)) * fs_v_dst_permutation_actual_sumpositive)) /\ exists fs_q_dst_permutation_actual_sumpositive_body_steps_partial. fs_u_dst_permutation_actual_sumpositive = fs_q_dst_permutation_actual_sumpositive_body_steps_partial * S ((S (fs_i_dst_permutation_actual_sumpositive_body_steps)) * fs_v_dst_permutation_actual_sumpositive) + (fs_r_dst_permutation_actual_sumpositive_body_steps))) /\ ((((exists fs_h_dst_permutation_actual_sumpositive_body_steps_successor. fs_h_dst_permutation_actual_sumpositive_body_steps_successor + S (fs_s_dst_permutation_actual_sumpositive_body_steps) = S ((S (S fs_i_dst_permutation_actual_sumpositive_body_steps)) * fs_v_dst_permutation_actual_sumpositive)) /\ exists fs_q_dst_permutation_actual_sumpositive_body_steps_successor. fs_u_dst_permutation_actual_sumpositive = fs_q_dst_permutation_actual_sumpositive_body_steps_successor * S ((S (S fs_i_dst_permutation_actual_sumpositive_body_steps)) * fs_v_dst_permutation_actual_sumpositive) + (fs_s_dst_permutation_actual_sumpositive_body_steps))) /\ fs_s_dst_permutation_actual_sumpositive_body_steps = fs_r_dst_permutation_actual_sumpositive_body_steps + fs_a_dst_permutation_actual_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_permutation_actual_sumnegative fs_v_dst_permutation_actual_sumnegative. ((((exists fs_h_dst_permutation_actual_sumnegative_body_start. fs_h_dst_permutation_actual_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_permutation_actual_sumnegative)) /\ exists fs_q_dst_permutation_actual_sumnegative_body_start. fs_u_dst_permutation_actual_sumnegative = fs_q_dst_permutation_actual_sumnegative_body_start * S ((S (0)) * fs_v_dst_permutation_actual_sumnegative) + (0))) /\ ((((exists fs_h_dst_permutation_actual_sumnegative_body_terminal. fs_h_dst_permutation_actual_sumnegative_body_terminal + S (dst_negative_sum_permutation_actual_sum) = S ((S (l)) * fs_v_dst_permutation_actual_sumnegative)) /\ exists fs_q_dst_permutation_actual_sumnegative_body_terminal. fs_u_dst_permutation_actual_sumnegative = fs_q_dst_permutation_actual_sumnegative_body_terminal * S ((S (l)) * fs_v_dst_permutation_actual_sumnegative) + (dst_negative_sum_permutation_actual_sum))) /\ forall fs_i_dst_permutation_actual_sumnegative_body_steps. (exists fs_lt_dst_permutation_actual_sumnegative_body_steps_bound. fs_lt_dst_permutation_actual_sumnegative_body_steps_bound + S fs_i_dst_permutation_actual_sumnegative_body_steps = l) -> exists fs_a_dst_permutation_actual_sumnegative_body_steps fs_r_dst_permutation_actual_sumnegative_body_steps fs_s_dst_permutation_actual_sumnegative_body_steps. ((((exists fs_h_dst_permutation_actual_sumnegative_body_steps_summand. fs_h_dst_permutation_actual_sumnegative_body_steps_summand + S (fs_a_dst_permutation_actual_sumnegative_body_steps) = S ((S (fs_i_dst_permutation_actual_sumnegative_body_steps)) * dst_negative_scale_permutation_actual_sum)) /\ exists fs_q_dst_permutation_actual_sumnegative_body_steps_summand. dst_negative_code_permutation_actual_sum = fs_q_dst_permutation_actual_sumnegative_body_steps_summand * S ((S (fs_i_dst_permutation_actual_sumnegative_body_steps)) * dst_negative_scale_permutation_actual_sum) + (fs_a_dst_permutation_actual_sumnegative_body_steps))) /\ ((((exists fs_h_dst_permutation_actual_sumnegative_body_steps_partial. fs_h_dst_permutation_actual_sumnegative_body_steps_partial + S (fs_r_dst_permutation_actual_sumnegative_body_steps) = S ((S (fs_i_dst_permutation_actual_sumnegative_body_steps)) * fs_v_dst_permutation_actual_sumnegative)) /\ exists fs_q_dst_permutation_actual_sumnegative_body_steps_partial. fs_u_dst_permutation_actual_sumnegative = fs_q_dst_permutation_actual_sumnegative_body_steps_partial * S ((S (fs_i_dst_permutation_actual_sumnegative_body_steps)) * fs_v_dst_permutation_actual_sumnegative) + (fs_r_dst_permutation_actual_sumnegative_body_steps))) /\ ((((exists fs_h_dst_permutation_actual_sumnegative_body_steps_successor. fs_h_dst_permutation_actual_sumnegative_body_steps_successor + S (fs_s_dst_permutation_actual_sumnegative_body_steps) = S ((S (S fs_i_dst_permutation_actual_sumnegative_body_steps)) * fs_v_dst_permutation_actual_sumnegative)) /\ exists fs_q_dst_permutation_actual_sumnegative_body_steps_successor. fs_u_dst_permutation_actual_sumnegative = fs_q_dst_permutation_actual_sumnegative_body_steps_successor * S ((S (S fs_i_dst_permutation_actual_sumnegative_body_steps)) * fs_v_dst_permutation_actual_sumnegative) + (fs_s_dst_permutation_actual_sumnegative_body_steps))) /\ fs_s_dst_permutation_actual_sumnegative_body_steps = fs_r_dst_permutation_actual_sumnegative_body_steps + fs_a_dst_permutation_actual_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_permutation_actual_sumresult ge_balance_negative_permutation_actual_sumresult. (((((z) = 2 * (ge_balance_positive_permutation_actual_sumresult) /\ (ge_balance_negative_permutation_actual_sumresult) = 0) \/ exists ge_signed_half_permutation_actual_sumresultdecode. (((z) = 2 * ge_signed_half_permutation_actual_sumresultdecode + 1 /\ (ge_balance_positive_permutation_actual_sumresult) = 0) /\ (ge_balance_negative_permutation_actual_sumresult) = S ge_signed_half_permutation_actual_sumresultdecode))) /\ ((dst_positive_sum_permutation_actual_sum) + ge_balance_negative_permutation_actual_sumresult = (dst_negative_sum_permutation_actual_sum) + ge_balance_positive_permutation_actual_sumresult))))))))) - 0036
specialize divisor_signed_sum_exists_from_components (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - 0037
specialize divisor_signed_sum_exists_from_components (x6) - 0038
specialize divisor_signed_sum_exists_from_components (x7) - 0039
specialize divisor_signed_sum_exists_from_components (x8) - 0040
specialize divisor_signed_sum_exists_from_components (x9) - 0041
specialize divisor_signed_sum_exists_from_components (l) - 0042
apply divisor_signed_sum_exists_from_components - 0043
refl - 0044
cases hsum - 0045
have heq : u = x10 - 0046
specialize divisor_signed_sum_component_reindex (F) - 0047
specialize divisor_signed_sum_component_reindex (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - 0048
specialize divisor_signed_sum_component_reindex (x) - 0049
specialize divisor_signed_sum_component_reindex (x1) - 0050
specialize divisor_signed_sum_component_reindex (x2) - 0051
specialize divisor_signed_sum_component_reindex (x3) - 0052
specialize divisor_signed_sum_component_reindex (x6) - 0053
specialize divisor_signed_sum_component_reindex (x7) - 0054
specialize divisor_signed_sum_component_reindex (x8) - 0055
specialize divisor_signed_sum_component_reindex (x9) - 0056
specialize divisor_signed_sum_component_reindex (r) - 0057
specialize divisor_signed_sum_component_reindex (s) - 0058
specialize divisor_signed_sum_component_reindex (l) - 0059
specialize divisor_signed_sum_component_reindex (u) - 0060
specialize divisor_signed_sum_component_reindex (x10) - 0061
apply divisor_signed_sum_component_reindex - 0062
exact hu_witness_witness_witness_witness_witness_witness_left - 0063
refl - 0064
exact hbound - 0065
exact hinj - 0066
exact hdata_witness_witness_witness_witness - 0067
exact hu - 0068
exact hsum_witness - 0069
trans x10 - 0070
exact heq - 0071
specialize divisor_signed_sum_extensional (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - 0072
specialize divisor_signed_sum_extensional (G) - 0073
specialize divisor_signed_sum_extensional (l) - 0074
specialize divisor_signed_sum_extensional (x10) - 0075
specialize divisor_signed_sum_extensional (v) - 0076
apply divisor_signed_sum_extensional - 0077
specialize divisor_signed_table_reindex_functional (F) - 0078
specialize divisor_signed_table_reindex_functional (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - 0079
specialize divisor_signed_table_reindex_functional (G) - 0080
specialize divisor_signed_table_reindex_functional (x) - 0081
specialize divisor_signed_table_reindex_functional (x1) - 0082
specialize divisor_signed_table_reindex_functional (x2) - 0083
specialize divisor_signed_table_reindex_functional (x3) - 0084
specialize divisor_signed_table_reindex_functional (r) - 0085
specialize divisor_signed_table_reindex_functional (s) - 0086
specialize divisor_signed_table_reindex_functional (l) - 0087
apply divisor_signed_table_reindex_functional - 0088
exact hu_witness_witness_witness_witness_witness_witness_left - 0089
specialize divisor_signed_table_reindex_from_components (F) - 0090
specialize divisor_signed_table_reindex_from_components (((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) * S ((((x6) + (x7)) * S ((x6) + (x7)) + ((x7) + (x7))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9)))) + ((((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))) + (((x8) + (x9)) * S ((x8) + (x9)) + ((x9) + (x9))))) - 0091
specialize divisor_signed_table_reindex_from_components (x) - 0092
specialize divisor_signed_table_reindex_from_components (x1) - 0093
specialize divisor_signed_table_reindex_from_components (x2) - 0094
specialize divisor_signed_table_reindex_from_components (x3) - 0095
specialize divisor_signed_table_reindex_from_components (x6) - 0096
specialize divisor_signed_table_reindex_from_components (x7) - 0097
specialize divisor_signed_table_reindex_from_components (x8) - 0098
specialize divisor_signed_table_reindex_from_components (x9) - 0099
specialize divisor_signed_table_reindex_from_components (r) - 0100
specialize divisor_signed_table_reindex_from_components (s) - 0101
specialize divisor_signed_table_reindex_from_components (l) - 0102
apply divisor_signed_table_reindex_from_components - 0103
exact hu_witness_witness_witness_witness_witness_witness_left - 0104
refl - 0105
exact hdata_witness_witness_witness_witness - 0106
exact hreindex - 0107
exact hsum_witness - 0108
exact hv