MX0021

signed_cartesian_flat_prefix_zero

Alpha v34 independently verified · alpha_closed; checked-use authorized; not Stable

A real singleton and actual flat product provide the inclusive base prefix.

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 n T z. (exists dst_positive_code_prefix_zero_table dst_positive_scale_prefix_zero_table dst_negative_code_prefix_zero_table dst_negative_scale_prefix_zero_table. (((T) = (((((dst_positive_code_prefix_zero_table) + (dst_positive_scale_prefix_zero_table)) * S ((dst_positive_code_prefix_zero_table) + (dst_positive_scale_prefix_zero_table)) + ((dst_positive_scale_prefix_zero_table) + (dst_positive_scale_prefix_zero_table))) + (((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) * S ((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) + ((dst_negative_scale_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)))) * S ((((dst_positive_code_prefix_zero_table) + (dst_positive_scale_prefix_zero_table)) * S ((dst_positive_code_prefix_zero_table) + (dst_positive_scale_prefix_zero_table)) + ((dst_positive_scale_prefix_zero_table) + (dst_positive_scale_prefix_zero_table))) + (((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) * S ((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) + ((dst_negative_scale_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)))) + ((((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) * S ((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) + ((dst_negative_scale_prefix_zero_table) + (dst_negative_scale_prefix_zero_table))) + (((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) * S ((dst_negative_code_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)) + ((dst_negative_scale_prefix_zero_table) + (dst_negative_scale_prefix_zero_table)))))) /\ (forall dst_index_prefix_zero_table. (exists pvs_le_gap_prefix_zero_tabledomain. pvs_le_gap_prefix_zero_tabledomain + (dst_index_prefix_zero_table) = (0)) -> exists dst_positive_prefix_zero_table dst_negative_prefix_zero_table dst_value_prefix_zero_table. ((((exists ff_h_pvs_prefix_zero_tableentrypositive. ff_h_pvs_prefix_zero_tableentrypositive + S (dst_positive_prefix_zero_table) = S ((S (dst_index_prefix_zero_table)) * dst_positive_scale_prefix_zero_table)) /\ exists ff_q_pvs_prefix_zero_tableentrypositive. dst_positive_code_prefix_zero_table = ff_q_pvs_prefix_zero_tableentrypositive * S ((S (dst_index_prefix_zero_table)) * dst_positive_scale_prefix_zero_table) + (dst_positive_prefix_zero_table))) /\ (((((exists ff_h_pvs_prefix_zero_tableentrynegative. ff_h_pvs_prefix_zero_tableentrynegative + S (dst_negative_prefix_zero_table) = S ((S (dst_index_prefix_zero_table)) * dst_negative_scale_prefix_zero_table)) /\ exists ff_q_pvs_prefix_zero_tableentrynegative. dst_negative_code_prefix_zero_table = ff_q_pvs_prefix_zero_tableentrynegative * S ((S (dst_index_prefix_zero_table)) * dst_negative_scale_prefix_zero_table) + (dst_negative_prefix_zero_table))) /\ (exists ge_balance_positive_prefix_zero_tableentryvalue ge_balance_negative_prefix_zero_tableentryvalue. (((((dst_value_prefix_zero_table) = 2 * (ge_balance_positive_prefix_zero_tableentryvalue) /\ (ge_balance_negative_prefix_zero_tableentryvalue) = 0) \/ exists ge_signed_half_prefix_zero_tableentryvaluedecode. (((dst_value_prefix_zero_table) = 2 * ge_signed_half_prefix_zero_tableentryvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_tableentryvalue) = 0) /\ (ge_balance_negative_prefix_zero_tableentryvalue) = S ge_signed_half_prefix_zero_tableentryvaluedecode))) /\ ((dst_positive_prefix_zero_table) + ge_balance_negative_prefix_zero_tableentryvalue = (dst_negative_prefix_zero_table) + ge_balance_positive_prefix_zero_tableentryvalue))))))))) -> (exists dst_positive_code_prefix_zero_entry dst_positive_scale_prefix_zero_entry dst_negative_code_prefix_zero_entry dst_negative_scale_prefix_zero_entry dst_positive_prefix_zero_entry dst_negative_prefix_zero_entry. (((T) = (((((dst_positive_code_prefix_zero_entry) + (dst_positive_scale_prefix_zero_entry)) * S ((dst_positive_code_prefix_zero_entry) + (dst_positive_scale_prefix_zero_entry)) + ((dst_positive_scale_prefix_zero_entry) + (dst_positive_scale_prefix_zero_entry))) + (((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) * S ((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) + ((dst_negative_scale_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)))) * S ((((dst_positive_code_prefix_zero_entry) + (dst_positive_scale_prefix_zero_entry)) * S ((dst_positive_code_prefix_zero_entry) + (dst_positive_scale_prefix_zero_entry)) + ((dst_positive_scale_prefix_zero_entry) + (dst_positive_scale_prefix_zero_entry))) + (((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) * S ((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) + ((dst_negative_scale_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)))) + ((((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) * S ((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) + ((dst_negative_scale_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry))) + (((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) * S ((dst_negative_code_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)) + ((dst_negative_scale_prefix_zero_entry) + (dst_negative_scale_prefix_zero_entry)))))) /\ (((((exists ff_h_pvs_prefix_zero_entrypositive. ff_h_pvs_prefix_zero_entrypositive + S (dst_positive_prefix_zero_entry) = S ((S (0)) * dst_positive_scale_prefix_zero_entry)) /\ exists ff_q_pvs_prefix_zero_entrypositive. dst_positive_code_prefix_zero_entry = ff_q_pvs_prefix_zero_entrypositive * S ((S (0)) * dst_positive_scale_prefix_zero_entry) + (dst_positive_prefix_zero_entry))) /\ (((((exists ff_h_pvs_prefix_zero_entrynegative. ff_h_pvs_prefix_zero_entrynegative + S (dst_negative_prefix_zero_entry) = S ((S (0)) * dst_negative_scale_prefix_zero_entry)) /\ exists ff_q_pvs_prefix_zero_entrynegative. dst_negative_code_prefix_zero_entry = ff_q_pvs_prefix_zero_entrynegative * S ((S (0)) * dst_negative_scale_prefix_zero_entry) + (dst_negative_prefix_zero_entry))) /\ (exists ge_balance_positive_prefix_zero_entryvalue ge_balance_negative_prefix_zero_entryvalue. (((((z) = 2 * (ge_balance_positive_prefix_zero_entryvalue) /\ (ge_balance_negative_prefix_zero_entryvalue) = 0) \/ exists ge_signed_half_prefix_zero_entryvaluedecode. (((z) = 2 * ge_signed_half_prefix_zero_entryvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_entryvalue) = 0) /\ (ge_balance_negative_prefix_zero_entryvalue) = S ge_signed_half_prefix_zero_entryvaluedecode))) /\ ((dst_positive_prefix_zero_entry) + ge_balance_negative_prefix_zero_entryvalue = (dst_negative_prefix_zero_entry) + ge_balance_positive_prefix_zero_entryvalue))))))))) -> (exists scp_flat_row_prefix_zero_value scp_flat_column_prefix_zero_value scp_flat_first_prefix_zero_value scp_flat_second_prefix_zero_value. (((0)=((n)*(scp_flat_row_prefix_zero_value)+(scp_flat_column_prefix_zero_value))) /\ (((exists pvs_gap_prefix_zero_valueremainder. pvs_gap_prefix_zero_valueremainder + S (scp_flat_column_prefix_zero_value) = (n)) /\ (((exists dst_positive_code_prefix_zero_valueF dst_positive_scale_prefix_zero_valueF dst_negative_code_prefix_zero_valueF dst_negative_scale_prefix_zero_valueF dst_positive_prefix_zero_valueF dst_negative_prefix_zero_valueF. (((F) = (((((dst_positive_code_prefix_zero_valueF) + (dst_positive_scale_prefix_zero_valueF)) * S ((dst_positive_code_prefix_zero_valueF) + (dst_positive_scale_prefix_zero_valueF)) + ((dst_positive_scale_prefix_zero_valueF) + (dst_positive_scale_prefix_zero_valueF))) + (((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) * S ((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) + ((dst_negative_scale_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)))) * S ((((dst_positive_code_prefix_zero_valueF) + (dst_positive_scale_prefix_zero_valueF)) * S ((dst_positive_code_prefix_zero_valueF) + (dst_positive_scale_prefix_zero_valueF)) + ((dst_positive_scale_prefix_zero_valueF) + (dst_positive_scale_prefix_zero_valueF))) + (((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) * S ((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) + ((dst_negative_scale_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)))) + ((((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) * S ((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) + ((dst_negative_scale_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF))) + (((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) * S ((dst_negative_code_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)) + ((dst_negative_scale_prefix_zero_valueF) + (dst_negative_scale_prefix_zero_valueF)))))) /\ (((((exists ff_h_pvs_prefix_zero_valueFpositive. ff_h_pvs_prefix_zero_valueFpositive + S (dst_positive_prefix_zero_valueF) = S ((S (scp_flat_row_prefix_zero_value)) * dst_positive_scale_prefix_zero_valueF)) /\ exists ff_q_pvs_prefix_zero_valueFpositive. dst_positive_code_prefix_zero_valueF = ff_q_pvs_prefix_zero_valueFpositive * S ((S (scp_flat_row_prefix_zero_value)) * dst_positive_scale_prefix_zero_valueF) + (dst_positive_prefix_zero_valueF))) /\ (((((exists ff_h_pvs_prefix_zero_valueFnegative. ff_h_pvs_prefix_zero_valueFnegative + S (dst_negative_prefix_zero_valueF) = S ((S (scp_flat_row_prefix_zero_value)) * dst_negative_scale_prefix_zero_valueF)) /\ exists ff_q_pvs_prefix_zero_valueFnegative. dst_negative_code_prefix_zero_valueF = ff_q_pvs_prefix_zero_valueFnegative * S ((S (scp_flat_row_prefix_zero_value)) * dst_negative_scale_prefix_zero_valueF) + (dst_negative_prefix_zero_valueF))) /\ (exists ge_balance_positive_prefix_zero_valueFvalue ge_balance_negative_prefix_zero_valueFvalue. (((((scp_flat_first_prefix_zero_value) = 2 * (ge_balance_positive_prefix_zero_valueFvalue) /\ (ge_balance_negative_prefix_zero_valueFvalue) = 0) \/ exists ge_signed_half_prefix_zero_valueFvaluedecode. (((scp_flat_first_prefix_zero_value) = 2 * ge_signed_half_prefix_zero_valueFvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_valueFvalue) = 0) /\ (ge_balance_negative_prefix_zero_valueFvalue) = S ge_signed_half_prefix_zero_valueFvaluedecode))) /\ ((dst_positive_prefix_zero_valueF) + ge_balance_negative_prefix_zero_valueFvalue = (dst_negative_prefix_zero_valueF) + ge_balance_positive_prefix_zero_valueFvalue))))))))) /\ (((exists dst_positive_code_prefix_zero_valueG dst_positive_scale_prefix_zero_valueG dst_negative_code_prefix_zero_valueG dst_negative_scale_prefix_zero_valueG dst_positive_prefix_zero_valueG dst_negative_prefix_zero_valueG. (((G) = (((((dst_positive_code_prefix_zero_valueG) + (dst_positive_scale_prefix_zero_valueG)) * S ((dst_positive_code_prefix_zero_valueG) + (dst_positive_scale_prefix_zero_valueG)) + ((dst_positive_scale_prefix_zero_valueG) + (dst_positive_scale_prefix_zero_valueG))) + (((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) * S ((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) + ((dst_negative_scale_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)))) * S ((((dst_positive_code_prefix_zero_valueG) + (dst_positive_scale_prefix_zero_valueG)) * S ((dst_positive_code_prefix_zero_valueG) + (dst_positive_scale_prefix_zero_valueG)) + ((dst_positive_scale_prefix_zero_valueG) + (dst_positive_scale_prefix_zero_valueG))) + (((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) * S ((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) + ((dst_negative_scale_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)))) + ((((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) * S ((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) + ((dst_negative_scale_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG))) + (((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) * S ((dst_negative_code_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)) + ((dst_negative_scale_prefix_zero_valueG) + (dst_negative_scale_prefix_zero_valueG)))))) /\ (((((exists ff_h_pvs_prefix_zero_valueGpositive. ff_h_pvs_prefix_zero_valueGpositive + S (dst_positive_prefix_zero_valueG) = S ((S (scp_flat_column_prefix_zero_value)) * dst_positive_scale_prefix_zero_valueG)) /\ exists ff_q_pvs_prefix_zero_valueGpositive. dst_positive_code_prefix_zero_valueG = ff_q_pvs_prefix_zero_valueGpositive * S ((S (scp_flat_column_prefix_zero_value)) * dst_positive_scale_prefix_zero_valueG) + (dst_positive_prefix_zero_valueG))) /\ (((((exists ff_h_pvs_prefix_zero_valueGnegative. ff_h_pvs_prefix_zero_valueGnegative + S (dst_negative_prefix_zero_valueG) = S ((S (scp_flat_column_prefix_zero_value)) * dst_negative_scale_prefix_zero_valueG)) /\ exists ff_q_pvs_prefix_zero_valueGnegative. dst_negative_code_prefix_zero_valueG = ff_q_pvs_prefix_zero_valueGnegative * S ((S (scp_flat_column_prefix_zero_value)) * dst_negative_scale_prefix_zero_valueG) + (dst_negative_prefix_zero_valueG))) /\ (exists ge_balance_positive_prefix_zero_valueGvalue ge_balance_negative_prefix_zero_valueGvalue. (((((scp_flat_second_prefix_zero_value) = 2 * (ge_balance_positive_prefix_zero_valueGvalue) /\ (ge_balance_negative_prefix_zero_valueGvalue) = 0) \/ exists ge_signed_half_prefix_zero_valueGvaluedecode. (((scp_flat_second_prefix_zero_value) = 2 * ge_signed_half_prefix_zero_valueGvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_valueGvalue) = 0) /\ (ge_balance_negative_prefix_zero_valueGvalue) = S ge_signed_half_prefix_zero_valueGvaluedecode))) /\ ((dst_positive_prefix_zero_valueG) + ge_balance_negative_prefix_zero_valueGvalue = (dst_negative_prefix_zero_valueG) + ge_balance_positive_prefix_zero_valueGvalue))))))))) /\ (exists sto_ap_prefix_zero_valuevalue sto_an_prefix_zero_valuevalue sto_bp_prefix_zero_valuevalue sto_bn_prefix_zero_valuevalue sto_cp_prefix_zero_valuevalue sto_cn_prefix_zero_valuevalue. (((((scp_flat_first_prefix_zero_value) = 2 * (sto_ap_prefix_zero_valuevalue) /\ (sto_an_prefix_zero_valuevalue) = 0) \/ exists ge_signed_half_prefix_zero_valuevalueleft. (((scp_flat_first_prefix_zero_value) = 2 * ge_signed_half_prefix_zero_valuevalueleft + 1 /\ (sto_ap_prefix_zero_valuevalue) = 0) /\ (sto_an_prefix_zero_valuevalue) = S ge_signed_half_prefix_zero_valuevalueleft))) /\ ((((((scp_flat_second_prefix_zero_value) = 2 * (sto_bp_prefix_zero_valuevalue) /\ (sto_bn_prefix_zero_valuevalue) = 0) \/ exists ge_signed_half_prefix_zero_valuevalueright. (((scp_flat_second_prefix_zero_value) = 2 * ge_signed_half_prefix_zero_valuevalueright + 1 /\ (sto_bp_prefix_zero_valuevalue) = 0) /\ (sto_bn_prefix_zero_valuevalue) = S ge_signed_half_prefix_zero_valuevalueright))) /\ ((((((z) = 2 * (sto_cp_prefix_zero_valuevalue) /\ (sto_cn_prefix_zero_valuevalue) = 0) \/ exists ge_signed_half_prefix_zero_valuevalueoutput. (((z) = 2 * ge_signed_half_prefix_zero_valuevalueoutput + 1 /\ (sto_cp_prefix_zero_valuevalue) = 0) /\ (sto_cn_prefix_zero_valuevalue) = S ge_signed_half_prefix_zero_valuevalueoutput))) /\ ((sto_ap_prefix_zero_valuevalue * sto_bp_prefix_zero_valuevalue + sto_an_prefix_zero_valuevalue * sto_bn_prefix_zero_valuevalue) + sto_cn_prefix_zero_valuevalue = (sto_ap_prefix_zero_valuevalue * sto_bn_prefix_zero_valuevalue + sto_an_prefix_zero_valuevalue * sto_bp_prefix_zero_valuevalue) + sto_cp_prefix_zero_valuevalue))))))))))))))) -> (((exists dst_positive_code_prefix_zero_resulttable dst_positive_scale_prefix_zero_resulttable dst_negative_code_prefix_zero_resulttable dst_negative_scale_prefix_zero_resulttable. (((T) = (((((dst_positive_code_prefix_zero_resulttable) + (dst_positive_scale_prefix_zero_resulttable)) * S ((dst_positive_code_prefix_zero_resulttable) + (dst_positive_scale_prefix_zero_resulttable)) + ((dst_positive_scale_prefix_zero_resulttable) + (dst_positive_scale_prefix_zero_resulttable))) + (((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) * S ((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) + ((dst_negative_scale_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)))) * S ((((dst_positive_code_prefix_zero_resulttable) + (dst_positive_scale_prefix_zero_resulttable)) * S ((dst_positive_code_prefix_zero_resulttable) + (dst_positive_scale_prefix_zero_resulttable)) + ((dst_positive_scale_prefix_zero_resulttable) + (dst_positive_scale_prefix_zero_resulttable))) + (((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) * S ((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) + ((dst_negative_scale_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)))) + ((((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) * S ((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) + ((dst_negative_scale_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable))) + (((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) * S ((dst_negative_code_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)) + ((dst_negative_scale_prefix_zero_resulttable) + (dst_negative_scale_prefix_zero_resulttable)))))) /\ (forall dst_index_prefix_zero_resulttable. (exists pvs_le_gap_prefix_zero_resulttabledomain. pvs_le_gap_prefix_zero_resulttabledomain + (dst_index_prefix_zero_resulttable) = (0)) -> exists dst_positive_prefix_zero_resulttable dst_negative_prefix_zero_resulttable dst_value_prefix_zero_resulttable. ((((exists ff_h_pvs_prefix_zero_resulttableentrypositive. ff_h_pvs_prefix_zero_resulttableentrypositive + S (dst_positive_prefix_zero_resulttable) = S ((S (dst_index_prefix_zero_resulttable)) * dst_positive_scale_prefix_zero_resulttable)) /\ exists ff_q_pvs_prefix_zero_resulttableentrypositive. dst_positive_code_prefix_zero_resulttable = ff_q_pvs_prefix_zero_resulttableentrypositive * S ((S (dst_index_prefix_zero_resulttable)) * dst_positive_scale_prefix_zero_resulttable) + (dst_positive_prefix_zero_resulttable))) /\ (((((exists ff_h_pvs_prefix_zero_resulttableentrynegative. ff_h_pvs_prefix_zero_resulttableentrynegative + S (dst_negative_prefix_zero_resulttable) = S ((S (dst_index_prefix_zero_resulttable)) * dst_negative_scale_prefix_zero_resulttable)) /\ exists ff_q_pvs_prefix_zero_resulttableentrynegative. dst_negative_code_prefix_zero_resulttable = ff_q_pvs_prefix_zero_resulttableentrynegative * S ((S (dst_index_prefix_zero_resulttable)) * dst_negative_scale_prefix_zero_resulttable) + (dst_negative_prefix_zero_resulttable))) /\ (exists ge_balance_positive_prefix_zero_resulttableentryvalue ge_balance_negative_prefix_zero_resulttableentryvalue. (((((dst_value_prefix_zero_resulttable) = 2 * (ge_balance_positive_prefix_zero_resulttableentryvalue) /\ (ge_balance_negative_prefix_zero_resulttableentryvalue) = 0) \/ exists ge_signed_half_prefix_zero_resulttableentryvaluedecode. (((dst_value_prefix_zero_resulttable) = 2 * ge_signed_half_prefix_zero_resulttableentryvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_resulttableentryvalue) = 0) /\ (ge_balance_negative_prefix_zero_resulttableentryvalue) = S ge_signed_half_prefix_zero_resulttableentryvaluedecode))) /\ ((dst_positive_prefix_zero_resulttable) + ge_balance_negative_prefix_zero_resulttableentryvalue = (dst_negative_prefix_zero_resulttable) + ge_balance_positive_prefix_zero_resulttableentryvalue))))))))) /\ (forall scp_flat_index_prefix_zero_result scp_flat_value_prefix_zero_result. (exists pvs_le_gap_prefix_zero_resultbound. pvs_le_gap_prefix_zero_resultbound + (scp_flat_index_prefix_zero_result) = (0)) -> (exists dst_positive_code_prefix_zero_resultentry dst_positive_scale_prefix_zero_resultentry dst_negative_code_prefix_zero_resultentry dst_negative_scale_prefix_zero_resultentry dst_positive_prefix_zero_resultentry dst_negative_prefix_zero_resultentry. (((T) = (((((dst_positive_code_prefix_zero_resultentry) + (dst_positive_scale_prefix_zero_resultentry)) * S ((dst_positive_code_prefix_zero_resultentry) + (dst_positive_scale_prefix_zero_resultentry)) + ((dst_positive_scale_prefix_zero_resultentry) + (dst_positive_scale_prefix_zero_resultentry))) + (((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) * S ((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) + ((dst_negative_scale_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)))) * S ((((dst_positive_code_prefix_zero_resultentry) + (dst_positive_scale_prefix_zero_resultentry)) * S ((dst_positive_code_prefix_zero_resultentry) + (dst_positive_scale_prefix_zero_resultentry)) + ((dst_positive_scale_prefix_zero_resultentry) + (dst_positive_scale_prefix_zero_resultentry))) + (((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) * S ((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) + ((dst_negative_scale_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)))) + ((((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) * S ((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) + ((dst_negative_scale_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry))) + (((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) * S ((dst_negative_code_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)) + ((dst_negative_scale_prefix_zero_resultentry) + (dst_negative_scale_prefix_zero_resultentry)))))) /\ (((((exists ff_h_pvs_prefix_zero_resultentrypositive. ff_h_pvs_prefix_zero_resultentrypositive + S (dst_positive_prefix_zero_resultentry) = S ((S (scp_flat_index_prefix_zero_result)) * dst_positive_scale_prefix_zero_resultentry)) /\ exists ff_q_pvs_prefix_zero_resultentrypositive. dst_positive_code_prefix_zero_resultentry = ff_q_pvs_prefix_zero_resultentrypositive * S ((S (scp_flat_index_prefix_zero_result)) * dst_positive_scale_prefix_zero_resultentry) + (dst_positive_prefix_zero_resultentry))) /\ (((((exists ff_h_pvs_prefix_zero_resultentrynegative. ff_h_pvs_prefix_zero_resultentrynegative + S (dst_negative_prefix_zero_resultentry) = S ((S (scp_flat_index_prefix_zero_result)) * dst_negative_scale_prefix_zero_resultentry)) /\ exists ff_q_pvs_prefix_zero_resultentrynegative. dst_negative_code_prefix_zero_resultentry = ff_q_pvs_prefix_zero_resultentrynegative * S ((S (scp_flat_index_prefix_zero_result)) * dst_negative_scale_prefix_zero_resultentry) + (dst_negative_prefix_zero_resultentry))) /\ (exists ge_balance_positive_prefix_zero_resultentryvalue ge_balance_negative_prefix_zero_resultentryvalue. (((((scp_flat_value_prefix_zero_result) = 2 * (ge_balance_positive_prefix_zero_resultentryvalue) /\ (ge_balance_negative_prefix_zero_resultentryvalue) = 0) \/ exists ge_signed_half_prefix_zero_resultentryvaluedecode. (((scp_flat_value_prefix_zero_result) = 2 * ge_signed_half_prefix_zero_resultentryvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_resultentryvalue) = 0) /\ (ge_balance_negative_prefix_zero_resultentryvalue) = S ge_signed_half_prefix_zero_resultentryvaluedecode))) /\ ((dst_positive_prefix_zero_resultentry) + ge_balance_negative_prefix_zero_resultentryvalue = (dst_negative_prefix_zero_resultentry) + ge_balance_positive_prefix_zero_resultentryvalue))))))))) -> (exists scp_flat_row_prefix_zero_resultproduct scp_flat_column_prefix_zero_resultproduct scp_flat_first_prefix_zero_resultproduct scp_flat_second_prefix_zero_resultproduct. (((scp_flat_index_prefix_zero_result)=((n)*(scp_flat_row_prefix_zero_resultproduct)+(scp_flat_column_prefix_zero_resultproduct))) /\ (((exists pvs_gap_prefix_zero_resultproductremainder. pvs_gap_prefix_zero_resultproductremainder + S (scp_flat_column_prefix_zero_resultproduct) = (n)) /\ (((exists dst_positive_code_prefix_zero_resultproductF dst_positive_scale_prefix_zero_resultproductF dst_negative_code_prefix_zero_resultproductF dst_negative_scale_prefix_zero_resultproductF dst_positive_prefix_zero_resultproductF dst_negative_prefix_zero_resultproductF. (((F) = (((((dst_positive_code_prefix_zero_resultproductF) + (dst_positive_scale_prefix_zero_resultproductF)) * S ((dst_positive_code_prefix_zero_resultproductF) + (dst_positive_scale_prefix_zero_resultproductF)) + ((dst_positive_scale_prefix_zero_resultproductF) + (dst_positive_scale_prefix_zero_resultproductF))) + (((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) * S ((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) + ((dst_negative_scale_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)))) * S ((((dst_positive_code_prefix_zero_resultproductF) + (dst_positive_scale_prefix_zero_resultproductF)) * S ((dst_positive_code_prefix_zero_resultproductF) + (dst_positive_scale_prefix_zero_resultproductF)) + ((dst_positive_scale_prefix_zero_resultproductF) + (dst_positive_scale_prefix_zero_resultproductF))) + (((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) * S ((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) + ((dst_negative_scale_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)))) + ((((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) * S ((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) + ((dst_negative_scale_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF))) + (((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) * S ((dst_negative_code_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)) + ((dst_negative_scale_prefix_zero_resultproductF) + (dst_negative_scale_prefix_zero_resultproductF)))))) /\ (((((exists ff_h_pvs_prefix_zero_resultproductFpositive. ff_h_pvs_prefix_zero_resultproductFpositive + S (dst_positive_prefix_zero_resultproductF) = S ((S (scp_flat_row_prefix_zero_resultproduct)) * dst_positive_scale_prefix_zero_resultproductF)) /\ exists ff_q_pvs_prefix_zero_resultproductFpositive. dst_positive_code_prefix_zero_resultproductF = ff_q_pvs_prefix_zero_resultproductFpositive * S ((S (scp_flat_row_prefix_zero_resultproduct)) * dst_positive_scale_prefix_zero_resultproductF) + (dst_positive_prefix_zero_resultproductF))) /\ (((((exists ff_h_pvs_prefix_zero_resultproductFnegative. ff_h_pvs_prefix_zero_resultproductFnegative + S (dst_negative_prefix_zero_resultproductF) = S ((S (scp_flat_row_prefix_zero_resultproduct)) * dst_negative_scale_prefix_zero_resultproductF)) /\ exists ff_q_pvs_prefix_zero_resultproductFnegative. dst_negative_code_prefix_zero_resultproductF = ff_q_pvs_prefix_zero_resultproductFnegative * S ((S (scp_flat_row_prefix_zero_resultproduct)) * dst_negative_scale_prefix_zero_resultproductF) + (dst_negative_prefix_zero_resultproductF))) /\ (exists ge_balance_positive_prefix_zero_resultproductFvalue ge_balance_negative_prefix_zero_resultproductFvalue. (((((scp_flat_first_prefix_zero_resultproduct) = 2 * (ge_balance_positive_prefix_zero_resultproductFvalue) /\ (ge_balance_negative_prefix_zero_resultproductFvalue) = 0) \/ exists ge_signed_half_prefix_zero_resultproductFvaluedecode. (((scp_flat_first_prefix_zero_resultproduct) = 2 * ge_signed_half_prefix_zero_resultproductFvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_resultproductFvalue) = 0) /\ (ge_balance_negative_prefix_zero_resultproductFvalue) = S ge_signed_half_prefix_zero_resultproductFvaluedecode))) /\ ((dst_positive_prefix_zero_resultproductF) + ge_balance_negative_prefix_zero_resultproductFvalue = (dst_negative_prefix_zero_resultproductF) + ge_balance_positive_prefix_zero_resultproductFvalue))))))))) /\ (((exists dst_positive_code_prefix_zero_resultproductG dst_positive_scale_prefix_zero_resultproductG dst_negative_code_prefix_zero_resultproductG dst_negative_scale_prefix_zero_resultproductG dst_positive_prefix_zero_resultproductG dst_negative_prefix_zero_resultproductG. (((G) = (((((dst_positive_code_prefix_zero_resultproductG) + (dst_positive_scale_prefix_zero_resultproductG)) * S ((dst_positive_code_prefix_zero_resultproductG) + (dst_positive_scale_prefix_zero_resultproductG)) + ((dst_positive_scale_prefix_zero_resultproductG) + (dst_positive_scale_prefix_zero_resultproductG))) + (((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) * S ((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) + ((dst_negative_scale_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)))) * S ((((dst_positive_code_prefix_zero_resultproductG) + (dst_positive_scale_prefix_zero_resultproductG)) * S ((dst_positive_code_prefix_zero_resultproductG) + (dst_positive_scale_prefix_zero_resultproductG)) + ((dst_positive_scale_prefix_zero_resultproductG) + (dst_positive_scale_prefix_zero_resultproductG))) + (((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) * S ((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) + ((dst_negative_scale_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)))) + ((((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) * S ((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) + ((dst_negative_scale_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG))) + (((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) * S ((dst_negative_code_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)) + ((dst_negative_scale_prefix_zero_resultproductG) + (dst_negative_scale_prefix_zero_resultproductG)))))) /\ (((((exists ff_h_pvs_prefix_zero_resultproductGpositive. ff_h_pvs_prefix_zero_resultproductGpositive + S (dst_positive_prefix_zero_resultproductG) = S ((S (scp_flat_column_prefix_zero_resultproduct)) * dst_positive_scale_prefix_zero_resultproductG)) /\ exists ff_q_pvs_prefix_zero_resultproductGpositive. dst_positive_code_prefix_zero_resultproductG = ff_q_pvs_prefix_zero_resultproductGpositive * S ((S (scp_flat_column_prefix_zero_resultproduct)) * dst_positive_scale_prefix_zero_resultproductG) + (dst_positive_prefix_zero_resultproductG))) /\ (((((exists ff_h_pvs_prefix_zero_resultproductGnegative. ff_h_pvs_prefix_zero_resultproductGnegative + S (dst_negative_prefix_zero_resultproductG) = S ((S (scp_flat_column_prefix_zero_resultproduct)) * dst_negative_scale_prefix_zero_resultproductG)) /\ exists ff_q_pvs_prefix_zero_resultproductGnegative. dst_negative_code_prefix_zero_resultproductG = ff_q_pvs_prefix_zero_resultproductGnegative * S ((S (scp_flat_column_prefix_zero_resultproduct)) * dst_negative_scale_prefix_zero_resultproductG) + (dst_negative_prefix_zero_resultproductG))) /\ (exists ge_balance_positive_prefix_zero_resultproductGvalue ge_balance_negative_prefix_zero_resultproductGvalue. (((((scp_flat_second_prefix_zero_resultproduct) = 2 * (ge_balance_positive_prefix_zero_resultproductGvalue) /\ (ge_balance_negative_prefix_zero_resultproductGvalue) = 0) \/ exists ge_signed_half_prefix_zero_resultproductGvaluedecode. (((scp_flat_second_prefix_zero_resultproduct) = 2 * ge_signed_half_prefix_zero_resultproductGvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_resultproductGvalue) = 0) /\ (ge_balance_negative_prefix_zero_resultproductGvalue) = S ge_signed_half_prefix_zero_resultproductGvaluedecode))) /\ ((dst_positive_prefix_zero_resultproductG) + ge_balance_negative_prefix_zero_resultproductGvalue = (dst_negative_prefix_zero_resultproductG) + ge_balance_positive_prefix_zero_resultproductGvalue))))))))) /\ (exists sto_ap_prefix_zero_resultproductvalue sto_an_prefix_zero_resultproductvalue sto_bp_prefix_zero_resultproductvalue sto_bn_prefix_zero_resultproductvalue sto_cp_prefix_zero_resultproductvalue sto_cn_prefix_zero_resultproductvalue. (((((scp_flat_first_prefix_zero_resultproduct) = 2 * (sto_ap_prefix_zero_resultproductvalue) /\ (sto_an_prefix_zero_resultproductvalue) = 0) \/ exists ge_signed_half_prefix_zero_resultproductvalueleft. (((scp_flat_first_prefix_zero_resultproduct) = 2 * ge_signed_half_prefix_zero_resultproductvalueleft + 1 /\ (sto_ap_prefix_zero_resultproductvalue) = 0) /\ (sto_an_prefix_zero_resultproductvalue) = S ge_signed_half_prefix_zero_resultproductvalueleft))) /\ ((((((scp_flat_second_prefix_zero_resultproduct) = 2 * (sto_bp_prefix_zero_resultproductvalue) /\ (sto_bn_prefix_zero_resultproductvalue) = 0) \/ exists ge_signed_half_prefix_zero_resultproductvalueright. (((scp_flat_second_prefix_zero_resultproduct) = 2 * ge_signed_half_prefix_zero_resultproductvalueright + 1 /\ (sto_bp_prefix_zero_resultproductvalue) = 0) /\ (sto_bn_prefix_zero_resultproductvalue) = S ge_signed_half_prefix_zero_resultproductvalueright))) /\ ((((((scp_flat_value_prefix_zero_result) = 2 * (sto_cp_prefix_zero_resultproductvalue) /\ (sto_cn_prefix_zero_resultproductvalue) = 0) \/ exists ge_signed_half_prefix_zero_resultproductvalueoutput. (((scp_flat_value_prefix_zero_result) = 2 * ge_signed_half_prefix_zero_resultproductvalueoutput + 1 /\ (sto_cp_prefix_zero_resultproductvalue) = 0) /\ (sto_cn_prefix_zero_resultproductvalue) = S ge_signed_half_prefix_zero_resultproductvalueoutput))) /\ ((sto_ap_prefix_zero_resultproductvalue * sto_bp_prefix_zero_resultproductvalue + sto_an_prefix_zero_resultproductvalue * sto_bn_prefix_zero_resultproductvalue) + sto_cn_prefix_zero_resultproductvalue = (sto_ap_prefix_zero_resultproductvalue * sto_bn_prefix_zero_resultproductvalue + sto_an_prefix_zero_resultproductvalue * sto_bp_prefix_zero_resultproductvalue) + sto_cp_prefix_zero_resultproductvalue))))))))))))))))))

Constructive proof overview

Generated structural guide

A real singleton and actual flat product provide the inclusive base prefix.

The unchanged tactic script uses 2 declared prerequisites and contains 34 exact native proof lines.

Alpha v34 checked-use · first admitted v32 · independently kernel and Lean verified; not Stable

Proof neighborhood

Direct dependencies

le_zero Stable theorem; checked-use authorized divisor_signed_table_at_functional Alpha theorem; checked-use authorized

Direct 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

34 script commands · 8 reading checkpoints · 2 local claims

This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.

01Fix variables and assumptionsL1–8

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro F
  2. L2
    intro G
  3. L3
    intro n
  4. L4
    intro T
  5. L5
    intro z
  6. L6
    intro hT
  7. L7
    intro hz
  8. L8
    intro hv
02Separate the logical casesL9–9

Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.

  1. L9
    split
03Use earlier factsL10–10

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L10
    exact hT
04Fix variables and assumptionsL11–14

Work with arbitrary variables or the premises of the current implication.

  1. L11
    intro i
  2. L12
    intro u
  3. L13
    intro hi
  4. L14
    intro hu
05Establish hi0L15–22

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le zero.

  1. L15
    have hi0 : i=0
  2. L16
    specialize le_zero (i)
  3. L17
    apply le_zero
  4. L18
    exact hi
  5. L19
    rewrite hi0 at hu
  6. L20
    rewrite hi0 at hu
  7. L21
    rewrite hi0 at hu
  8. L22
    rewrite hi0 at hu
06Establish heqL23–32

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table at functional.

  1. L23
    have heq : z=u
  2. L24
    specialize divisor_signed_table_at_functional (T)
  3. L25
    specialize divisor_signed_table_at_functional (0)
  4. L26
    specialize divisor_signed_table_at_functional (z)
  5. L27
    specialize divisor_signed_table_at_functional (u)
  6. L28
    apply divisor_signed_table_at_functional
  7. L29
    exact hz
  8. L30
    exact hu
  9. L31
    rewrite heq at hv
  10. L32
    rewrite heq at hv
07Calculate and transport equalitiesL33–33

Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.

  1. L33
    rewrite hi0
08Use earlier factsL34–34

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L34
    exact hv

Library-wide reading audit

Original exact command ledger · 34 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro n
  4. 0004intro T
  5. 0005intro z
  6. 0006intro hT
  7. 0007intro hz
  8. 0008intro hv
  9. 0009split
  10. 0010exact hT
  11. 0011intro i
  12. 0012intro u
  13. 0013intro hi
  14. 0014intro hu
  15. 0015have hi0 : i=0
  16. 0016specialize le_zero (i)
  17. 0017apply le_zero
  18. 0018exact hi
  19. 0019rewrite hi0 at hu
  20. 0020rewrite hi0 at hu
  21. 0021rewrite hi0 at hu
  22. 0022rewrite hi0 at hu
  23. 0023have heq : z=u
  24. 0024specialize divisor_signed_table_at_functional (T)
  25. 0025specialize divisor_signed_table_at_functional (0)
  26. 0026specialize divisor_signed_table_at_functional (z)
  27. 0027specialize divisor_signed_table_at_functional (u)
  28. 0028apply divisor_signed_table_at_functional
  29. 0029exact hz
  30. 0030exact hu
  31. 0031rewrite heq at hv
  32. 0032rewrite heq at hv
  33. 0033rewrite hi0
  34. 0034exact hv