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 N F U n d z. (((exists dst_positive_code_ones_entry_sourcetable dst_positive_scale_ones_entry_sourcetable dst_negative_code_ones_entry_sourcetable dst_negative_scale_ones_entry_sourcetable. (((U) = (((((dst_positive_code_ones_entry_sourcetable) + (dst_positive_scale_ones_entry_sourcetable)) * S ((dst_positive_code_ones_entry_sourcetable) + (dst_positive_scale_ones_entry_sourcetable)) + ((dst_positive_scale_ones_entry_sourcetable) + (dst_positive_scale_ones_entry_sourcetable))) + (((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) * S ((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) + ((dst_negative_scale_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)))) * S ((((dst_positive_code_ones_entry_sourcetable) + (dst_positive_scale_ones_entry_sourcetable)) * S ((dst_positive_code_ones_entry_sourcetable) + (dst_positive_scale_ones_entry_sourcetable)) + ((dst_positive_scale_ones_entry_sourcetable) + (dst_positive_scale_ones_entry_sourcetable))) + (((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) * S ((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) + ((dst_negative_scale_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)))) + ((((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) * S ((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) + ((dst_negative_scale_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable))) + (((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) * S ((dst_negative_code_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)) + ((dst_negative_scale_ones_entry_sourcetable) + (dst_negative_scale_ones_entry_sourcetable)))))) /\ (forall dst_index_ones_entry_sourcetable. (exists pvs_le_gap_ones_entry_sourcetabledomain. pvs_le_gap_ones_entry_sourcetabledomain + (dst_index_ones_entry_sourcetable) = (N)) -> exists dst_positive_ones_entry_sourcetable dst_negative_ones_entry_sourcetable dst_value_ones_entry_sourcetable. ((((exists ff_h_pvs_ones_entry_sourcetableentrypositive. ff_h_pvs_ones_entry_sourcetableentrypositive + S (dst_positive_ones_entry_sourcetable) = S ((S (dst_index_ones_entry_sourcetable)) * dst_positive_scale_ones_entry_sourcetable)) /\ exists ff_q_pvs_ones_entry_sourcetableentrypositive. dst_positive_code_ones_entry_sourcetable = ff_q_pvs_ones_entry_sourcetableentrypositive * S ((S (dst_index_ones_entry_sourcetable)) * dst_positive_scale_ones_entry_sourcetable) + (dst_positive_ones_entry_sourcetable))) /\ (((((exists ff_h_pvs_ones_entry_sourcetableentrynegative. ff_h_pvs_ones_entry_sourcetableentrynegative + S (dst_negative_ones_entry_sourcetable) = S ((S (dst_index_ones_entry_sourcetable)) * dst_negative_scale_ones_entry_sourcetable)) /\ exists ff_q_pvs_ones_entry_sourcetableentrynegative. dst_negative_code_ones_entry_sourcetable = ff_q_pvs_ones_entry_sourcetableentrynegative * S ((S (dst_index_ones_entry_sourcetable)) * dst_negative_scale_ones_entry_sourcetable) + (dst_negative_ones_entry_sourcetable))) /\ (exists ge_balance_positive_ones_entry_sourcetableentryvalue ge_balance_negative_ones_entry_sourcetableentryvalue. (((((dst_value_ones_entry_sourcetable) = 2 * (ge_balance_positive_ones_entry_sourcetableentryvalue) /\ (ge_balance_negative_ones_entry_sourcetableentryvalue) = 0) \/ exists ge_signed_half_ones_entry_sourcetableentryvaluedecode. (((dst_value_ones_entry_sourcetable) = 2 * ge_signed_half_ones_entry_sourcetableentryvaluedecode + 1 /\ (ge_balance_positive_ones_entry_sourcetableentryvalue) = 0) /\ (ge_balance_negative_ones_entry_sourcetableentryvalue) = S ge_signed_half_ones_entry_sourcetableentryvaluedecode))) /\ ((dst_positive_ones_entry_sourcetable) + ge_balance_negative_ones_entry_sourcetableentryvalue = (dst_negative_ones_entry_sourcetable) + ge_balance_positive_ones_entry_sourcetableentryvalue))))))))) /\ (forall du_index_ones_entry_source du_value_ones_entry_source. ~(du_index_ones_entry_source=0) -> (exists pvs_le_gap_ones_entry_sourcebound. pvs_le_gap_ones_entry_sourcebound + (du_index_ones_entry_source) = (N)) -> (exists dst_positive_code_ones_entry_sourceentry dst_positive_scale_ones_entry_sourceentry dst_negative_code_ones_entry_sourceentry dst_negative_scale_ones_entry_sourceentry dst_positive_ones_entry_sourceentry dst_negative_ones_entry_sourceentry. (((U) = (((((dst_positive_code_ones_entry_sourceentry) + (dst_positive_scale_ones_entry_sourceentry)) * S ((dst_positive_code_ones_entry_sourceentry) + (dst_positive_scale_ones_entry_sourceentry)) + ((dst_positive_scale_ones_entry_sourceentry) + (dst_positive_scale_ones_entry_sourceentry))) + (((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) * S ((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) + ((dst_negative_scale_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)))) * S ((((dst_positive_code_ones_entry_sourceentry) + (dst_positive_scale_ones_entry_sourceentry)) * S ((dst_positive_code_ones_entry_sourceentry) + (dst_positive_scale_ones_entry_sourceentry)) + ((dst_positive_scale_ones_entry_sourceentry) + (dst_positive_scale_ones_entry_sourceentry))) + (((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) * S ((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) + ((dst_negative_scale_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)))) + ((((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) * S ((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) + ((dst_negative_scale_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry))) + (((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) * S ((dst_negative_code_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)) + ((dst_negative_scale_ones_entry_sourceentry) + (dst_negative_scale_ones_entry_sourceentry)))))) /\ (((((exists ff_h_pvs_ones_entry_sourceentrypositive. ff_h_pvs_ones_entry_sourceentrypositive + S (dst_positive_ones_entry_sourceentry) = S ((S (du_index_ones_entry_source)) * dst_positive_scale_ones_entry_sourceentry)) /\ exists ff_q_pvs_ones_entry_sourceentrypositive. dst_positive_code_ones_entry_sourceentry = ff_q_pvs_ones_entry_sourceentrypositive * S ((S (du_index_ones_entry_source)) * dst_positive_scale_ones_entry_sourceentry) + (dst_positive_ones_entry_sourceentry))) /\ (((((exists ff_h_pvs_ones_entry_sourceentrynegative. ff_h_pvs_ones_entry_sourceentrynegative + S (dst_negative_ones_entry_sourceentry) = S ((S (du_index_ones_entry_source)) * dst_negative_scale_ones_entry_sourceentry)) /\ exists ff_q_pvs_ones_entry_sourceentrynegative. dst_negative_code_ones_entry_sourceentry = ff_q_pvs_ones_entry_sourceentrynegative * S ((S (du_index_ones_entry_source)) * dst_negative_scale_ones_entry_sourceentry) + (dst_negative_ones_entry_sourceentry))) /\ (exists ge_balance_positive_ones_entry_sourceentryvalue ge_balance_negative_ones_entry_sourceentryvalue. (((((du_value_ones_entry_source) = 2 * (ge_balance_positive_ones_entry_sourceentryvalue) /\ (ge_balance_negative_ones_entry_sourceentryvalue) = 0) \/ exists ge_signed_half_ones_entry_sourceentryvaluedecode. (((du_value_ones_entry_source) = 2 * ge_signed_half_ones_entry_sourceentryvaluedecode + 1 /\ (ge_balance_positive_ones_entry_sourceentryvalue) = 0) /\ (ge_balance_negative_ones_entry_sourceentryvalue) = S ge_signed_half_ones_entry_sourceentryvaluedecode))) /\ ((dst_positive_ones_entry_sourceentry) + ge_balance_negative_ones_entry_sourceentryvalue = (dst_negative_ones_entry_sourceentry) + ge_balance_positive_ones_entry_sourceentryvalue))))))))) -> du_value_ones_entry_source=2))) -> ~(n=0) -> (exists pvs_le_gap_ones_entry_bound. pvs_le_gap_ones_entry_bound + (n) = (N)) -> ((((~((d)=0)) /\ (exists dc_quotient_ones_entry_convolution dc_left_ones_entry_convolution dc_right_ones_entry_convolution. (((n)=(d)*dc_quotient_ones_entry_convolution) /\ (((exists dst_positive_code_ones_entry_convolutionleft dst_positive_scale_ones_entry_convolutionleft dst_negative_code_ones_entry_convolutionleft dst_negative_scale_ones_entry_convolutionleft dst_positive_ones_entry_convolutionleft dst_negative_ones_entry_convolutionleft. (((F) = (((((dst_positive_code_ones_entry_convolutionleft) + (dst_positive_scale_ones_entry_convolutionleft)) * S ((dst_positive_code_ones_entry_convolutionleft) + (dst_positive_scale_ones_entry_convolutionleft)) + ((dst_positive_scale_ones_entry_convolutionleft) + (dst_positive_scale_ones_entry_convolutionleft))) + (((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) * S ((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) + ((dst_negative_scale_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)))) * S ((((dst_positive_code_ones_entry_convolutionleft) + (dst_positive_scale_ones_entry_convolutionleft)) * S ((dst_positive_code_ones_entry_convolutionleft) + (dst_positive_scale_ones_entry_convolutionleft)) + ((dst_positive_scale_ones_entry_convolutionleft) + (dst_positive_scale_ones_entry_convolutionleft))) + (((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) * S ((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) + ((dst_negative_scale_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)))) + ((((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) * S ((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) + ((dst_negative_scale_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft))) + (((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) * S ((dst_negative_code_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)) + ((dst_negative_scale_ones_entry_convolutionleft) + (dst_negative_scale_ones_entry_convolutionleft)))))) /\ (((((exists ff_h_pvs_ones_entry_convolutionleftpositive. ff_h_pvs_ones_entry_convolutionleftpositive + S (dst_positive_ones_entry_convolutionleft) = S ((S (d)) * dst_positive_scale_ones_entry_convolutionleft)) /\ exists ff_q_pvs_ones_entry_convolutionleftpositive. dst_positive_code_ones_entry_convolutionleft = ff_q_pvs_ones_entry_convolutionleftpositive * S ((S (d)) * dst_positive_scale_ones_entry_convolutionleft) + (dst_positive_ones_entry_convolutionleft))) /\ (((((exists ff_h_pvs_ones_entry_convolutionleftnegative. ff_h_pvs_ones_entry_convolutionleftnegative + S (dst_negative_ones_entry_convolutionleft) = S ((S (d)) * dst_negative_scale_ones_entry_convolutionleft)) /\ exists ff_q_pvs_ones_entry_convolutionleftnegative. dst_negative_code_ones_entry_convolutionleft = ff_q_pvs_ones_entry_convolutionleftnegative * S ((S (d)) * dst_negative_scale_ones_entry_convolutionleft) + (dst_negative_ones_entry_convolutionleft))) /\ (exists ge_balance_positive_ones_entry_convolutionleftvalue ge_balance_negative_ones_entry_convolutionleftvalue. (((((dc_left_ones_entry_convolution) = 2 * (ge_balance_positive_ones_entry_convolutionleftvalue) /\ (ge_balance_negative_ones_entry_convolutionleftvalue) = 0) \/ exists ge_signed_half_ones_entry_convolutionleftvaluedecode. (((dc_left_ones_entry_convolution) = 2 * ge_signed_half_ones_entry_convolutionleftvaluedecode + 1 /\ (ge_balance_positive_ones_entry_convolutionleftvalue) = 0) /\ (ge_balance_negative_ones_entry_convolutionleftvalue) = S ge_signed_half_ones_entry_convolutionleftvaluedecode))) /\ ((dst_positive_ones_entry_convolutionleft) + ge_balance_negative_ones_entry_convolutionleftvalue = (dst_negative_ones_entry_convolutionleft) + ge_balance_positive_ones_entry_convolutionleftvalue))))))))) /\ (((exists dst_positive_code_ones_entry_convolutionright dst_positive_scale_ones_entry_convolutionright dst_negative_code_ones_entry_convolutionright dst_negative_scale_ones_entry_convolutionright dst_positive_ones_entry_convolutionright dst_negative_ones_entry_convolutionright. (((U) = (((((dst_positive_code_ones_entry_convolutionright) + (dst_positive_scale_ones_entry_convolutionright)) * S ((dst_positive_code_ones_entry_convolutionright) + (dst_positive_scale_ones_entry_convolutionright)) + ((dst_positive_scale_ones_entry_convolutionright) + (dst_positive_scale_ones_entry_convolutionright))) + (((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) * S ((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) + ((dst_negative_scale_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)))) * S ((((dst_positive_code_ones_entry_convolutionright) + (dst_positive_scale_ones_entry_convolutionright)) * S ((dst_positive_code_ones_entry_convolutionright) + (dst_positive_scale_ones_entry_convolutionright)) + ((dst_positive_scale_ones_entry_convolutionright) + (dst_positive_scale_ones_entry_convolutionright))) + (((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) * S ((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) + ((dst_negative_scale_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)))) + ((((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) * S ((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) + ((dst_negative_scale_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright))) + (((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) * S ((dst_negative_code_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)) + ((dst_negative_scale_ones_entry_convolutionright) + (dst_negative_scale_ones_entry_convolutionright)))))) /\ (((((exists ff_h_pvs_ones_entry_convolutionrightpositive. ff_h_pvs_ones_entry_convolutionrightpositive + S (dst_positive_ones_entry_convolutionright) = S ((S (dc_quotient_ones_entry_convolution)) * dst_positive_scale_ones_entry_convolutionright)) /\ exists ff_q_pvs_ones_entry_convolutionrightpositive. dst_positive_code_ones_entry_convolutionright = ff_q_pvs_ones_entry_convolutionrightpositive * S ((S (dc_quotient_ones_entry_convolution)) * dst_positive_scale_ones_entry_convolutionright) + (dst_positive_ones_entry_convolutionright))) /\ (((((exists ff_h_pvs_ones_entry_convolutionrightnegative. ff_h_pvs_ones_entry_convolutionrightnegative + S (dst_negative_ones_entry_convolutionright) = S ((S (dc_quotient_ones_entry_convolution)) * dst_negative_scale_ones_entry_convolutionright)) /\ exists ff_q_pvs_ones_entry_convolutionrightnegative. dst_negative_code_ones_entry_convolutionright = ff_q_pvs_ones_entry_convolutionrightnegative * S ((S (dc_quotient_ones_entry_convolution)) * dst_negative_scale_ones_entry_convolutionright) + (dst_negative_ones_entry_convolutionright))) /\ (exists ge_balance_positive_ones_entry_convolutionrightvalue ge_balance_negative_ones_entry_convolutionrightvalue. (((((dc_right_ones_entry_convolution) = 2 * (ge_balance_positive_ones_entry_convolutionrightvalue) /\ (ge_balance_negative_ones_entry_convolutionrightvalue) = 0) \/ exists ge_signed_half_ones_entry_convolutionrightvaluedecode. (((dc_right_ones_entry_convolution) = 2 * ge_signed_half_ones_entry_convolutionrightvaluedecode + 1 /\ (ge_balance_positive_ones_entry_convolutionrightvalue) = 0) /\ (ge_balance_negative_ones_entry_convolutionrightvalue) = S ge_signed_half_ones_entry_convolutionrightvaluedecode))) /\ ((dst_positive_ones_entry_convolutionright) + ge_balance_negative_ones_entry_convolutionrightvalue = (dst_negative_ones_entry_convolutionright) + ge_balance_positive_ones_entry_convolutionrightvalue))))))))) /\ (exists sto_ap_ones_entry_convolutionproduct sto_an_ones_entry_convolutionproduct sto_bp_ones_entry_convolutionproduct sto_bn_ones_entry_convolutionproduct sto_cp_ones_entry_convolutionproduct sto_cn_ones_entry_convolutionproduct. (((((dc_left_ones_entry_convolution) = 2 * (sto_ap_ones_entry_convolutionproduct) /\ (sto_an_ones_entry_convolutionproduct) = 0) \/ exists ge_signed_half_ones_entry_convolutionproductleft. (((dc_left_ones_entry_convolution) = 2 * ge_signed_half_ones_entry_convolutionproductleft + 1 /\ (sto_ap_ones_entry_convolutionproduct) = 0) /\ (sto_an_ones_entry_convolutionproduct) = S ge_signed_half_ones_entry_convolutionproductleft))) /\ ((((((dc_right_ones_entry_convolution) = 2 * (sto_bp_ones_entry_convolutionproduct) /\ (sto_bn_ones_entry_convolutionproduct) = 0) \/ exists ge_signed_half_ones_entry_convolutionproductright. (((dc_right_ones_entry_convolution) = 2 * ge_signed_half_ones_entry_convolutionproductright + 1 /\ (sto_bp_ones_entry_convolutionproduct) = 0) /\ (sto_bn_ones_entry_convolutionproduct) = S ge_signed_half_ones_entry_convolutionproductright))) /\ ((((((z) = 2 * (sto_cp_ones_entry_convolutionproduct) /\ (sto_cn_ones_entry_convolutionproduct) = 0) \/ exists ge_signed_half_ones_entry_convolutionproductoutput. (((z) = 2 * ge_signed_half_ones_entry_convolutionproductoutput + 1 /\ (sto_cp_ones_entry_convolutionproduct) = 0) /\ (sto_cn_ones_entry_convolutionproduct) = S ge_signed_half_ones_entry_convolutionproductoutput))) /\ ((sto_ap_ones_entry_convolutionproduct * sto_bp_ones_entry_convolutionproduct + sto_an_ones_entry_convolutionproduct * sto_bn_ones_entry_convolutionproduct) + sto_cn_ones_entry_convolutionproduct = (sto_ap_ones_entry_convolutionproduct * sto_bn_ones_entry_convolutionproduct + sto_an_ones_entry_convolutionproduct * sto_bp_ones_entry_convolutionproduct) + sto_cp_ones_entry_convolutionproduct))))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_ones_entry_convolutionnondivisor. (n) = (d) * pvs_factor_ones_entry_convolutionnondivisor)) /\ ((z)=0)))) -> ((((~((d)=0)) /\ (exists dm_quotient_ones_entry_mask. (((n)=(d)*dm_quotient_ones_entry_mask) /\ (exists dst_positive_code_ones_entry_maskinput dst_positive_scale_ones_entry_maskinput dst_negative_code_ones_entry_maskinput dst_negative_scale_ones_entry_maskinput dst_positive_ones_entry_maskinput dst_negative_ones_entry_maskinput. (((F) = (((((dst_positive_code_ones_entry_maskinput) + (dst_positive_scale_ones_entry_maskinput)) * S ((dst_positive_code_ones_entry_maskinput) + (dst_positive_scale_ones_entry_maskinput)) + ((dst_positive_scale_ones_entry_maskinput) + (dst_positive_scale_ones_entry_maskinput))) + (((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) * S ((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) + ((dst_negative_scale_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)))) * S ((((dst_positive_code_ones_entry_maskinput) + (dst_positive_scale_ones_entry_maskinput)) * S ((dst_positive_code_ones_entry_maskinput) + (dst_positive_scale_ones_entry_maskinput)) + ((dst_positive_scale_ones_entry_maskinput) + (dst_positive_scale_ones_entry_maskinput))) + (((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) * S ((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) + ((dst_negative_scale_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)))) + ((((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) * S ((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) + ((dst_negative_scale_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput))) + (((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) * S ((dst_negative_code_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)) + ((dst_negative_scale_ones_entry_maskinput) + (dst_negative_scale_ones_entry_maskinput)))))) /\ (((((exists ff_h_pvs_ones_entry_maskinputpositive. ff_h_pvs_ones_entry_maskinputpositive + S (dst_positive_ones_entry_maskinput) = S ((S (d)) * dst_positive_scale_ones_entry_maskinput)) /\ exists ff_q_pvs_ones_entry_maskinputpositive. dst_positive_code_ones_entry_maskinput = ff_q_pvs_ones_entry_maskinputpositive * S ((S (d)) * dst_positive_scale_ones_entry_maskinput) + (dst_positive_ones_entry_maskinput))) /\ (((((exists ff_h_pvs_ones_entry_maskinputnegative. ff_h_pvs_ones_entry_maskinputnegative + S (dst_negative_ones_entry_maskinput) = S ((S (d)) * dst_negative_scale_ones_entry_maskinput)) /\ exists ff_q_pvs_ones_entry_maskinputnegative. dst_negative_code_ones_entry_maskinput = ff_q_pvs_ones_entry_maskinputnegative * S ((S (d)) * dst_negative_scale_ones_entry_maskinput) + (dst_negative_ones_entry_maskinput))) /\ (exists ge_balance_positive_ones_entry_maskinputvalue ge_balance_negative_ones_entry_maskinputvalue. (((((z) = 2 * (ge_balance_positive_ones_entry_maskinputvalue) /\ (ge_balance_negative_ones_entry_maskinputvalue) = 0) \/ exists ge_signed_half_ones_entry_maskinputvaluedecode. (((z) = 2 * ge_signed_half_ones_entry_maskinputvaluedecode + 1 /\ (ge_balance_positive_ones_entry_maskinputvalue) = 0) /\ (ge_balance_negative_ones_entry_maskinputvalue) = S ge_signed_half_ones_entry_maskinputvaluedecode))) /\ ((dst_positive_ones_entry_maskinput) + ge_balance_negative_ones_entry_maskinputvalue = (dst_negative_ones_entry_maskinput) + ge_balance_positive_ones_entry_maskinputvalue))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_ones_entry_masknondivisor. (n) = (d) * pvs_factor_ones_entry_masknondivisor)) /\ ((z)=0))))Constructive proof overview
Generated structural guide
At every actual positive divisor the complementary one-table factor is signed one, so the convolution entry is precisely the existing divisor-mask entry.
The unchanged tactic script uses 7 declared prerequisites and contains 74 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
factor_nonzero_right Alpha theorem; checked-use authorized le_trans Stable theorem; checked-use authorized divisor_le_nonzero Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized DU0001 dirichlet_constant_one_table_value signed_mul_functional Alpha theorem; checked-use authorized signed_mul_one_right Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Separate the logical casesL11–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
03Establish hqpositiveL19–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero right.
04Establish hqboundL28–36
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
05Construct an explicit witnessL37–37
Supply the displayed value, then prove that it has the required property.
- L37
exists d
06Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
trans (d)*(x)
07Use earlier factsL39–41
08Establish hvL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet constant one table value.
- L42
have hv : x2=2 - L43
specialize dirichlet_constant_one_table_value (N) - L44
specialize dirichlet_constant_one_table_value (U) - L45
specialize dirichlet_constant_one_table_value (x) - L46
specialize dirichlet_constant_one_table_value (x2) - L47
apply dirichlet_constant_one_table_value - L48
exact hu - L49
exact hqpositive - L50
exact hqbound - L51
exact he_left_right_witness_witness_witness_right_right_left
09Calculate and transport equalitiesL52–53
10Establish heqL54–62
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul functional.
- L54
have heq : z=x1 - L55
specialize signed_mul_functional (x1) - L56
specialize signed_mul_functional (2) - L57
specialize signed_mul_functional (z) - L58
specialize signed_mul_functional (x1) - L59
apply signed_mul_functional - L60
exact he_left_right_witness_witness_witness_right_right_right - L61
specialize signed_mul_one_right (x1) - L62
apply signed_mul_one_right
11Separate the logical casesL63–64
12Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact he_left_left
13Construct an explicit witnessL66–66
Supply the displayed value, then prove that it has the required property.
- L66
exists x
14Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
15Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact he_left_right_witness_witness_witness_left
16Calculate and transport equalitiesL69–70
17Use earlier factsL71–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L71
exact he_left_right_witness_witness_witness_right_left
18Separate the logical casesL72–73
19Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact he_right
Original exact command ledger · 74 lines
- 0001
intro N - 0002
intro F - 0003
intro U - 0004
intro n - 0005
intro d - 0006
intro z - 0007
intro hu - 0008
intro hn - 0009
intro hb - 0010
intro he - 0011
cases he - 0012
cases he_left - 0013
cases he_left_right - 0014
cases he_left_right_witness - 0015
cases he_left_right_witness_witness - 0016
cases he_left_right_witness_witness_witness - 0017
cases he_left_right_witness_witness_witness_right - 0018
cases he_left_right_witness_witness_witness_right_right - 0019
have hqpositive : ~(x=0) - 0020
intro hqzero - 0021
specialize factor_nonzero_right (n) - 0022
specialize factor_nonzero_right (d) - 0023
specialize factor_nonzero_right (x) - 0024
apply factor_nonzero_right - 0025
exact hn - 0026
exact he_left_right_witness_witness_witness_left - 0027
exact hqzero - 0028
have hqbound : exists pvs_le_gap_quotient_domain. pvs_le_gap_quotient_domain + (x) = (N) - 0029
specialize le_trans (x) - 0030
specialize le_trans (n) - 0031
specialize le_trans (N) - 0032
apply le_trans - 0033
specialize divisor_le_nonzero (x) - 0034
specialize divisor_le_nonzero (n) - 0035
apply divisor_le_nonzero - 0036
exact hn - 0037
exists d - 0038
trans (d)*(x) - 0039
exact he_left_right_witness_witness_witness_left - 0040
apply mul_comm - 0041
exact hb - 0042
have hv : x2=2 - 0043
specialize dirichlet_constant_one_table_value (N) - 0044
specialize dirichlet_constant_one_table_value (U) - 0045
specialize dirichlet_constant_one_table_value (x) - 0046
specialize dirichlet_constant_one_table_value (x2) - 0047
apply dirichlet_constant_one_table_value - 0048
exact hu - 0049
exact hqpositive - 0050
exact hqbound - 0051
exact he_left_right_witness_witness_witness_right_right_left - 0052
rewrite hv at he_left_right_witness_witness_witness_right_right_right - 0053
rewrite hv at he_left_right_witness_witness_witness_right_right_right - 0054
have heq : z=x1 - 0055
specialize signed_mul_functional (x1) - 0056
specialize signed_mul_functional (2) - 0057
specialize signed_mul_functional (z) - 0058
specialize signed_mul_functional (x1) - 0059
apply signed_mul_functional - 0060
exact he_left_right_witness_witness_witness_right_right_right - 0061
specialize signed_mul_one_right (x1) - 0062
apply signed_mul_one_right - 0063
left - 0064
split - 0065
exact he_left_left - 0066
exists x - 0067
split - 0068
exact he_left_right_witness_witness_witness_left - 0069
rewrite heq - 0070
rewrite heq - 0071
exact he_left_right_witness_witness_witness_right_left - 0072
cases he_right - 0073
right - 0074
exact he_right