MX003F

signed_support_incidence_flat_prefix_zero

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

A real singleton encodes the first actual flat incidence cell.

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 A r s M 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_lookup dst_positive_scale_prefix_zero_lookup dst_negative_code_prefix_zero_lookup dst_negative_scale_prefix_zero_lookup dst_positive_prefix_zero_lookup dst_negative_prefix_zero_lookup. (((T) = (((((dst_positive_code_prefix_zero_lookup) + (dst_positive_scale_prefix_zero_lookup)) * S ((dst_positive_code_prefix_zero_lookup) + (dst_positive_scale_prefix_zero_lookup)) + ((dst_positive_scale_prefix_zero_lookup) + (dst_positive_scale_prefix_zero_lookup))) + (((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) * S ((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) + ((dst_negative_scale_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)))) * S ((((dst_positive_code_prefix_zero_lookup) + (dst_positive_scale_prefix_zero_lookup)) * S ((dst_positive_code_prefix_zero_lookup) + (dst_positive_scale_prefix_zero_lookup)) + ((dst_positive_scale_prefix_zero_lookup) + (dst_positive_scale_prefix_zero_lookup))) + (((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) * S ((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) + ((dst_negative_scale_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)))) + ((((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) * S ((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) + ((dst_negative_scale_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup))) + (((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) * S ((dst_negative_code_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)) + ((dst_negative_scale_prefix_zero_lookup) + (dst_negative_scale_prefix_zero_lookup)))))) /\ (((((exists ff_h_pvs_prefix_zero_lookuppositive. ff_h_pvs_prefix_zero_lookuppositive + S (dst_positive_prefix_zero_lookup) = S ((S (0)) * dst_positive_scale_prefix_zero_lookup)) /\ exists ff_q_pvs_prefix_zero_lookuppositive. dst_positive_code_prefix_zero_lookup = ff_q_pvs_prefix_zero_lookuppositive * S ((S (0)) * dst_positive_scale_prefix_zero_lookup) + (dst_positive_prefix_zero_lookup))) /\ (((((exists ff_h_pvs_prefix_zero_lookupnegative. ff_h_pvs_prefix_zero_lookupnegative + S (dst_negative_prefix_zero_lookup) = S ((S (0)) * dst_negative_scale_prefix_zero_lookup)) /\ exists ff_q_pvs_prefix_zero_lookupnegative. dst_negative_code_prefix_zero_lookup = ff_q_pvs_prefix_zero_lookupnegative * S ((S (0)) * dst_negative_scale_prefix_zero_lookup) + (dst_negative_prefix_zero_lookup))) /\ (exists ge_balance_positive_prefix_zero_lookupvalue ge_balance_negative_prefix_zero_lookupvalue. (((((z) = 2 * (ge_balance_positive_prefix_zero_lookupvalue) /\ (ge_balance_negative_prefix_zero_lookupvalue) = 0) \/ exists ge_signed_half_prefix_zero_lookupvaluedecode. (((z) = 2 * ge_signed_half_prefix_zero_lookupvaluedecode + 1 /\ (ge_balance_positive_prefix_zero_lookupvalue) = 0) /\ (ge_balance_negative_prefix_zero_lookupvalue) = S ge_signed_half_prefix_zero_lookupvaluedecode))) /\ ((dst_positive_prefix_zero_lookup) + ge_balance_negative_prefix_zero_lookupvalue = (dst_negative_prefix_zero_lookup) + ge_balance_positive_prefix_zero_lookupvalue))))))))) -> (exists ssr_flat_row_prefix_zero_value ssr_flat_column_prefix_zero_value. (((0)=(((S (M))*(ssr_flat_row_prefix_zero_value)+(ssr_flat_column_prefix_zero_value)))) /\ (((exists pvs_gap_prefix_zero_valueremainder. pvs_gap_prefix_zero_valueremainder + S (ssr_flat_column_prefix_zero_value) = (S (M))) /\ (exists ssr_entry_value_prefix_zero_valueentry ssr_entry_image_prefix_zero_valueentry. ((exists dst_positive_code_prefix_zero_valueentrysource dst_positive_scale_prefix_zero_valueentrysource dst_negative_code_prefix_zero_valueentrysource dst_negative_scale_prefix_zero_valueentrysource dst_positive_prefix_zero_valueentrysource dst_negative_prefix_zero_valueentrysource. (((A) = (((((dst_positive_code_prefix_zero_valueentrysource) + (dst_positive_scale_prefix_zero_valueentrysource)) * S ((dst_positive_code_prefix_zero_valueentrysource) + (dst_positive_scale_prefix_zero_valueentrysource)) + ((dst_positive_scale_prefix_zero_valueentrysource) + (dst_positive_scale_prefix_zero_valueentrysource))) + (((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) * S ((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) + ((dst_negative_scale_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)))) * S ((((dst_positive_code_prefix_zero_valueentrysource) + (dst_positive_scale_prefix_zero_valueentrysource)) * S ((dst_positive_code_prefix_zero_valueentrysource) + (dst_positive_scale_prefix_zero_valueentrysource)) + ((dst_positive_scale_prefix_zero_valueentrysource) + (dst_positive_scale_prefix_zero_valueentrysource))) + (((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) * S ((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) + ((dst_negative_scale_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)))) + ((((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) * S ((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) + ((dst_negative_scale_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource))) + (((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) * S ((dst_negative_code_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)) + ((dst_negative_scale_prefix_zero_valueentrysource) + (dst_negative_scale_prefix_zero_valueentrysource)))))) /\ (((((exists ff_h_pvs_prefix_zero_valueentrysourcepositive. ff_h_pvs_prefix_zero_valueentrysourcepositive + S (dst_positive_prefix_zero_valueentrysource) = S ((S (ssr_flat_row_prefix_zero_value)) * dst_positive_scale_prefix_zero_valueentrysource)) /\ exists ff_q_pvs_prefix_zero_valueentrysourcepositive. dst_positive_code_prefix_zero_valueentrysource = ff_q_pvs_prefix_zero_valueentrysourcepositive * S ((S (ssr_flat_row_prefix_zero_value)) * dst_positive_scale_prefix_zero_valueentrysource) + (dst_positive_prefix_zero_valueentrysource))) /\ (((((exists ff_h_pvs_prefix_zero_valueentrysourcenegative. ff_h_pvs_prefix_zero_valueentrysourcenegative + S (dst_negative_prefix_zero_valueentrysource) = S ((S (ssr_flat_row_prefix_zero_value)) * dst_negative_scale_prefix_zero_valueentrysource)) /\ exists ff_q_pvs_prefix_zero_valueentrysourcenegative. dst_negative_code_prefix_zero_valueentrysource = ff_q_pvs_prefix_zero_valueentrysourcenegative * S ((S (ssr_flat_row_prefix_zero_value)) * dst_negative_scale_prefix_zero_valueentrysource) + (dst_negative_prefix_zero_valueentrysource))) /\ (exists ge_balance_positive_prefix_zero_valueentrysourcevalue ge_balance_negative_prefix_zero_valueentrysourcevalue. (((((ssr_entry_value_prefix_zero_valueentry) = 2 * (ge_balance_positive_prefix_zero_valueentrysourcevalue) /\ (ge_balance_negative_prefix_zero_valueentrysourcevalue) = 0) \/ exists ge_signed_half_prefix_zero_valueentrysourcevaluedecode. (((ssr_entry_value_prefix_zero_valueentry) = 2 * ge_signed_half_prefix_zero_valueentrysourcevaluedecode + 1 /\ (ge_balance_positive_prefix_zero_valueentrysourcevalue) = 0) /\ (ge_balance_negative_prefix_zero_valueentrysourcevalue) = S ge_signed_half_prefix_zero_valueentrysourcevaluedecode))) /\ ((dst_positive_prefix_zero_valueentrysource) + ge_balance_negative_prefix_zero_valueentrysourcevalue = (dst_negative_prefix_zero_valueentrysource) + ge_balance_positive_prefix_zero_valueentrysourcevalue))))))))) /\ (((((exists ff_h_pvs_prefix_zero_valueentrymap. ff_h_pvs_prefix_zero_valueentrymap + S (ssr_entry_image_prefix_zero_valueentry) = S ((S (ssr_flat_row_prefix_zero_value)) * s)) /\ exists ff_q_pvs_prefix_zero_valueentrymap. r = ff_q_pvs_prefix_zero_valueentrymap * S ((S (ssr_flat_row_prefix_zero_value)) * s) + (ssr_entry_image_prefix_zero_valueentry))) /\ (((((ssr_flat_column_prefix_zero_value)=(ssr_entry_image_prefix_zero_valueentry)) /\ ((z)=(ssr_entry_value_prefix_zero_valueentry)))) \/ (((~((ssr_flat_column_prefix_zero_value)=(ssr_entry_image_prefix_zero_valueentry))) /\ ((z)=0)))))))))))) -> (((exists dst_positive_code_prefix_zerotable dst_positive_scale_prefix_zerotable dst_negative_code_prefix_zerotable dst_negative_scale_prefix_zerotable. (((T) = (((((dst_positive_code_prefix_zerotable) + (dst_positive_scale_prefix_zerotable)) * S ((dst_positive_code_prefix_zerotable) + (dst_positive_scale_prefix_zerotable)) + ((dst_positive_scale_prefix_zerotable) + (dst_positive_scale_prefix_zerotable))) + (((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) * S ((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) + ((dst_negative_scale_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)))) * S ((((dst_positive_code_prefix_zerotable) + (dst_positive_scale_prefix_zerotable)) * S ((dst_positive_code_prefix_zerotable) + (dst_positive_scale_prefix_zerotable)) + ((dst_positive_scale_prefix_zerotable) + (dst_positive_scale_prefix_zerotable))) + (((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) * S ((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) + ((dst_negative_scale_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)))) + ((((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) * S ((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) + ((dst_negative_scale_prefix_zerotable) + (dst_negative_scale_prefix_zerotable))) + (((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) * S ((dst_negative_code_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)) + ((dst_negative_scale_prefix_zerotable) + (dst_negative_scale_prefix_zerotable)))))) /\ (forall dst_index_prefix_zerotable. (exists pvs_le_gap_prefix_zerotabledomain. pvs_le_gap_prefix_zerotabledomain + (dst_index_prefix_zerotable) = (0)) -> exists dst_positive_prefix_zerotable dst_negative_prefix_zerotable dst_value_prefix_zerotable. ((((exists ff_h_pvs_prefix_zerotableentrypositive. ff_h_pvs_prefix_zerotableentrypositive + S (dst_positive_prefix_zerotable) = S ((S (dst_index_prefix_zerotable)) * dst_positive_scale_prefix_zerotable)) /\ exists ff_q_pvs_prefix_zerotableentrypositive. dst_positive_code_prefix_zerotable = ff_q_pvs_prefix_zerotableentrypositive * S ((S (dst_index_prefix_zerotable)) * dst_positive_scale_prefix_zerotable) + (dst_positive_prefix_zerotable))) /\ (((((exists ff_h_pvs_prefix_zerotableentrynegative. ff_h_pvs_prefix_zerotableentrynegative + S (dst_negative_prefix_zerotable) = S ((S (dst_index_prefix_zerotable)) * dst_negative_scale_prefix_zerotable)) /\ exists ff_q_pvs_prefix_zerotableentrynegative. dst_negative_code_prefix_zerotable = ff_q_pvs_prefix_zerotableentrynegative * S ((S (dst_index_prefix_zerotable)) * dst_negative_scale_prefix_zerotable) + (dst_negative_prefix_zerotable))) /\ (exists ge_balance_positive_prefix_zerotableentryvalue ge_balance_negative_prefix_zerotableentryvalue. (((((dst_value_prefix_zerotable) = 2 * (ge_balance_positive_prefix_zerotableentryvalue) /\ (ge_balance_negative_prefix_zerotableentryvalue) = 0) \/ exists ge_signed_half_prefix_zerotableentryvaluedecode. (((dst_value_prefix_zerotable) = 2 * ge_signed_half_prefix_zerotableentryvaluedecode + 1 /\ (ge_balance_positive_prefix_zerotableentryvalue) = 0) /\ (ge_balance_negative_prefix_zerotableentryvalue) = S ge_signed_half_prefix_zerotableentryvaluedecode))) /\ ((dst_positive_prefix_zerotable) + ge_balance_negative_prefix_zerotableentryvalue = (dst_negative_prefix_zerotable) + ge_balance_positive_prefix_zerotableentryvalue))))))))) /\ (forall ssr_prefix_index_prefix_zero ssr_prefix_value_prefix_zero. (exists pvs_le_gap_prefix_zerobound. pvs_le_gap_prefix_zerobound + (ssr_prefix_index_prefix_zero) = (0)) -> (exists dst_positive_code_prefix_zerolookup dst_positive_scale_prefix_zerolookup dst_negative_code_prefix_zerolookup dst_negative_scale_prefix_zerolookup dst_positive_prefix_zerolookup dst_negative_prefix_zerolookup. (((T) = (((((dst_positive_code_prefix_zerolookup) + (dst_positive_scale_prefix_zerolookup)) * S ((dst_positive_code_prefix_zerolookup) + (dst_positive_scale_prefix_zerolookup)) + ((dst_positive_scale_prefix_zerolookup) + (dst_positive_scale_prefix_zerolookup))) + (((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) * S ((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) + ((dst_negative_scale_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)))) * S ((((dst_positive_code_prefix_zerolookup) + (dst_positive_scale_prefix_zerolookup)) * S ((dst_positive_code_prefix_zerolookup) + (dst_positive_scale_prefix_zerolookup)) + ((dst_positive_scale_prefix_zerolookup) + (dst_positive_scale_prefix_zerolookup))) + (((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) * S ((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) + ((dst_negative_scale_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)))) + ((((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) * S ((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) + ((dst_negative_scale_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup))) + (((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) * S ((dst_negative_code_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)) + ((dst_negative_scale_prefix_zerolookup) + (dst_negative_scale_prefix_zerolookup)))))) /\ (((((exists ff_h_pvs_prefix_zerolookuppositive. ff_h_pvs_prefix_zerolookuppositive + S (dst_positive_prefix_zerolookup) = S ((S (ssr_prefix_index_prefix_zero)) * dst_positive_scale_prefix_zerolookup)) /\ exists ff_q_pvs_prefix_zerolookuppositive. dst_positive_code_prefix_zerolookup = ff_q_pvs_prefix_zerolookuppositive * S ((S (ssr_prefix_index_prefix_zero)) * dst_positive_scale_prefix_zerolookup) + (dst_positive_prefix_zerolookup))) /\ (((((exists ff_h_pvs_prefix_zerolookupnegative. ff_h_pvs_prefix_zerolookupnegative + S (dst_negative_prefix_zerolookup) = S ((S (ssr_prefix_index_prefix_zero)) * dst_negative_scale_prefix_zerolookup)) /\ exists ff_q_pvs_prefix_zerolookupnegative. dst_negative_code_prefix_zerolookup = ff_q_pvs_prefix_zerolookupnegative * S ((S (ssr_prefix_index_prefix_zero)) * dst_negative_scale_prefix_zerolookup) + (dst_negative_prefix_zerolookup))) /\ (exists ge_balance_positive_prefix_zerolookupvalue ge_balance_negative_prefix_zerolookupvalue. (((((ssr_prefix_value_prefix_zero) = 2 * (ge_balance_positive_prefix_zerolookupvalue) /\ (ge_balance_negative_prefix_zerolookupvalue) = 0) \/ exists ge_signed_half_prefix_zerolookupvaluedecode. (((ssr_prefix_value_prefix_zero) = 2 * ge_signed_half_prefix_zerolookupvaluedecode + 1 /\ (ge_balance_positive_prefix_zerolookupvalue) = 0) /\ (ge_balance_negative_prefix_zerolookupvalue) = S ge_signed_half_prefix_zerolookupvaluedecode))) /\ ((dst_positive_prefix_zerolookup) + ge_balance_negative_prefix_zerolookupvalue = (dst_negative_prefix_zerolookup) + ge_balance_positive_prefix_zerolookupvalue))))))))) -> (exists ssr_flat_row_prefix_zeroentry ssr_flat_column_prefix_zeroentry. (((ssr_prefix_index_prefix_zero)=(((S (M))*(ssr_flat_row_prefix_zeroentry)+(ssr_flat_column_prefix_zeroentry)))) /\ (((exists pvs_gap_prefix_zeroentryremainder. pvs_gap_prefix_zeroentryremainder + S (ssr_flat_column_prefix_zeroentry) = (S (M))) /\ (exists ssr_entry_value_prefix_zeroentryentry ssr_entry_image_prefix_zeroentryentry. ((exists dst_positive_code_prefix_zeroentryentrysource dst_positive_scale_prefix_zeroentryentrysource dst_negative_code_prefix_zeroentryentrysource dst_negative_scale_prefix_zeroentryentrysource dst_positive_prefix_zeroentryentrysource dst_negative_prefix_zeroentryentrysource. (((A) = (((((dst_positive_code_prefix_zeroentryentrysource) + (dst_positive_scale_prefix_zeroentryentrysource)) * S ((dst_positive_code_prefix_zeroentryentrysource) + (dst_positive_scale_prefix_zeroentryentrysource)) + ((dst_positive_scale_prefix_zeroentryentrysource) + (dst_positive_scale_prefix_zeroentryentrysource))) + (((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) * S ((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) + ((dst_negative_scale_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)))) * S ((((dst_positive_code_prefix_zeroentryentrysource) + (dst_positive_scale_prefix_zeroentryentrysource)) * S ((dst_positive_code_prefix_zeroentryentrysource) + (dst_positive_scale_prefix_zeroentryentrysource)) + ((dst_positive_scale_prefix_zeroentryentrysource) + (dst_positive_scale_prefix_zeroentryentrysource))) + (((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) * S ((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) + ((dst_negative_scale_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)))) + ((((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) * S ((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) + ((dst_negative_scale_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource))) + (((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) * S ((dst_negative_code_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)) + ((dst_negative_scale_prefix_zeroentryentrysource) + (dst_negative_scale_prefix_zeroentryentrysource)))))) /\ (((((exists ff_h_pvs_prefix_zeroentryentrysourcepositive. ff_h_pvs_prefix_zeroentryentrysourcepositive + S (dst_positive_prefix_zeroentryentrysource) = S ((S (ssr_flat_row_prefix_zeroentry)) * dst_positive_scale_prefix_zeroentryentrysource)) /\ exists ff_q_pvs_prefix_zeroentryentrysourcepositive. dst_positive_code_prefix_zeroentryentrysource = ff_q_pvs_prefix_zeroentryentrysourcepositive * S ((S (ssr_flat_row_prefix_zeroentry)) * dst_positive_scale_prefix_zeroentryentrysource) + (dst_positive_prefix_zeroentryentrysource))) /\ (((((exists ff_h_pvs_prefix_zeroentryentrysourcenegative. ff_h_pvs_prefix_zeroentryentrysourcenegative + S (dst_negative_prefix_zeroentryentrysource) = S ((S (ssr_flat_row_prefix_zeroentry)) * dst_negative_scale_prefix_zeroentryentrysource)) /\ exists ff_q_pvs_prefix_zeroentryentrysourcenegative. dst_negative_code_prefix_zeroentryentrysource = ff_q_pvs_prefix_zeroentryentrysourcenegative * S ((S (ssr_flat_row_prefix_zeroentry)) * dst_negative_scale_prefix_zeroentryentrysource) + (dst_negative_prefix_zeroentryentrysource))) /\ (exists ge_balance_positive_prefix_zeroentryentrysourcevalue ge_balance_negative_prefix_zeroentryentrysourcevalue. (((((ssr_entry_value_prefix_zeroentryentry) = 2 * (ge_balance_positive_prefix_zeroentryentrysourcevalue) /\ (ge_balance_negative_prefix_zeroentryentrysourcevalue) = 0) \/ exists ge_signed_half_prefix_zeroentryentrysourcevaluedecode. (((ssr_entry_value_prefix_zeroentryentry) = 2 * ge_signed_half_prefix_zeroentryentrysourcevaluedecode + 1 /\ (ge_balance_positive_prefix_zeroentryentrysourcevalue) = 0) /\ (ge_balance_negative_prefix_zeroentryentrysourcevalue) = S ge_signed_half_prefix_zeroentryentrysourcevaluedecode))) /\ ((dst_positive_prefix_zeroentryentrysource) + ge_balance_negative_prefix_zeroentryentrysourcevalue = (dst_negative_prefix_zeroentryentrysource) + ge_balance_positive_prefix_zeroentryentrysourcevalue))))))))) /\ (((((exists ff_h_pvs_prefix_zeroentryentrymap. ff_h_pvs_prefix_zeroentryentrymap + S (ssr_entry_image_prefix_zeroentryentry) = S ((S (ssr_flat_row_prefix_zeroentry)) * s)) /\ exists ff_q_pvs_prefix_zeroentryentrymap. r = ff_q_pvs_prefix_zeroentryentrymap * S ((S (ssr_flat_row_prefix_zeroentry)) * s) + (ssr_entry_image_prefix_zeroentryentry))) /\ (((((ssr_flat_column_prefix_zeroentry)=(ssr_entry_image_prefix_zeroentryentry)) /\ ((ssr_prefix_value_prefix_zero)=(ssr_entry_value_prefix_zeroentryentry)))) \/ (((~((ssr_flat_column_prefix_zeroentry)=(ssr_entry_image_prefix_zeroentryentry))) /\ ((ssr_prefix_value_prefix_zero)=0)))))))))))))))

Constructive proof overview

Generated structural guide

A real singleton encodes the first actual flat incidence cell.

The unchanged tactic script uses 2 declared prerequisites and contains 35 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

35 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–9

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

  1. L1
    intro A
  2. L2
    intro r
  3. L3
    intro s
  4. L4
    intro M
  5. L5
    intro T
  6. L6
    intro z
  7. L7
    intro hT
  8. L8
    intro hz
  9. L9
    intro hv
02Separate the logical casesL10–10

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

  1. L10
    split
03Use earlier factsL11–11

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

  1. L11
    exact hT
04Fix variables and assumptionsL12–15

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

  1. L12
    intro k
  2. L13
    intro u
  3. L14
    intro hk
  4. L15
    intro hu
05Establish hk0L16–23

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

  1. L16
    have hk0 : k=0
  2. L17
    specialize le_zero (k)
  3. L18
    apply le_zero
  4. L19
    exact hk
  5. L20
    rewrite hk0 at hu
  6. L21
    rewrite hk0 at hu
  7. L22
    rewrite hk0 at hu
  8. L23
    rewrite hk0 at hu
06Establish heL24–33

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

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

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

  1. L34
    rewrite hk0
08Use earlier factsL35–35

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

  1. L35
    exact hv

Library-wide reading audit

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