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_reverse_sourcetable dst_positive_scale_ones_reverse_sourcetable dst_negative_code_ones_reverse_sourcetable dst_negative_scale_ones_reverse_sourcetable. (((U) = (((((dst_positive_code_ones_reverse_sourcetable) + (dst_positive_scale_ones_reverse_sourcetable)) * S ((dst_positive_code_ones_reverse_sourcetable) + (dst_positive_scale_ones_reverse_sourcetable)) + ((dst_positive_scale_ones_reverse_sourcetable) + (dst_positive_scale_ones_reverse_sourcetable))) + (((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) * S ((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) + ((dst_negative_scale_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)))) * S ((((dst_positive_code_ones_reverse_sourcetable) + (dst_positive_scale_ones_reverse_sourcetable)) * S ((dst_positive_code_ones_reverse_sourcetable) + (dst_positive_scale_ones_reverse_sourcetable)) + ((dst_positive_scale_ones_reverse_sourcetable) + (dst_positive_scale_ones_reverse_sourcetable))) + (((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) * S ((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) + ((dst_negative_scale_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)))) + ((((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) * S ((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) + ((dst_negative_scale_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable))) + (((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) * S ((dst_negative_code_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)) + ((dst_negative_scale_ones_reverse_sourcetable) + (dst_negative_scale_ones_reverse_sourcetable)))))) /\ (forall dst_index_ones_reverse_sourcetable. (exists pvs_le_gap_ones_reverse_sourcetabledomain. pvs_le_gap_ones_reverse_sourcetabledomain + (dst_index_ones_reverse_sourcetable) = (N)) -> exists dst_positive_ones_reverse_sourcetable dst_negative_ones_reverse_sourcetable dst_value_ones_reverse_sourcetable. ((((exists ff_h_pvs_ones_reverse_sourcetableentrypositive. ff_h_pvs_ones_reverse_sourcetableentrypositive + S (dst_positive_ones_reverse_sourcetable) = S ((S (dst_index_ones_reverse_sourcetable)) * dst_positive_scale_ones_reverse_sourcetable)) /\ exists ff_q_pvs_ones_reverse_sourcetableentrypositive. dst_positive_code_ones_reverse_sourcetable = ff_q_pvs_ones_reverse_sourcetableentrypositive * S ((S (dst_index_ones_reverse_sourcetable)) * dst_positive_scale_ones_reverse_sourcetable) + (dst_positive_ones_reverse_sourcetable))) /\ (((((exists ff_h_pvs_ones_reverse_sourcetableentrynegative. ff_h_pvs_ones_reverse_sourcetableentrynegative + S (dst_negative_ones_reverse_sourcetable) = S ((S (dst_index_ones_reverse_sourcetable)) * dst_negative_scale_ones_reverse_sourcetable)) /\ exists ff_q_pvs_ones_reverse_sourcetableentrynegative. dst_negative_code_ones_reverse_sourcetable = ff_q_pvs_ones_reverse_sourcetableentrynegative * S ((S (dst_index_ones_reverse_sourcetable)) * dst_negative_scale_ones_reverse_sourcetable) + (dst_negative_ones_reverse_sourcetable))) /\ (exists ge_balance_positive_ones_reverse_sourcetableentryvalue ge_balance_negative_ones_reverse_sourcetableentryvalue. (((((dst_value_ones_reverse_sourcetable) = 2 * (ge_balance_positive_ones_reverse_sourcetableentryvalue) /\ (ge_balance_negative_ones_reverse_sourcetableentryvalue) = 0) \/ exists ge_signed_half_ones_reverse_sourcetableentryvaluedecode. (((dst_value_ones_reverse_sourcetable) = 2 * ge_signed_half_ones_reverse_sourcetableentryvaluedecode + 1 /\ (ge_balance_positive_ones_reverse_sourcetableentryvalue) = 0) /\ (ge_balance_negative_ones_reverse_sourcetableentryvalue) = S ge_signed_half_ones_reverse_sourcetableentryvaluedecode))) /\ ((dst_positive_ones_reverse_sourcetable) + ge_balance_negative_ones_reverse_sourcetableentryvalue = (dst_negative_ones_reverse_sourcetable) + ge_balance_positive_ones_reverse_sourcetableentryvalue))))))))) /\ (forall du_index_ones_reverse_source du_value_ones_reverse_source. ~(du_index_ones_reverse_source=0) -> (exists pvs_le_gap_ones_reverse_sourcebound. pvs_le_gap_ones_reverse_sourcebound + (du_index_ones_reverse_source) = (N)) -> (exists dst_positive_code_ones_reverse_sourceentry dst_positive_scale_ones_reverse_sourceentry dst_negative_code_ones_reverse_sourceentry dst_negative_scale_ones_reverse_sourceentry dst_positive_ones_reverse_sourceentry dst_negative_ones_reverse_sourceentry. (((U) = (((((dst_positive_code_ones_reverse_sourceentry) + (dst_positive_scale_ones_reverse_sourceentry)) * S ((dst_positive_code_ones_reverse_sourceentry) + (dst_positive_scale_ones_reverse_sourceentry)) + ((dst_positive_scale_ones_reverse_sourceentry) + (dst_positive_scale_ones_reverse_sourceentry))) + (((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) * S ((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) + ((dst_negative_scale_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)))) * S ((((dst_positive_code_ones_reverse_sourceentry) + (dst_positive_scale_ones_reverse_sourceentry)) * S ((dst_positive_code_ones_reverse_sourceentry) + (dst_positive_scale_ones_reverse_sourceentry)) + ((dst_positive_scale_ones_reverse_sourceentry) + (dst_positive_scale_ones_reverse_sourceentry))) + (((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) * S ((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) + ((dst_negative_scale_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)))) + ((((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) * S ((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) + ((dst_negative_scale_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry))) + (((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) * S ((dst_negative_code_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)) + ((dst_negative_scale_ones_reverse_sourceentry) + (dst_negative_scale_ones_reverse_sourceentry)))))) /\ (((((exists ff_h_pvs_ones_reverse_sourceentrypositive. ff_h_pvs_ones_reverse_sourceentrypositive + S (dst_positive_ones_reverse_sourceentry) = S ((S (du_index_ones_reverse_source)) * dst_positive_scale_ones_reverse_sourceentry)) /\ exists ff_q_pvs_ones_reverse_sourceentrypositive. dst_positive_code_ones_reverse_sourceentry = ff_q_pvs_ones_reverse_sourceentrypositive * S ((S (du_index_ones_reverse_source)) * dst_positive_scale_ones_reverse_sourceentry) + (dst_positive_ones_reverse_sourceentry))) /\ (((((exists ff_h_pvs_ones_reverse_sourceentrynegative. ff_h_pvs_ones_reverse_sourceentrynegative + S (dst_negative_ones_reverse_sourceentry) = S ((S (du_index_ones_reverse_source)) * dst_negative_scale_ones_reverse_sourceentry)) /\ exists ff_q_pvs_ones_reverse_sourceentrynegative. dst_negative_code_ones_reverse_sourceentry = ff_q_pvs_ones_reverse_sourceentrynegative * S ((S (du_index_ones_reverse_source)) * dst_negative_scale_ones_reverse_sourceentry) + (dst_negative_ones_reverse_sourceentry))) /\ (exists ge_balance_positive_ones_reverse_sourceentryvalue ge_balance_negative_ones_reverse_sourceentryvalue. (((((du_value_ones_reverse_source) = 2 * (ge_balance_positive_ones_reverse_sourceentryvalue) /\ (ge_balance_negative_ones_reverse_sourceentryvalue) = 0) \/ exists ge_signed_half_ones_reverse_sourceentryvaluedecode. (((du_value_ones_reverse_source) = 2 * ge_signed_half_ones_reverse_sourceentryvaluedecode + 1 /\ (ge_balance_positive_ones_reverse_sourceentryvalue) = 0) /\ (ge_balance_negative_ones_reverse_sourceentryvalue) = S ge_signed_half_ones_reverse_sourceentryvaluedecode))) /\ ((dst_positive_ones_reverse_sourceentry) + ge_balance_negative_ones_reverse_sourceentryvalue = (dst_negative_ones_reverse_sourceentry) + ge_balance_positive_ones_reverse_sourceentryvalue))))))))) -> du_value_ones_reverse_source=2))) -> ~(n=0) -> (exists pvs_le_gap_ones_reverse_bound. pvs_le_gap_ones_reverse_bound + (n) = (N)) -> ((((~((d)=0)) /\ (exists dm_quotient_ones_reverse_mask. (((n)=(d)*dm_quotient_ones_reverse_mask) /\ (exists dst_positive_code_ones_reverse_maskinput dst_positive_scale_ones_reverse_maskinput dst_negative_code_ones_reverse_maskinput dst_negative_scale_ones_reverse_maskinput dst_positive_ones_reverse_maskinput dst_negative_ones_reverse_maskinput. (((F) = (((((dst_positive_code_ones_reverse_maskinput) + (dst_positive_scale_ones_reverse_maskinput)) * S ((dst_positive_code_ones_reverse_maskinput) + (dst_positive_scale_ones_reverse_maskinput)) + ((dst_positive_scale_ones_reverse_maskinput) + (dst_positive_scale_ones_reverse_maskinput))) + (((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) * S ((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) + ((dst_negative_scale_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)))) * S ((((dst_positive_code_ones_reverse_maskinput) + (dst_positive_scale_ones_reverse_maskinput)) * S ((dst_positive_code_ones_reverse_maskinput) + (dst_positive_scale_ones_reverse_maskinput)) + ((dst_positive_scale_ones_reverse_maskinput) + (dst_positive_scale_ones_reverse_maskinput))) + (((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) * S ((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) + ((dst_negative_scale_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)))) + ((((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) * S ((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) + ((dst_negative_scale_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput))) + (((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) * S ((dst_negative_code_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)) + ((dst_negative_scale_ones_reverse_maskinput) + (dst_negative_scale_ones_reverse_maskinput)))))) /\ (((((exists ff_h_pvs_ones_reverse_maskinputpositive. ff_h_pvs_ones_reverse_maskinputpositive + S (dst_positive_ones_reverse_maskinput) = S ((S (d)) * dst_positive_scale_ones_reverse_maskinput)) /\ exists ff_q_pvs_ones_reverse_maskinputpositive. dst_positive_code_ones_reverse_maskinput = ff_q_pvs_ones_reverse_maskinputpositive * S ((S (d)) * dst_positive_scale_ones_reverse_maskinput) + (dst_positive_ones_reverse_maskinput))) /\ (((((exists ff_h_pvs_ones_reverse_maskinputnegative. ff_h_pvs_ones_reverse_maskinputnegative + S (dst_negative_ones_reverse_maskinput) = S ((S (d)) * dst_negative_scale_ones_reverse_maskinput)) /\ exists ff_q_pvs_ones_reverse_maskinputnegative. dst_negative_code_ones_reverse_maskinput = ff_q_pvs_ones_reverse_maskinputnegative * S ((S (d)) * dst_negative_scale_ones_reverse_maskinput) + (dst_negative_ones_reverse_maskinput))) /\ (exists ge_balance_positive_ones_reverse_maskinputvalue ge_balance_negative_ones_reverse_maskinputvalue. (((((z) = 2 * (ge_balance_positive_ones_reverse_maskinputvalue) /\ (ge_balance_negative_ones_reverse_maskinputvalue) = 0) \/ exists ge_signed_half_ones_reverse_maskinputvaluedecode. (((z) = 2 * ge_signed_half_ones_reverse_maskinputvaluedecode + 1 /\ (ge_balance_positive_ones_reverse_maskinputvalue) = 0) /\ (ge_balance_negative_ones_reverse_maskinputvalue) = S ge_signed_half_ones_reverse_maskinputvaluedecode))) /\ ((dst_positive_ones_reverse_maskinput) + ge_balance_negative_ones_reverse_maskinputvalue = (dst_negative_ones_reverse_maskinput) + ge_balance_positive_ones_reverse_maskinputvalue))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_ones_reverse_masknondivisor. (n) = (d) * pvs_factor_ones_reverse_masknondivisor)) /\ ((z)=0)))) -> ((((~((d)=0)) /\ (exists dc_quotient_ones_reverse_convolution dc_left_ones_reverse_convolution dc_right_ones_reverse_convolution. (((n)=(d)*dc_quotient_ones_reverse_convolution) /\ (((exists dst_positive_code_ones_reverse_convolutionleft dst_positive_scale_ones_reverse_convolutionleft dst_negative_code_ones_reverse_convolutionleft dst_negative_scale_ones_reverse_convolutionleft dst_positive_ones_reverse_convolutionleft dst_negative_ones_reverse_convolutionleft. (((F) = (((((dst_positive_code_ones_reverse_convolutionleft) + (dst_positive_scale_ones_reverse_convolutionleft)) * S ((dst_positive_code_ones_reverse_convolutionleft) + (dst_positive_scale_ones_reverse_convolutionleft)) + ((dst_positive_scale_ones_reverse_convolutionleft) + (dst_positive_scale_ones_reverse_convolutionleft))) + (((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) * S ((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) + ((dst_negative_scale_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)))) * S ((((dst_positive_code_ones_reverse_convolutionleft) + (dst_positive_scale_ones_reverse_convolutionleft)) * S ((dst_positive_code_ones_reverse_convolutionleft) + (dst_positive_scale_ones_reverse_convolutionleft)) + ((dst_positive_scale_ones_reverse_convolutionleft) + (dst_positive_scale_ones_reverse_convolutionleft))) + (((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) * S ((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) + ((dst_negative_scale_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)))) + ((((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) * S ((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) + ((dst_negative_scale_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft))) + (((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) * S ((dst_negative_code_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)) + ((dst_negative_scale_ones_reverse_convolutionleft) + (dst_negative_scale_ones_reverse_convolutionleft)))))) /\ (((((exists ff_h_pvs_ones_reverse_convolutionleftpositive. ff_h_pvs_ones_reverse_convolutionleftpositive + S (dst_positive_ones_reverse_convolutionleft) = S ((S (d)) * dst_positive_scale_ones_reverse_convolutionleft)) /\ exists ff_q_pvs_ones_reverse_convolutionleftpositive. dst_positive_code_ones_reverse_convolutionleft = ff_q_pvs_ones_reverse_convolutionleftpositive * S ((S (d)) * dst_positive_scale_ones_reverse_convolutionleft) + (dst_positive_ones_reverse_convolutionleft))) /\ (((((exists ff_h_pvs_ones_reverse_convolutionleftnegative. ff_h_pvs_ones_reverse_convolutionleftnegative + S (dst_negative_ones_reverse_convolutionleft) = S ((S (d)) * dst_negative_scale_ones_reverse_convolutionleft)) /\ exists ff_q_pvs_ones_reverse_convolutionleftnegative. dst_negative_code_ones_reverse_convolutionleft = ff_q_pvs_ones_reverse_convolutionleftnegative * S ((S (d)) * dst_negative_scale_ones_reverse_convolutionleft) + (dst_negative_ones_reverse_convolutionleft))) /\ (exists ge_balance_positive_ones_reverse_convolutionleftvalue ge_balance_negative_ones_reverse_convolutionleftvalue. (((((dc_left_ones_reverse_convolution) = 2 * (ge_balance_positive_ones_reverse_convolutionleftvalue) /\ (ge_balance_negative_ones_reverse_convolutionleftvalue) = 0) \/ exists ge_signed_half_ones_reverse_convolutionleftvaluedecode. (((dc_left_ones_reverse_convolution) = 2 * ge_signed_half_ones_reverse_convolutionleftvaluedecode + 1 /\ (ge_balance_positive_ones_reverse_convolutionleftvalue) = 0) /\ (ge_balance_negative_ones_reverse_convolutionleftvalue) = S ge_signed_half_ones_reverse_convolutionleftvaluedecode))) /\ ((dst_positive_ones_reverse_convolutionleft) + ge_balance_negative_ones_reverse_convolutionleftvalue = (dst_negative_ones_reverse_convolutionleft) + ge_balance_positive_ones_reverse_convolutionleftvalue))))))))) /\ (((exists dst_positive_code_ones_reverse_convolutionright dst_positive_scale_ones_reverse_convolutionright dst_negative_code_ones_reverse_convolutionright dst_negative_scale_ones_reverse_convolutionright dst_positive_ones_reverse_convolutionright dst_negative_ones_reverse_convolutionright. (((U) = (((((dst_positive_code_ones_reverse_convolutionright) + (dst_positive_scale_ones_reverse_convolutionright)) * S ((dst_positive_code_ones_reverse_convolutionright) + (dst_positive_scale_ones_reverse_convolutionright)) + ((dst_positive_scale_ones_reverse_convolutionright) + (dst_positive_scale_ones_reverse_convolutionright))) + (((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) * S ((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) + ((dst_negative_scale_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)))) * S ((((dst_positive_code_ones_reverse_convolutionright) + (dst_positive_scale_ones_reverse_convolutionright)) * S ((dst_positive_code_ones_reverse_convolutionright) + (dst_positive_scale_ones_reverse_convolutionright)) + ((dst_positive_scale_ones_reverse_convolutionright) + (dst_positive_scale_ones_reverse_convolutionright))) + (((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) * S ((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) + ((dst_negative_scale_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)))) + ((((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) * S ((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) + ((dst_negative_scale_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright))) + (((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) * S ((dst_negative_code_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)) + ((dst_negative_scale_ones_reverse_convolutionright) + (dst_negative_scale_ones_reverse_convolutionright)))))) /\ (((((exists ff_h_pvs_ones_reverse_convolutionrightpositive. ff_h_pvs_ones_reverse_convolutionrightpositive + S (dst_positive_ones_reverse_convolutionright) = S ((S (dc_quotient_ones_reverse_convolution)) * dst_positive_scale_ones_reverse_convolutionright)) /\ exists ff_q_pvs_ones_reverse_convolutionrightpositive. dst_positive_code_ones_reverse_convolutionright = ff_q_pvs_ones_reverse_convolutionrightpositive * S ((S (dc_quotient_ones_reverse_convolution)) * dst_positive_scale_ones_reverse_convolutionright) + (dst_positive_ones_reverse_convolutionright))) /\ (((((exists ff_h_pvs_ones_reverse_convolutionrightnegative. ff_h_pvs_ones_reverse_convolutionrightnegative + S (dst_negative_ones_reverse_convolutionright) = S ((S (dc_quotient_ones_reverse_convolution)) * dst_negative_scale_ones_reverse_convolutionright)) /\ exists ff_q_pvs_ones_reverse_convolutionrightnegative. dst_negative_code_ones_reverse_convolutionright = ff_q_pvs_ones_reverse_convolutionrightnegative * S ((S (dc_quotient_ones_reverse_convolution)) * dst_negative_scale_ones_reverse_convolutionright) + (dst_negative_ones_reverse_convolutionright))) /\ (exists ge_balance_positive_ones_reverse_convolutionrightvalue ge_balance_negative_ones_reverse_convolutionrightvalue. (((((dc_right_ones_reverse_convolution) = 2 * (ge_balance_positive_ones_reverse_convolutionrightvalue) /\ (ge_balance_negative_ones_reverse_convolutionrightvalue) = 0) \/ exists ge_signed_half_ones_reverse_convolutionrightvaluedecode. (((dc_right_ones_reverse_convolution) = 2 * ge_signed_half_ones_reverse_convolutionrightvaluedecode + 1 /\ (ge_balance_positive_ones_reverse_convolutionrightvalue) = 0) /\ (ge_balance_negative_ones_reverse_convolutionrightvalue) = S ge_signed_half_ones_reverse_convolutionrightvaluedecode))) /\ ((dst_positive_ones_reverse_convolutionright) + ge_balance_negative_ones_reverse_convolutionrightvalue = (dst_negative_ones_reverse_convolutionright) + ge_balance_positive_ones_reverse_convolutionrightvalue))))))))) /\ (exists sto_ap_ones_reverse_convolutionproduct sto_an_ones_reverse_convolutionproduct sto_bp_ones_reverse_convolutionproduct sto_bn_ones_reverse_convolutionproduct sto_cp_ones_reverse_convolutionproduct sto_cn_ones_reverse_convolutionproduct. (((((dc_left_ones_reverse_convolution) = 2 * (sto_ap_ones_reverse_convolutionproduct) /\ (sto_an_ones_reverse_convolutionproduct) = 0) \/ exists ge_signed_half_ones_reverse_convolutionproductleft. (((dc_left_ones_reverse_convolution) = 2 * ge_signed_half_ones_reverse_convolutionproductleft + 1 /\ (sto_ap_ones_reverse_convolutionproduct) = 0) /\ (sto_an_ones_reverse_convolutionproduct) = S ge_signed_half_ones_reverse_convolutionproductleft))) /\ ((((((dc_right_ones_reverse_convolution) = 2 * (sto_bp_ones_reverse_convolutionproduct) /\ (sto_bn_ones_reverse_convolutionproduct) = 0) \/ exists ge_signed_half_ones_reverse_convolutionproductright. (((dc_right_ones_reverse_convolution) = 2 * ge_signed_half_ones_reverse_convolutionproductright + 1 /\ (sto_bp_ones_reverse_convolutionproduct) = 0) /\ (sto_bn_ones_reverse_convolutionproduct) = S ge_signed_half_ones_reverse_convolutionproductright))) /\ ((((((z) = 2 * (sto_cp_ones_reverse_convolutionproduct) /\ (sto_cn_ones_reverse_convolutionproduct) = 0) \/ exists ge_signed_half_ones_reverse_convolutionproductoutput. (((z) = 2 * ge_signed_half_ones_reverse_convolutionproductoutput + 1 /\ (sto_cp_ones_reverse_convolutionproduct) = 0) /\ (sto_cn_ones_reverse_convolutionproduct) = S ge_signed_half_ones_reverse_convolutionproductoutput))) /\ ((sto_ap_ones_reverse_convolutionproduct * sto_bp_ones_reverse_convolutionproduct + sto_an_ones_reverse_convolutionproduct * sto_bn_ones_reverse_convolutionproduct) + sto_cn_ones_reverse_convolutionproduct = (sto_ap_ones_reverse_convolutionproduct * sto_bn_ones_reverse_convolutionproduct + sto_an_ones_reverse_convolutionproduct * sto_bp_ones_reverse_convolutionproduct) + sto_cp_ones_reverse_convolutionproduct))))))))))))))) \/ ((((d)=0 \/ ~(exists pvs_factor_ones_reverse_convolutionnondivisor. (n) = (d) * pvs_factor_ones_reverse_convolutionnondivisor)) /\ ((z)=0))))Constructive proof overview
Generated structural guide
Construct the actual bounded complementary lookup and its signed product from a genuine divisor-mask entry; omitted zero/nondivisor entries stay zero.
The unchanged tactic script uses 8 declared prerequisites and contains 76 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 divisor_signed_table_lookup Alpha theorem; checked-use authorized dirichlet_convolution_entry_from_quotient 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–14
03Establish hqpositiveL15–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero right.
04Establish hqboundL24–32
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply le trans.
05Construct an explicit witnessL33–33
Supply the displayed value, then prove that it has the required property.
- L33
exists d
06Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
trans (d)*(x)
07Use earlier factsL35–37
08Separate the logical casesL38–38
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L38
cases hu
09Establish hvL39–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply divisor signed table lookup.
10Separate the logical casesL46–46
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L46
cases hv
11Establish heqL47–56
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet constant one table value.
- L47
have heq : x1=2 - L48
specialize dirichlet_constant_one_table_value (N) - L49
specialize dirichlet_constant_one_table_value (U) - L50
specialize dirichlet_constant_one_table_value (x) - L51
specialize dirichlet_constant_one_table_value (x1) - L52
apply dirichlet_constant_one_table_value - L53
exact hu - L54
exact hqpositive - L55
exact hqbound - L56
exact hv_witness
12Calculate and transport equalitiesL57–58
13Use earlier factsL59–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L59
specialize dirichlet_convolution_entry_from_quotient (F) - L60
specialize dirichlet_convolution_entry_from_quotient (U) - L61
specialize dirichlet_convolution_entry_from_quotient (n) - L62
specialize dirichlet_convolution_entry_from_quotient (d) - L63
specialize dirichlet_convolution_entry_from_quotient (x) - L64
specialize dirichlet_convolution_entry_from_quotient (z) - L65
specialize dirichlet_convolution_entry_from_quotient (2) - L66
specialize dirichlet_convolution_entry_from_quotient (z) - L67
apply dirichlet_convolution_entry_from_quotient - L68
exact he_left_left
14Use earlier factsL69–73
15Separate the logical casesL74–75
16Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact he_right
Original exact command ledger · 76 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
have hqpositive : ~(x=0) - 0016
intro hqzero - 0017
specialize factor_nonzero_right (n) - 0018
specialize factor_nonzero_right (d) - 0019
specialize factor_nonzero_right (x) - 0020
apply factor_nonzero_right - 0021
exact hn - 0022
exact he_left_right_witness_left - 0023
exact hqzero - 0024
have hqbound : exists pvs_le_gap_quotient_domain. pvs_le_gap_quotient_domain + (x) = (N) - 0025
specialize le_trans (x) - 0026
specialize le_trans (n) - 0027
specialize le_trans (N) - 0028
apply le_trans - 0029
specialize divisor_le_nonzero (x) - 0030
specialize divisor_le_nonzero (n) - 0031
apply divisor_le_nonzero - 0032
exact hn - 0033
exists d - 0034
trans (d)*(x) - 0035
exact he_left_right_witness_left - 0036
apply mul_comm - 0037
exact hb - 0038
cases hu - 0039
have hv : exists v. (exists dst_positive_code_ones_reverse_lookup dst_positive_scale_ones_reverse_lookup dst_negative_code_ones_reverse_lookup dst_negative_scale_ones_reverse_lookup dst_positive_ones_reverse_lookup dst_negative_ones_reverse_lookup. (((U) = (((((dst_positive_code_ones_reverse_lookup) + (dst_positive_scale_ones_reverse_lookup)) * S ((dst_positive_code_ones_reverse_lookup) + (dst_positive_scale_ones_reverse_lookup)) + ((dst_positive_scale_ones_reverse_lookup) + (dst_positive_scale_ones_reverse_lookup))) + (((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) * S ((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) + ((dst_negative_scale_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)))) * S ((((dst_positive_code_ones_reverse_lookup) + (dst_positive_scale_ones_reverse_lookup)) * S ((dst_positive_code_ones_reverse_lookup) + (dst_positive_scale_ones_reverse_lookup)) + ((dst_positive_scale_ones_reverse_lookup) + (dst_positive_scale_ones_reverse_lookup))) + (((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) * S ((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) + ((dst_negative_scale_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)))) + ((((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) * S ((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) + ((dst_negative_scale_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup))) + (((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) * S ((dst_negative_code_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)) + ((dst_negative_scale_ones_reverse_lookup) + (dst_negative_scale_ones_reverse_lookup)))))) /\ (((((exists ff_h_pvs_ones_reverse_lookuppositive. ff_h_pvs_ones_reverse_lookuppositive + S (dst_positive_ones_reverse_lookup) = S ((S (x)) * dst_positive_scale_ones_reverse_lookup)) /\ exists ff_q_pvs_ones_reverse_lookuppositive. dst_positive_code_ones_reverse_lookup = ff_q_pvs_ones_reverse_lookuppositive * S ((S (x)) * dst_positive_scale_ones_reverse_lookup) + (dst_positive_ones_reverse_lookup))) /\ (((((exists ff_h_pvs_ones_reverse_lookupnegative. ff_h_pvs_ones_reverse_lookupnegative + S (dst_negative_ones_reverse_lookup) = S ((S (x)) * dst_negative_scale_ones_reverse_lookup)) /\ exists ff_q_pvs_ones_reverse_lookupnegative. dst_negative_code_ones_reverse_lookup = ff_q_pvs_ones_reverse_lookupnegative * S ((S (x)) * dst_negative_scale_ones_reverse_lookup) + (dst_negative_ones_reverse_lookup))) /\ (exists ge_balance_positive_ones_reverse_lookupvalue ge_balance_negative_ones_reverse_lookupvalue. (((((v) = 2 * (ge_balance_positive_ones_reverse_lookupvalue) /\ (ge_balance_negative_ones_reverse_lookupvalue) = 0) \/ exists ge_signed_half_ones_reverse_lookupvaluedecode. (((v) = 2 * ge_signed_half_ones_reverse_lookupvaluedecode + 1 /\ (ge_balance_positive_ones_reverse_lookupvalue) = 0) /\ (ge_balance_negative_ones_reverse_lookupvalue) = S ge_signed_half_ones_reverse_lookupvaluedecode))) /\ ((dst_positive_ones_reverse_lookup) + ge_balance_negative_ones_reverse_lookupvalue = (dst_negative_ones_reverse_lookup) + ge_balance_positive_ones_reverse_lookupvalue))))))))) - 0040
specialize divisor_signed_table_lookup (N) - 0041
specialize divisor_signed_table_lookup (U) - 0042
specialize divisor_signed_table_lookup (x) - 0043
apply divisor_signed_table_lookup - 0044
exact hu_left - 0045
exact hqbound - 0046
cases hv - 0047
have heq : x1=2 - 0048
specialize dirichlet_constant_one_table_value (N) - 0049
specialize dirichlet_constant_one_table_value (U) - 0050
specialize dirichlet_constant_one_table_value (x) - 0051
specialize dirichlet_constant_one_table_value (x1) - 0052
apply dirichlet_constant_one_table_value - 0053
exact hu - 0054
exact hqpositive - 0055
exact hqbound - 0056
exact hv_witness - 0057
rewrite heq at hv_witness - 0058
rewrite heq at hv_witness - 0059
specialize dirichlet_convolution_entry_from_quotient (F) - 0060
specialize dirichlet_convolution_entry_from_quotient (U) - 0061
specialize dirichlet_convolution_entry_from_quotient (n) - 0062
specialize dirichlet_convolution_entry_from_quotient (d) - 0063
specialize dirichlet_convolution_entry_from_quotient (x) - 0064
specialize dirichlet_convolution_entry_from_quotient (z) - 0065
specialize dirichlet_convolution_entry_from_quotient (2) - 0066
specialize dirichlet_convolution_entry_from_quotient (z) - 0067
apply dirichlet_convolution_entry_from_quotient - 0068
exact he_left_left - 0069
exact he_left_right_witness_left - 0070
exact he_left_right_witness_right - 0071
exact hv_witness - 0072
specialize signed_mul_one_right (z) - 0073
apply signed_mul_one_right - 0074
cases he_right - 0075
right - 0076
exact he_right