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 E n a z. (((exists dst_positive_code_unit_value_deltatable dst_positive_scale_unit_value_deltatable dst_negative_code_unit_value_deltatable dst_negative_scale_unit_value_deltatable. (((E) = (((((dst_positive_code_unit_value_deltatable) + (dst_positive_scale_unit_value_deltatable)) * S ((dst_positive_code_unit_value_deltatable) + (dst_positive_scale_unit_value_deltatable)) + ((dst_positive_scale_unit_value_deltatable) + (dst_positive_scale_unit_value_deltatable))) + (((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) * S ((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) + ((dst_negative_scale_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)))) * S ((((dst_positive_code_unit_value_deltatable) + (dst_positive_scale_unit_value_deltatable)) * S ((dst_positive_code_unit_value_deltatable) + (dst_positive_scale_unit_value_deltatable)) + ((dst_positive_scale_unit_value_deltatable) + (dst_positive_scale_unit_value_deltatable))) + (((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) * S ((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) + ((dst_negative_scale_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)))) + ((((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) * S ((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) + ((dst_negative_scale_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable))) + (((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) * S ((dst_negative_code_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)) + ((dst_negative_scale_unit_value_deltatable) + (dst_negative_scale_unit_value_deltatable)))))) /\ (forall dst_index_unit_value_deltatable. (exists pvs_le_gap_unit_value_deltatabledomain. pvs_le_gap_unit_value_deltatabledomain + (dst_index_unit_value_deltatable) = (N)) -> exists dst_positive_unit_value_deltatable dst_negative_unit_value_deltatable dst_value_unit_value_deltatable. ((((exists ff_h_pvs_unit_value_deltatableentrypositive. ff_h_pvs_unit_value_deltatableentrypositive + S (dst_positive_unit_value_deltatable) = S ((S (dst_index_unit_value_deltatable)) * dst_positive_scale_unit_value_deltatable)) /\ exists ff_q_pvs_unit_value_deltatableentrypositive. dst_positive_code_unit_value_deltatable = ff_q_pvs_unit_value_deltatableentrypositive * S ((S (dst_index_unit_value_deltatable)) * dst_positive_scale_unit_value_deltatable) + (dst_positive_unit_value_deltatable))) /\ (((((exists ff_h_pvs_unit_value_deltatableentrynegative. ff_h_pvs_unit_value_deltatableentrynegative + S (dst_negative_unit_value_deltatable) = S ((S (dst_index_unit_value_deltatable)) * dst_negative_scale_unit_value_deltatable)) /\ exists ff_q_pvs_unit_value_deltatableentrynegative. dst_negative_code_unit_value_deltatable = ff_q_pvs_unit_value_deltatableentrynegative * S ((S (dst_index_unit_value_deltatable)) * dst_negative_scale_unit_value_deltatable) + (dst_negative_unit_value_deltatable))) /\ (exists ge_balance_positive_unit_value_deltatableentryvalue ge_balance_negative_unit_value_deltatableentryvalue. (((((dst_value_unit_value_deltatable) = 2 * (ge_balance_positive_unit_value_deltatableentryvalue) /\ (ge_balance_negative_unit_value_deltatableentryvalue) = 0) \/ exists ge_signed_half_unit_value_deltatableentryvaluedecode. (((dst_value_unit_value_deltatable) = 2 * ge_signed_half_unit_value_deltatableentryvaluedecode + 1 /\ (ge_balance_positive_unit_value_deltatableentryvalue) = 0) /\ (ge_balance_negative_unit_value_deltatableentryvalue) = S ge_signed_half_unit_value_deltatableentryvaluedecode))) /\ ((dst_positive_unit_value_deltatable) + ge_balance_negative_unit_value_deltatableentryvalue = (dst_negative_unit_value_deltatable) + ge_balance_positive_unit_value_deltatableentryvalue))))))))) /\ (forall du_index_unit_value_delta du_value_unit_value_delta. ~(du_index_unit_value_delta=0) -> (exists pvs_le_gap_unit_value_deltabound. pvs_le_gap_unit_value_deltabound + (du_index_unit_value_delta) = (N)) -> (exists dst_positive_code_unit_value_deltaentry dst_positive_scale_unit_value_deltaentry dst_negative_code_unit_value_deltaentry dst_negative_scale_unit_value_deltaentry dst_positive_unit_value_deltaentry dst_negative_unit_value_deltaentry. (((E) = (((((dst_positive_code_unit_value_deltaentry) + (dst_positive_scale_unit_value_deltaentry)) * S ((dst_positive_code_unit_value_deltaentry) + (dst_positive_scale_unit_value_deltaentry)) + ((dst_positive_scale_unit_value_deltaentry) + (dst_positive_scale_unit_value_deltaentry))) + (((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) * S ((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) + ((dst_negative_scale_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)))) * S ((((dst_positive_code_unit_value_deltaentry) + (dst_positive_scale_unit_value_deltaentry)) * S ((dst_positive_code_unit_value_deltaentry) + (dst_positive_scale_unit_value_deltaentry)) + ((dst_positive_scale_unit_value_deltaentry) + (dst_positive_scale_unit_value_deltaentry))) + (((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) * S ((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) + ((dst_negative_scale_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)))) + ((((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) * S ((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) + ((dst_negative_scale_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry))) + (((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) * S ((dst_negative_code_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)) + ((dst_negative_scale_unit_value_deltaentry) + (dst_negative_scale_unit_value_deltaentry)))))) /\ (((((exists ff_h_pvs_unit_value_deltaentrypositive. ff_h_pvs_unit_value_deltaentrypositive + S (dst_positive_unit_value_deltaentry) = S ((S (du_index_unit_value_delta)) * dst_positive_scale_unit_value_deltaentry)) /\ exists ff_q_pvs_unit_value_deltaentrypositive. dst_positive_code_unit_value_deltaentry = ff_q_pvs_unit_value_deltaentrypositive * S ((S (du_index_unit_value_delta)) * dst_positive_scale_unit_value_deltaentry) + (dst_positive_unit_value_deltaentry))) /\ (((((exists ff_h_pvs_unit_value_deltaentrynegative. ff_h_pvs_unit_value_deltaentrynegative + S (dst_negative_unit_value_deltaentry) = S ((S (du_index_unit_value_delta)) * dst_negative_scale_unit_value_deltaentry)) /\ exists ff_q_pvs_unit_value_deltaentrynegative. dst_negative_code_unit_value_deltaentry = ff_q_pvs_unit_value_deltaentrynegative * S ((S (du_index_unit_value_delta)) * dst_negative_scale_unit_value_deltaentry) + (dst_negative_unit_value_deltaentry))) /\ (exists ge_balance_positive_unit_value_deltaentryvalue ge_balance_negative_unit_value_deltaentryvalue. (((((du_value_unit_value_delta) = 2 * (ge_balance_positive_unit_value_deltaentryvalue) /\ (ge_balance_negative_unit_value_deltaentryvalue) = 0) \/ exists ge_signed_half_unit_value_deltaentryvaluedecode. (((du_value_unit_value_delta) = 2 * ge_signed_half_unit_value_deltaentryvaluedecode + 1 /\ (ge_balance_positive_unit_value_deltaentryvalue) = 0) /\ (ge_balance_negative_unit_value_deltaentryvalue) = S ge_signed_half_unit_value_deltaentryvaluedecode))) /\ ((dst_positive_unit_value_deltaentry) + ge_balance_negative_unit_value_deltaentryvalue = (dst_negative_unit_value_deltaentry) + ge_balance_positive_unit_value_deltaentryvalue))))))))) -> ((((du_index_unit_value_delta)=1 -> (du_value_unit_value_delta)=2) /\ (~((du_index_unit_value_delta)=1) -> (du_value_unit_value_delta)=0)))))) -> (exists pvs_le_gap_unit_value_bound. pvs_le_gap_unit_value_bound + (n) = (N)) -> (exists dst_positive_code_unit_value_source dst_positive_scale_unit_value_source dst_negative_code_unit_value_source dst_negative_scale_unit_value_source dst_positive_unit_value_source dst_negative_unit_value_source. (((F) = (((((dst_positive_code_unit_value_source) + (dst_positive_scale_unit_value_source)) * S ((dst_positive_code_unit_value_source) + (dst_positive_scale_unit_value_source)) + ((dst_positive_scale_unit_value_source) + (dst_positive_scale_unit_value_source))) + (((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) * S ((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) + ((dst_negative_scale_unit_value_source) + (dst_negative_scale_unit_value_source)))) * S ((((dst_positive_code_unit_value_source) + (dst_positive_scale_unit_value_source)) * S ((dst_positive_code_unit_value_source) + (dst_positive_scale_unit_value_source)) + ((dst_positive_scale_unit_value_source) + (dst_positive_scale_unit_value_source))) + (((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) * S ((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) + ((dst_negative_scale_unit_value_source) + (dst_negative_scale_unit_value_source)))) + ((((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) * S ((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) + ((dst_negative_scale_unit_value_source) + (dst_negative_scale_unit_value_source))) + (((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) * S ((dst_negative_code_unit_value_source) + (dst_negative_scale_unit_value_source)) + ((dst_negative_scale_unit_value_source) + (dst_negative_scale_unit_value_source)))))) /\ (((((exists ff_h_pvs_unit_value_sourcepositive. ff_h_pvs_unit_value_sourcepositive + S (dst_positive_unit_value_source) = S ((S (n)) * dst_positive_scale_unit_value_source)) /\ exists ff_q_pvs_unit_value_sourcepositive. dst_positive_code_unit_value_source = ff_q_pvs_unit_value_sourcepositive * S ((S (n)) * dst_positive_scale_unit_value_source) + (dst_positive_unit_value_source))) /\ (((((exists ff_h_pvs_unit_value_sourcenegative. ff_h_pvs_unit_value_sourcenegative + S (dst_negative_unit_value_source) = S ((S (n)) * dst_negative_scale_unit_value_source)) /\ exists ff_q_pvs_unit_value_sourcenegative. dst_negative_code_unit_value_source = ff_q_pvs_unit_value_sourcenegative * S ((S (n)) * dst_negative_scale_unit_value_source) + (dst_negative_unit_value_source))) /\ (exists ge_balance_positive_unit_value_sourcevalue ge_balance_negative_unit_value_sourcevalue. (((((a) = 2 * (ge_balance_positive_unit_value_sourcevalue) /\ (ge_balance_negative_unit_value_sourcevalue) = 0) \/ exists ge_signed_half_unit_value_sourcevaluedecode. (((a) = 2 * ge_signed_half_unit_value_sourcevaluedecode + 1 /\ (ge_balance_positive_unit_value_sourcevalue) = 0) /\ (ge_balance_negative_unit_value_sourcevalue) = S ge_signed_half_unit_value_sourcevaluedecode))) /\ ((dst_positive_unit_value_source) + ge_balance_negative_unit_value_sourcevalue = (dst_negative_unit_value_source) + ge_balance_positive_unit_value_sourcevalue))))))))) -> (((~((n)=0)) /\ (exists dc_mask_unit_value_convolution. ((((exists dst_positive_code_unit_value_convolutionmasktable dst_positive_scale_unit_value_convolutionmasktable dst_negative_code_unit_value_convolutionmasktable dst_negative_scale_unit_value_convolutionmasktable. (((dc_mask_unit_value_convolution) = (((((dst_positive_code_unit_value_convolutionmasktable) + (dst_positive_scale_unit_value_convolutionmasktable)) * S ((dst_positive_code_unit_value_convolutionmasktable) + (dst_positive_scale_unit_value_convolutionmasktable)) + ((dst_positive_scale_unit_value_convolutionmasktable) + (dst_positive_scale_unit_value_convolutionmasktable))) + (((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) * S ((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) + ((dst_negative_scale_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)))) * S ((((dst_positive_code_unit_value_convolutionmasktable) + (dst_positive_scale_unit_value_convolutionmasktable)) * S ((dst_positive_code_unit_value_convolutionmasktable) + (dst_positive_scale_unit_value_convolutionmasktable)) + ((dst_positive_scale_unit_value_convolutionmasktable) + (dst_positive_scale_unit_value_convolutionmasktable))) + (((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) * S ((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) + ((dst_negative_scale_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)))) + ((((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) * S ((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) + ((dst_negative_scale_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable))) + (((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) * S ((dst_negative_code_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)) + ((dst_negative_scale_unit_value_convolutionmasktable) + (dst_negative_scale_unit_value_convolutionmasktable)))))) /\ (forall dst_index_unit_value_convolutionmasktable. (exists pvs_le_gap_unit_value_convolutionmasktabledomain. pvs_le_gap_unit_value_convolutionmasktabledomain + (dst_index_unit_value_convolutionmasktable) = (n)) -> exists dst_positive_unit_value_convolutionmasktable dst_negative_unit_value_convolutionmasktable dst_value_unit_value_convolutionmasktable. ((((exists ff_h_pvs_unit_value_convolutionmasktableentrypositive. ff_h_pvs_unit_value_convolutionmasktableentrypositive + S (dst_positive_unit_value_convolutionmasktable) = S ((S (dst_index_unit_value_convolutionmasktable)) * dst_positive_scale_unit_value_convolutionmasktable)) /\ exists ff_q_pvs_unit_value_convolutionmasktableentrypositive. dst_positive_code_unit_value_convolutionmasktable = ff_q_pvs_unit_value_convolutionmasktableentrypositive * S ((S (dst_index_unit_value_convolutionmasktable)) * dst_positive_scale_unit_value_convolutionmasktable) + (dst_positive_unit_value_convolutionmasktable))) /\ (((((exists ff_h_pvs_unit_value_convolutionmasktableentrynegative. ff_h_pvs_unit_value_convolutionmasktableentrynegative + S (dst_negative_unit_value_convolutionmasktable) = S ((S (dst_index_unit_value_convolutionmasktable)) * dst_negative_scale_unit_value_convolutionmasktable)) /\ exists ff_q_pvs_unit_value_convolutionmasktableentrynegative. dst_negative_code_unit_value_convolutionmasktable = ff_q_pvs_unit_value_convolutionmasktableentrynegative * S ((S (dst_index_unit_value_convolutionmasktable)) * dst_negative_scale_unit_value_convolutionmasktable) + (dst_negative_unit_value_convolutionmasktable))) /\ (exists ge_balance_positive_unit_value_convolutionmasktableentryvalue ge_balance_negative_unit_value_convolutionmasktableentryvalue. (((((dst_value_unit_value_convolutionmasktable) = 2 * (ge_balance_positive_unit_value_convolutionmasktableentryvalue) /\ (ge_balance_negative_unit_value_convolutionmasktableentryvalue) = 0) \/ exists ge_signed_half_unit_value_convolutionmasktableentryvaluedecode. (((dst_value_unit_value_convolutionmasktable) = 2 * ge_signed_half_unit_value_convolutionmasktableentryvaluedecode + 1 /\ (ge_balance_positive_unit_value_convolutionmasktableentryvalue) = 0) /\ (ge_balance_negative_unit_value_convolutionmasktableentryvalue) = S ge_signed_half_unit_value_convolutionmasktableentryvaluedecode))) /\ ((dst_positive_unit_value_convolutionmasktable) + ge_balance_negative_unit_value_convolutionmasktableentryvalue = (dst_negative_unit_value_convolutionmasktable) + ge_balance_positive_unit_value_convolutionmasktableentryvalue))))))))) /\ (forall dc_index_unit_value_convolutionmask dc_value_unit_value_convolutionmask. (exists pvs_le_gap_unit_value_convolutionmaskdomain. pvs_le_gap_unit_value_convolutionmaskdomain + (dc_index_unit_value_convolutionmask) = (n)) -> (exists dst_positive_code_unit_value_convolutionmasklookup dst_positive_scale_unit_value_convolutionmasklookup dst_negative_code_unit_value_convolutionmasklookup dst_negative_scale_unit_value_convolutionmasklookup dst_positive_unit_value_convolutionmasklookup dst_negative_unit_value_convolutionmasklookup. (((dc_mask_unit_value_convolution) = (((((dst_positive_code_unit_value_convolutionmasklookup) + (dst_positive_scale_unit_value_convolutionmasklookup)) * S ((dst_positive_code_unit_value_convolutionmasklookup) + (dst_positive_scale_unit_value_convolutionmasklookup)) + ((dst_positive_scale_unit_value_convolutionmasklookup) + (dst_positive_scale_unit_value_convolutionmasklookup))) + (((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) * S ((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) + ((dst_negative_scale_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)))) * S ((((dst_positive_code_unit_value_convolutionmasklookup) + (dst_positive_scale_unit_value_convolutionmasklookup)) * S ((dst_positive_code_unit_value_convolutionmasklookup) + (dst_positive_scale_unit_value_convolutionmasklookup)) + ((dst_positive_scale_unit_value_convolutionmasklookup) + (dst_positive_scale_unit_value_convolutionmasklookup))) + (((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) * S ((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) + ((dst_negative_scale_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)))) + ((((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) * S ((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) + ((dst_negative_scale_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup))) + (((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) * S ((dst_negative_code_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)) + ((dst_negative_scale_unit_value_convolutionmasklookup) + (dst_negative_scale_unit_value_convolutionmasklookup)))))) /\ (((((exists ff_h_pvs_unit_value_convolutionmasklookuppositive. ff_h_pvs_unit_value_convolutionmasklookuppositive + S (dst_positive_unit_value_convolutionmasklookup) = S ((S (dc_index_unit_value_convolutionmask)) * dst_positive_scale_unit_value_convolutionmasklookup)) /\ exists ff_q_pvs_unit_value_convolutionmasklookuppositive. dst_positive_code_unit_value_convolutionmasklookup = ff_q_pvs_unit_value_convolutionmasklookuppositive * S ((S (dc_index_unit_value_convolutionmask)) * dst_positive_scale_unit_value_convolutionmasklookup) + (dst_positive_unit_value_convolutionmasklookup))) /\ (((((exists ff_h_pvs_unit_value_convolutionmasklookupnegative. ff_h_pvs_unit_value_convolutionmasklookupnegative + S (dst_negative_unit_value_convolutionmasklookup) = S ((S (dc_index_unit_value_convolutionmask)) * dst_negative_scale_unit_value_convolutionmasklookup)) /\ exists ff_q_pvs_unit_value_convolutionmasklookupnegative. dst_negative_code_unit_value_convolutionmasklookup = ff_q_pvs_unit_value_convolutionmasklookupnegative * S ((S (dc_index_unit_value_convolutionmask)) * dst_negative_scale_unit_value_convolutionmasklookup) + (dst_negative_unit_value_convolutionmasklookup))) /\ (exists ge_balance_positive_unit_value_convolutionmasklookupvalue ge_balance_negative_unit_value_convolutionmasklookupvalue. (((((dc_value_unit_value_convolutionmask) = 2 * (ge_balance_positive_unit_value_convolutionmasklookupvalue) /\ (ge_balance_negative_unit_value_convolutionmasklookupvalue) = 0) \/ exists ge_signed_half_unit_value_convolutionmasklookupvaluedecode. (((dc_value_unit_value_convolutionmask) = 2 * ge_signed_half_unit_value_convolutionmasklookupvaluedecode + 1 /\ (ge_balance_positive_unit_value_convolutionmasklookupvalue) = 0) /\ (ge_balance_negative_unit_value_convolutionmasklookupvalue) = S ge_signed_half_unit_value_convolutionmasklookupvaluedecode))) /\ ((dst_positive_unit_value_convolutionmasklookup) + ge_balance_negative_unit_value_convolutionmasklookupvalue = (dst_negative_unit_value_convolutionmasklookup) + ge_balance_positive_unit_value_convolutionmasklookupvalue))))))))) -> ((((~((dc_index_unit_value_convolutionmask)=0)) /\ (exists dc_quotient_unit_value_convolutionmaskentry dc_left_unit_value_convolutionmaskentry dc_right_unit_value_convolutionmaskentry. (((n)=(dc_index_unit_value_convolutionmask)*dc_quotient_unit_value_convolutionmaskentry) /\ (((exists dst_positive_code_unit_value_convolutionmaskentryleft dst_positive_scale_unit_value_convolutionmaskentryleft dst_negative_code_unit_value_convolutionmaskentryleft dst_negative_scale_unit_value_convolutionmaskentryleft dst_positive_unit_value_convolutionmaskentryleft dst_negative_unit_value_convolutionmaskentryleft. (((F) = (((((dst_positive_code_unit_value_convolutionmaskentryleft) + (dst_positive_scale_unit_value_convolutionmaskentryleft)) * S ((dst_positive_code_unit_value_convolutionmaskentryleft) + (dst_positive_scale_unit_value_convolutionmaskentryleft)) + ((dst_positive_scale_unit_value_convolutionmaskentryleft) + (dst_positive_scale_unit_value_convolutionmaskentryleft))) + (((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) * S ((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) + ((dst_negative_scale_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)))) * S ((((dst_positive_code_unit_value_convolutionmaskentryleft) + (dst_positive_scale_unit_value_convolutionmaskentryleft)) * S ((dst_positive_code_unit_value_convolutionmaskentryleft) + (dst_positive_scale_unit_value_convolutionmaskentryleft)) + ((dst_positive_scale_unit_value_convolutionmaskentryleft) + (dst_positive_scale_unit_value_convolutionmaskentryleft))) + (((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) * S ((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) + ((dst_negative_scale_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)))) + ((((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) * S ((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) + ((dst_negative_scale_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft))) + (((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) * S ((dst_negative_code_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)) + ((dst_negative_scale_unit_value_convolutionmaskentryleft) + (dst_negative_scale_unit_value_convolutionmaskentryleft)))))) /\ (((((exists ff_h_pvs_unit_value_convolutionmaskentryleftpositive. ff_h_pvs_unit_value_convolutionmaskentryleftpositive + S (dst_positive_unit_value_convolutionmaskentryleft) = S ((S (dc_index_unit_value_convolutionmask)) * dst_positive_scale_unit_value_convolutionmaskentryleft)) /\ exists ff_q_pvs_unit_value_convolutionmaskentryleftpositive. dst_positive_code_unit_value_convolutionmaskentryleft = ff_q_pvs_unit_value_convolutionmaskentryleftpositive * S ((S (dc_index_unit_value_convolutionmask)) * dst_positive_scale_unit_value_convolutionmaskentryleft) + (dst_positive_unit_value_convolutionmaskentryleft))) /\ (((((exists ff_h_pvs_unit_value_convolutionmaskentryleftnegative. ff_h_pvs_unit_value_convolutionmaskentryleftnegative + S (dst_negative_unit_value_convolutionmaskentryleft) = S ((S (dc_index_unit_value_convolutionmask)) * dst_negative_scale_unit_value_convolutionmaskentryleft)) /\ exists ff_q_pvs_unit_value_convolutionmaskentryleftnegative. dst_negative_code_unit_value_convolutionmaskentryleft = ff_q_pvs_unit_value_convolutionmaskentryleftnegative * S ((S (dc_index_unit_value_convolutionmask)) * dst_negative_scale_unit_value_convolutionmaskentryleft) + (dst_negative_unit_value_convolutionmaskentryleft))) /\ (exists ge_balance_positive_unit_value_convolutionmaskentryleftvalue ge_balance_negative_unit_value_convolutionmaskentryleftvalue. (((((dc_left_unit_value_convolutionmaskentry) = 2 * (ge_balance_positive_unit_value_convolutionmaskentryleftvalue) /\ (ge_balance_negative_unit_value_convolutionmaskentryleftvalue) = 0) \/ exists ge_signed_half_unit_value_convolutionmaskentryleftvaluedecode. (((dc_left_unit_value_convolutionmaskentry) = 2 * ge_signed_half_unit_value_convolutionmaskentryleftvaluedecode + 1 /\ (ge_balance_positive_unit_value_convolutionmaskentryleftvalue) = 0) /\ (ge_balance_negative_unit_value_convolutionmaskentryleftvalue) = S ge_signed_half_unit_value_convolutionmaskentryleftvaluedecode))) /\ ((dst_positive_unit_value_convolutionmaskentryleft) + ge_balance_negative_unit_value_convolutionmaskentryleftvalue = (dst_negative_unit_value_convolutionmaskentryleft) + ge_balance_positive_unit_value_convolutionmaskentryleftvalue))))))))) /\ (((exists dst_positive_code_unit_value_convolutionmaskentryright dst_positive_scale_unit_value_convolutionmaskentryright dst_negative_code_unit_value_convolutionmaskentryright dst_negative_scale_unit_value_convolutionmaskentryright dst_positive_unit_value_convolutionmaskentryright dst_negative_unit_value_convolutionmaskentryright. (((E) = (((((dst_positive_code_unit_value_convolutionmaskentryright) + (dst_positive_scale_unit_value_convolutionmaskentryright)) * S ((dst_positive_code_unit_value_convolutionmaskentryright) + (dst_positive_scale_unit_value_convolutionmaskentryright)) + ((dst_positive_scale_unit_value_convolutionmaskentryright) + (dst_positive_scale_unit_value_convolutionmaskentryright))) + (((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) * S ((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) + ((dst_negative_scale_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)))) * S ((((dst_positive_code_unit_value_convolutionmaskentryright) + (dst_positive_scale_unit_value_convolutionmaskentryright)) * S ((dst_positive_code_unit_value_convolutionmaskentryright) + (dst_positive_scale_unit_value_convolutionmaskentryright)) + ((dst_positive_scale_unit_value_convolutionmaskentryright) + (dst_positive_scale_unit_value_convolutionmaskentryright))) + (((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) * S ((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) + ((dst_negative_scale_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)))) + ((((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) * S ((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) + ((dst_negative_scale_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright))) + (((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) * S ((dst_negative_code_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)) + ((dst_negative_scale_unit_value_convolutionmaskentryright) + (dst_negative_scale_unit_value_convolutionmaskentryright)))))) /\ (((((exists ff_h_pvs_unit_value_convolutionmaskentryrightpositive. ff_h_pvs_unit_value_convolutionmaskentryrightpositive + S (dst_positive_unit_value_convolutionmaskentryright) = S ((S (dc_quotient_unit_value_convolutionmaskentry)) * dst_positive_scale_unit_value_convolutionmaskentryright)) /\ exists ff_q_pvs_unit_value_convolutionmaskentryrightpositive. dst_positive_code_unit_value_convolutionmaskentryright = ff_q_pvs_unit_value_convolutionmaskentryrightpositive * S ((S (dc_quotient_unit_value_convolutionmaskentry)) * dst_positive_scale_unit_value_convolutionmaskentryright) + (dst_positive_unit_value_convolutionmaskentryright))) /\ (((((exists ff_h_pvs_unit_value_convolutionmaskentryrightnegative. ff_h_pvs_unit_value_convolutionmaskentryrightnegative + S (dst_negative_unit_value_convolutionmaskentryright) = S ((S (dc_quotient_unit_value_convolutionmaskentry)) * dst_negative_scale_unit_value_convolutionmaskentryright)) /\ exists ff_q_pvs_unit_value_convolutionmaskentryrightnegative. dst_negative_code_unit_value_convolutionmaskentryright = ff_q_pvs_unit_value_convolutionmaskentryrightnegative * S ((S (dc_quotient_unit_value_convolutionmaskentry)) * dst_negative_scale_unit_value_convolutionmaskentryright) + (dst_negative_unit_value_convolutionmaskentryright))) /\ (exists ge_balance_positive_unit_value_convolutionmaskentryrightvalue ge_balance_negative_unit_value_convolutionmaskentryrightvalue. (((((dc_right_unit_value_convolutionmaskentry) = 2 * (ge_balance_positive_unit_value_convolutionmaskentryrightvalue) /\ (ge_balance_negative_unit_value_convolutionmaskentryrightvalue) = 0) \/ exists ge_signed_half_unit_value_convolutionmaskentryrightvaluedecode. (((dc_right_unit_value_convolutionmaskentry) = 2 * ge_signed_half_unit_value_convolutionmaskentryrightvaluedecode + 1 /\ (ge_balance_positive_unit_value_convolutionmaskentryrightvalue) = 0) /\ (ge_balance_negative_unit_value_convolutionmaskentryrightvalue) = S ge_signed_half_unit_value_convolutionmaskentryrightvaluedecode))) /\ ((dst_positive_unit_value_convolutionmaskentryright) + ge_balance_negative_unit_value_convolutionmaskentryrightvalue = (dst_negative_unit_value_convolutionmaskentryright) + ge_balance_positive_unit_value_convolutionmaskentryrightvalue))))))))) /\ (exists sto_ap_unit_value_convolutionmaskentryproduct sto_an_unit_value_convolutionmaskentryproduct sto_bp_unit_value_convolutionmaskentryproduct sto_bn_unit_value_convolutionmaskentryproduct sto_cp_unit_value_convolutionmaskentryproduct sto_cn_unit_value_convolutionmaskentryproduct. (((((dc_left_unit_value_convolutionmaskentry) = 2 * (sto_ap_unit_value_convolutionmaskentryproduct) /\ (sto_an_unit_value_convolutionmaskentryproduct) = 0) \/ exists ge_signed_half_unit_value_convolutionmaskentryproductleft. (((dc_left_unit_value_convolutionmaskentry) = 2 * ge_signed_half_unit_value_convolutionmaskentryproductleft + 1 /\ (sto_ap_unit_value_convolutionmaskentryproduct) = 0) /\ (sto_an_unit_value_convolutionmaskentryproduct) = S ge_signed_half_unit_value_convolutionmaskentryproductleft))) /\ ((((((dc_right_unit_value_convolutionmaskentry) = 2 * (sto_bp_unit_value_convolutionmaskentryproduct) /\ (sto_bn_unit_value_convolutionmaskentryproduct) = 0) \/ exists ge_signed_half_unit_value_convolutionmaskentryproductright. (((dc_right_unit_value_convolutionmaskentry) = 2 * ge_signed_half_unit_value_convolutionmaskentryproductright + 1 /\ (sto_bp_unit_value_convolutionmaskentryproduct) = 0) /\ (sto_bn_unit_value_convolutionmaskentryproduct) = S ge_signed_half_unit_value_convolutionmaskentryproductright))) /\ ((((((dc_value_unit_value_convolutionmask) = 2 * (sto_cp_unit_value_convolutionmaskentryproduct) /\ (sto_cn_unit_value_convolutionmaskentryproduct) = 0) \/ exists ge_signed_half_unit_value_convolutionmaskentryproductoutput. (((dc_value_unit_value_convolutionmask) = 2 * ge_signed_half_unit_value_convolutionmaskentryproductoutput + 1 /\ (sto_cp_unit_value_convolutionmaskentryproduct) = 0) /\ (sto_cn_unit_value_convolutionmaskentryproduct) = S ge_signed_half_unit_value_convolutionmaskentryproductoutput))) /\ ((sto_ap_unit_value_convolutionmaskentryproduct * sto_bp_unit_value_convolutionmaskentryproduct + sto_an_unit_value_convolutionmaskentryproduct * sto_bn_unit_value_convolutionmaskentryproduct) + sto_cn_unit_value_convolutionmaskentryproduct = (sto_ap_unit_value_convolutionmaskentryproduct * sto_bn_unit_value_convolutionmaskentryproduct + sto_an_unit_value_convolutionmaskentryproduct * sto_bp_unit_value_convolutionmaskentryproduct) + sto_cp_unit_value_convolutionmaskentryproduct))))))))))))))) \/ ((((dc_index_unit_value_convolutionmask)=0 \/ ~(exists pvs_factor_unit_value_convolutionmaskentrynondivisor. (n) = (dc_index_unit_value_convolutionmask) * pvs_factor_unit_value_convolutionmaskentrynondivisor)) /\ ((dc_value_unit_value_convolutionmask)=0))))))) /\ (exists dst_positive_code_unit_value_convolutionfold dst_positive_scale_unit_value_convolutionfold dst_negative_code_unit_value_convolutionfold dst_negative_scale_unit_value_convolutionfold dst_positive_sum_unit_value_convolutionfold dst_negative_sum_unit_value_convolutionfold. (((dc_mask_unit_value_convolution) = (((((dst_positive_code_unit_value_convolutionfold) + (dst_positive_scale_unit_value_convolutionfold)) * S ((dst_positive_code_unit_value_convolutionfold) + (dst_positive_scale_unit_value_convolutionfold)) + ((dst_positive_scale_unit_value_convolutionfold) + (dst_positive_scale_unit_value_convolutionfold))) + (((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) * S ((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) + ((dst_negative_scale_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)))) * S ((((dst_positive_code_unit_value_convolutionfold) + (dst_positive_scale_unit_value_convolutionfold)) * S ((dst_positive_code_unit_value_convolutionfold) + (dst_positive_scale_unit_value_convolutionfold)) + ((dst_positive_scale_unit_value_convolutionfold) + (dst_positive_scale_unit_value_convolutionfold))) + (((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) * S ((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) + ((dst_negative_scale_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)))) + ((((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) * S ((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) + ((dst_negative_scale_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold))) + (((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) * S ((dst_negative_code_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)) + ((dst_negative_scale_unit_value_convolutionfold) + (dst_negative_scale_unit_value_convolutionfold)))))) /\ (((exists fs_u_dst_unit_value_convolutionfoldpositive fs_v_dst_unit_value_convolutionfoldpositive. ((((exists fs_h_dst_unit_value_convolutionfoldpositive_body_start. fs_h_dst_unit_value_convolutionfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_unit_value_convolutionfoldpositive)) /\ exists fs_q_dst_unit_value_convolutionfoldpositive_body_start. fs_u_dst_unit_value_convolutionfoldpositive = fs_q_dst_unit_value_convolutionfoldpositive_body_start * S ((S (0)) * fs_v_dst_unit_value_convolutionfoldpositive) + (0))) /\ ((((exists fs_h_dst_unit_value_convolutionfoldpositive_body_terminal. fs_h_dst_unit_value_convolutionfoldpositive_body_terminal + S (dst_positive_sum_unit_value_convolutionfold) = S ((S (S (n))) * fs_v_dst_unit_value_convolutionfoldpositive)) /\ exists fs_q_dst_unit_value_convolutionfoldpositive_body_terminal. fs_u_dst_unit_value_convolutionfoldpositive = fs_q_dst_unit_value_convolutionfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_unit_value_convolutionfoldpositive) + (dst_positive_sum_unit_value_convolutionfold))) /\ forall fs_i_dst_unit_value_convolutionfoldpositive_body_steps. (exists fs_lt_dst_unit_value_convolutionfoldpositive_body_steps_bound. fs_lt_dst_unit_value_convolutionfoldpositive_body_steps_bound + S fs_i_dst_unit_value_convolutionfoldpositive_body_steps = S (n)) -> exists fs_a_dst_unit_value_convolutionfoldpositive_body_steps fs_r_dst_unit_value_convolutionfoldpositive_body_steps fs_s_dst_unit_value_convolutionfoldpositive_body_steps. ((((exists fs_h_dst_unit_value_convolutionfoldpositive_body_steps_summand. fs_h_dst_unit_value_convolutionfoldpositive_body_steps_summand + S (fs_a_dst_unit_value_convolutionfoldpositive_body_steps) = S ((S (fs_i_dst_unit_value_convolutionfoldpositive_body_steps)) * dst_positive_scale_unit_value_convolutionfold)) /\ exists fs_q_dst_unit_value_convolutionfoldpositive_body_steps_summand. dst_positive_code_unit_value_convolutionfold = fs_q_dst_unit_value_convolutionfoldpositive_body_steps_summand * S ((S (fs_i_dst_unit_value_convolutionfoldpositive_body_steps)) * dst_positive_scale_unit_value_convolutionfold) + (fs_a_dst_unit_value_convolutionfoldpositive_body_steps))) /\ ((((exists fs_h_dst_unit_value_convolutionfoldpositive_body_steps_partial. fs_h_dst_unit_value_convolutionfoldpositive_body_steps_partial + S (fs_r_dst_unit_value_convolutionfoldpositive_body_steps) = S ((S (fs_i_dst_unit_value_convolutionfoldpositive_body_steps)) * fs_v_dst_unit_value_convolutionfoldpositive)) /\ exists fs_q_dst_unit_value_convolutionfoldpositive_body_steps_partial. fs_u_dst_unit_value_convolutionfoldpositive = fs_q_dst_unit_value_convolutionfoldpositive_body_steps_partial * S ((S (fs_i_dst_unit_value_convolutionfoldpositive_body_steps)) * fs_v_dst_unit_value_convolutionfoldpositive) + (fs_r_dst_unit_value_convolutionfoldpositive_body_steps))) /\ ((((exists fs_h_dst_unit_value_convolutionfoldpositive_body_steps_successor. fs_h_dst_unit_value_convolutionfoldpositive_body_steps_successor + S (fs_s_dst_unit_value_convolutionfoldpositive_body_steps) = S ((S (S fs_i_dst_unit_value_convolutionfoldpositive_body_steps)) * fs_v_dst_unit_value_convolutionfoldpositive)) /\ exists fs_q_dst_unit_value_convolutionfoldpositive_body_steps_successor. fs_u_dst_unit_value_convolutionfoldpositive = fs_q_dst_unit_value_convolutionfoldpositive_body_steps_successor * S ((S (S fs_i_dst_unit_value_convolutionfoldpositive_body_steps)) * fs_v_dst_unit_value_convolutionfoldpositive) + (fs_s_dst_unit_value_convolutionfoldpositive_body_steps))) /\ fs_s_dst_unit_value_convolutionfoldpositive_body_steps = fs_r_dst_unit_value_convolutionfoldpositive_body_steps + fs_a_dst_unit_value_convolutionfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_unit_value_convolutionfoldnegative fs_v_dst_unit_value_convolutionfoldnegative. ((((exists fs_h_dst_unit_value_convolutionfoldnegative_body_start. fs_h_dst_unit_value_convolutionfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_unit_value_convolutionfoldnegative)) /\ exists fs_q_dst_unit_value_convolutionfoldnegative_body_start. fs_u_dst_unit_value_convolutionfoldnegative = fs_q_dst_unit_value_convolutionfoldnegative_body_start * S ((S (0)) * fs_v_dst_unit_value_convolutionfoldnegative) + (0))) /\ ((((exists fs_h_dst_unit_value_convolutionfoldnegative_body_terminal. fs_h_dst_unit_value_convolutionfoldnegative_body_terminal + S (dst_negative_sum_unit_value_convolutionfold) = S ((S (S (n))) * fs_v_dst_unit_value_convolutionfoldnegative)) /\ exists fs_q_dst_unit_value_convolutionfoldnegative_body_terminal. fs_u_dst_unit_value_convolutionfoldnegative = fs_q_dst_unit_value_convolutionfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_unit_value_convolutionfoldnegative) + (dst_negative_sum_unit_value_convolutionfold))) /\ forall fs_i_dst_unit_value_convolutionfoldnegative_body_steps. (exists fs_lt_dst_unit_value_convolutionfoldnegative_body_steps_bound. fs_lt_dst_unit_value_convolutionfoldnegative_body_steps_bound + S fs_i_dst_unit_value_convolutionfoldnegative_body_steps = S (n)) -> exists fs_a_dst_unit_value_convolutionfoldnegative_body_steps fs_r_dst_unit_value_convolutionfoldnegative_body_steps fs_s_dst_unit_value_convolutionfoldnegative_body_steps. ((((exists fs_h_dst_unit_value_convolutionfoldnegative_body_steps_summand. fs_h_dst_unit_value_convolutionfoldnegative_body_steps_summand + S (fs_a_dst_unit_value_convolutionfoldnegative_body_steps) = S ((S (fs_i_dst_unit_value_convolutionfoldnegative_body_steps)) * dst_negative_scale_unit_value_convolutionfold)) /\ exists fs_q_dst_unit_value_convolutionfoldnegative_body_steps_summand. dst_negative_code_unit_value_convolutionfold = fs_q_dst_unit_value_convolutionfoldnegative_body_steps_summand * S ((S (fs_i_dst_unit_value_convolutionfoldnegative_body_steps)) * dst_negative_scale_unit_value_convolutionfold) + (fs_a_dst_unit_value_convolutionfoldnegative_body_steps))) /\ ((((exists fs_h_dst_unit_value_convolutionfoldnegative_body_steps_partial. fs_h_dst_unit_value_convolutionfoldnegative_body_steps_partial + S (fs_r_dst_unit_value_convolutionfoldnegative_body_steps) = S ((S (fs_i_dst_unit_value_convolutionfoldnegative_body_steps)) * fs_v_dst_unit_value_convolutionfoldnegative)) /\ exists fs_q_dst_unit_value_convolutionfoldnegative_body_steps_partial. fs_u_dst_unit_value_convolutionfoldnegative = fs_q_dst_unit_value_convolutionfoldnegative_body_steps_partial * S ((S (fs_i_dst_unit_value_convolutionfoldnegative_body_steps)) * fs_v_dst_unit_value_convolutionfoldnegative) + (fs_r_dst_unit_value_convolutionfoldnegative_body_steps))) /\ ((((exists fs_h_dst_unit_value_convolutionfoldnegative_body_steps_successor. fs_h_dst_unit_value_convolutionfoldnegative_body_steps_successor + S (fs_s_dst_unit_value_convolutionfoldnegative_body_steps) = S ((S (S fs_i_dst_unit_value_convolutionfoldnegative_body_steps)) * fs_v_dst_unit_value_convolutionfoldnegative)) /\ exists fs_q_dst_unit_value_convolutionfoldnegative_body_steps_successor. fs_u_dst_unit_value_convolutionfoldnegative = fs_q_dst_unit_value_convolutionfoldnegative_body_steps_successor * S ((S (S fs_i_dst_unit_value_convolutionfoldnegative_body_steps)) * fs_v_dst_unit_value_convolutionfoldnegative) + (fs_s_dst_unit_value_convolutionfoldnegative_body_steps))) /\ fs_s_dst_unit_value_convolutionfoldnegative_body_steps = fs_r_dst_unit_value_convolutionfoldnegative_body_steps + fs_a_dst_unit_value_convolutionfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_unit_value_convolutionfoldresult ge_balance_negative_unit_value_convolutionfoldresult. (((((z) = 2 * (ge_balance_positive_unit_value_convolutionfoldresult) /\ (ge_balance_negative_unit_value_convolutionfoldresult) = 0) \/ exists ge_signed_half_unit_value_convolutionfoldresultdecode. (((z) = 2 * ge_signed_half_unit_value_convolutionfoldresultdecode + 1 /\ (ge_balance_positive_unit_value_convolutionfoldresult) = 0) /\ (ge_balance_negative_unit_value_convolutionfoldresult) = S ge_signed_half_unit_value_convolutionfoldresultdecode))) /\ ((dst_positive_sum_unit_value_convolutionfold) + ge_balance_negative_unit_value_convolutionfoldresult = (dst_negative_sum_unit_value_convolutionfold) + ge_balance_positive_unit_value_convolutionfoldresult))))))))))))) -> z=aConstructive proof overview
Generated structural guide
The actual zero-prefix/last-entry fold proves (F*delta)(n)=F(n), with positivity supplied by the convolution itself.
The unchanged tactic script uses 8 declared prerequisites and contains 77 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
DU000D dirichlet_delta_right_entry_before_input dirichlet_convolution_prefix_lookup Alpha theorem; checked-use authorized le_trans Stable theorem; checked-use authorized le_succ_self Stable theorem; checked-use authorized dirichlet_convolution_prefix_value_from_entry Alpha theorem; checked-use authorized le_refl Stable theorem; checked-use authorized DU000E dirichlet_delta_right_last_entry signed_prefix_sum_last_value 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 (2)
01Fix variables and assumptionsL1–10
02Separate the logical casesL11–13
03Establish hzeroL14–23
Establish this local claim before using it. It is not an additional assumption.
- L14
have hzero : SignedZeroWindow(x,0,n)Definitions: SignedZeroWindow - L15
intro i - L16
intro v - L17
intro hi - L18
intro hib - L19
intro hv - L20
specialize dirichlet_delta_right_entry_before_input (N) - L21
specialize dirichlet_delta_right_entry_before_input (F) - L22
specialize dirichlet_delta_right_entry_before_input (E) - L23
specialize dirichlet_delta_right_entry_before_input (n)
04Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize dirichlet_delta_right_entry_before_input (i) - L25
specialize dirichlet_delta_right_entry_before_input (v) - L26
apply dirichlet_delta_right_entry_before_input - L27
exact hd - L28
exact hc_left - L29
exact hb - L30
exact hib - L31
specialize dirichlet_convolution_prefix_lookup (F) - L32
specialize dirichlet_convolution_prefix_lookup (E) - L33
specialize dirichlet_convolution_prefix_lookup (n)
05Use earlier factsL34–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
specialize dirichlet_convolution_prefix_lookup (n) - L35
specialize dirichlet_convolution_prefix_lookup (x) - L36
specialize dirichlet_convolution_prefix_lookup (i) - L37
specialize dirichlet_convolution_prefix_lookup (v) - L38
apply dirichlet_convolution_prefix_lookup - L39
exact hc_right_witness_left - L40
specialize le_trans (i) - L41
specialize le_trans (S i) - L42
specialize le_trans (n) - L43
apply le_trans
06Use earlier factsL44–47
07Establish hlastL48–57
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet convolution prefix value from entry.
- L48
have hlast : ArithAt(x,n,a)Definitions: ArithAt - L49
specialize dirichlet_convolution_prefix_value_from_entry (F) - L50
specialize dirichlet_convolution_prefix_value_from_entry (E) - L51
specialize dirichlet_convolution_prefix_value_from_entry (n) - L52
specialize dirichlet_convolution_prefix_value_from_entry (n) - L53
specialize dirichlet_convolution_prefix_value_from_entry (x) - L54
specialize dirichlet_convolution_prefix_value_from_entry (n) - L55
specialize dirichlet_convolution_prefix_value_from_entry (a) - L56
apply dirichlet_convolution_prefix_value_from_entry - L57
exact hc_right_witness_left
08Use earlier factsL58–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L58
specialize le_refl (n) - L59
apply le_refl - L60
specialize dirichlet_delta_right_last_entry (N) - L61
specialize dirichlet_delta_right_last_entry (F) - L62
specialize dirichlet_delta_right_last_entry (E) - L63
specialize dirichlet_delta_right_last_entry (n) - L64
specialize dirichlet_delta_right_last_entry (a) - L65
apply dirichlet_delta_right_last_entry - L66
exact hd - L67
exact hc_left
09Use earlier factsL68–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hb - L69
exact ha - L70
specialize signed_prefix_sum_last_value (x) - L71
specialize signed_prefix_sum_last_value (n) - L72
specialize signed_prefix_sum_last_value (a) - L73
specialize signed_prefix_sum_last_value (z) - L74
apply signed_prefix_sum_last_value - L75
exact hzero - L76
exact hlast - L77
exact hc_right_witness_right
Original exact command ledger · 77 lines
- 0001
intro N - 0002
intro F - 0003
intro E - 0004
intro n - 0005
intro a - 0006
intro z - 0007
intro hd - 0008
intro hb - 0009
intro ha - 0010
intro hc - 0011
cases hc - 0012
cases hc_right - 0013
cases hc_right_witness - 0014
have hzero : forall sfs_index_unit_zero_prefix sfs_value_unit_zero_prefix. (exists pvs_le_gap_unit_zero_prefixlower. pvs_le_gap_unit_zero_prefixlower + (0) = (sfs_index_unit_zero_prefix)) -> (exists pvs_gap_unit_zero_prefixupper. pvs_gap_unit_zero_prefixupper + S (sfs_index_unit_zero_prefix) = (n)) -> (exists dst_positive_code_unit_zero_prefixentry dst_positive_scale_unit_zero_prefixentry dst_negative_code_unit_zero_prefixentry dst_negative_scale_unit_zero_prefixentry dst_positive_unit_zero_prefixentry dst_negative_unit_zero_prefixentry. (((x) = (((((dst_positive_code_unit_zero_prefixentry) + (dst_positive_scale_unit_zero_prefixentry)) * S ((dst_positive_code_unit_zero_prefixentry) + (dst_positive_scale_unit_zero_prefixentry)) + ((dst_positive_scale_unit_zero_prefixentry) + (dst_positive_scale_unit_zero_prefixentry))) + (((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) * S ((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) + ((dst_negative_scale_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)))) * S ((((dst_positive_code_unit_zero_prefixentry) + (dst_positive_scale_unit_zero_prefixentry)) * S ((dst_positive_code_unit_zero_prefixentry) + (dst_positive_scale_unit_zero_prefixentry)) + ((dst_positive_scale_unit_zero_prefixentry) + (dst_positive_scale_unit_zero_prefixentry))) + (((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) * S ((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) + ((dst_negative_scale_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)))) + ((((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) * S ((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) + ((dst_negative_scale_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry))) + (((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) * S ((dst_negative_code_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)) + ((dst_negative_scale_unit_zero_prefixentry) + (dst_negative_scale_unit_zero_prefixentry)))))) /\ (((((exists ff_h_pvs_unit_zero_prefixentrypositive. ff_h_pvs_unit_zero_prefixentrypositive + S (dst_positive_unit_zero_prefixentry) = S ((S (sfs_index_unit_zero_prefix)) * dst_positive_scale_unit_zero_prefixentry)) /\ exists ff_q_pvs_unit_zero_prefixentrypositive. dst_positive_code_unit_zero_prefixentry = ff_q_pvs_unit_zero_prefixentrypositive * S ((S (sfs_index_unit_zero_prefix)) * dst_positive_scale_unit_zero_prefixentry) + (dst_positive_unit_zero_prefixentry))) /\ (((((exists ff_h_pvs_unit_zero_prefixentrynegative. ff_h_pvs_unit_zero_prefixentrynegative + S (dst_negative_unit_zero_prefixentry) = S ((S (sfs_index_unit_zero_prefix)) * dst_negative_scale_unit_zero_prefixentry)) /\ exists ff_q_pvs_unit_zero_prefixentrynegative. dst_negative_code_unit_zero_prefixentry = ff_q_pvs_unit_zero_prefixentrynegative * S ((S (sfs_index_unit_zero_prefix)) * dst_negative_scale_unit_zero_prefixentry) + (dst_negative_unit_zero_prefixentry))) /\ (exists ge_balance_positive_unit_zero_prefixentryvalue ge_balance_negative_unit_zero_prefixentryvalue. (((((sfs_value_unit_zero_prefix) = 2 * (ge_balance_positive_unit_zero_prefixentryvalue) /\ (ge_balance_negative_unit_zero_prefixentryvalue) = 0) \/ exists ge_signed_half_unit_zero_prefixentryvaluedecode. (((sfs_value_unit_zero_prefix) = 2 * ge_signed_half_unit_zero_prefixentryvaluedecode + 1 /\ (ge_balance_positive_unit_zero_prefixentryvalue) = 0) /\ (ge_balance_negative_unit_zero_prefixentryvalue) = S ge_signed_half_unit_zero_prefixentryvaluedecode))) /\ ((dst_positive_unit_zero_prefixentry) + ge_balance_negative_unit_zero_prefixentryvalue = (dst_negative_unit_zero_prefixentry) + ge_balance_positive_unit_zero_prefixentryvalue))))))))) -> sfs_value_unit_zero_prefix=0 - 0015
intro i - 0016
intro v - 0017
intro hi - 0018
intro hib - 0019
intro hv - 0020
specialize dirichlet_delta_right_entry_before_input (N) - 0021
specialize dirichlet_delta_right_entry_before_input (F) - 0022
specialize dirichlet_delta_right_entry_before_input (E) - 0023
specialize dirichlet_delta_right_entry_before_input (n) - 0024
specialize dirichlet_delta_right_entry_before_input (i) - 0025
specialize dirichlet_delta_right_entry_before_input (v) - 0026
apply dirichlet_delta_right_entry_before_input - 0027
exact hd - 0028
exact hc_left - 0029
exact hb - 0030
exact hib - 0031
specialize dirichlet_convolution_prefix_lookup (F) - 0032
specialize dirichlet_convolution_prefix_lookup (E) - 0033
specialize dirichlet_convolution_prefix_lookup (n) - 0034
specialize dirichlet_convolution_prefix_lookup (n) - 0035
specialize dirichlet_convolution_prefix_lookup (x) - 0036
specialize dirichlet_convolution_prefix_lookup (i) - 0037
specialize dirichlet_convolution_prefix_lookup (v) - 0038
apply dirichlet_convolution_prefix_lookup - 0039
exact hc_right_witness_left - 0040
specialize le_trans (i) - 0041
specialize le_trans (S i) - 0042
specialize le_trans (n) - 0043
apply le_trans - 0044
specialize le_succ_self (i) - 0045
apply le_succ_self - 0046
exact hib - 0047
exact hv - 0048
have hlast : exists dst_positive_code_unit_last_entry dst_positive_scale_unit_last_entry dst_negative_code_unit_last_entry dst_negative_scale_unit_last_entry dst_positive_unit_last_entry dst_negative_unit_last_entry. (((x) = (((((dst_positive_code_unit_last_entry) + (dst_positive_scale_unit_last_entry)) * S ((dst_positive_code_unit_last_entry) + (dst_positive_scale_unit_last_entry)) + ((dst_positive_scale_unit_last_entry) + (dst_positive_scale_unit_last_entry))) + (((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) * S ((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) + ((dst_negative_scale_unit_last_entry) + (dst_negative_scale_unit_last_entry)))) * S ((((dst_positive_code_unit_last_entry) + (dst_positive_scale_unit_last_entry)) * S ((dst_positive_code_unit_last_entry) + (dst_positive_scale_unit_last_entry)) + ((dst_positive_scale_unit_last_entry) + (dst_positive_scale_unit_last_entry))) + (((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) * S ((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) + ((dst_negative_scale_unit_last_entry) + (dst_negative_scale_unit_last_entry)))) + ((((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) * S ((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) + ((dst_negative_scale_unit_last_entry) + (dst_negative_scale_unit_last_entry))) + (((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) * S ((dst_negative_code_unit_last_entry) + (dst_negative_scale_unit_last_entry)) + ((dst_negative_scale_unit_last_entry) + (dst_negative_scale_unit_last_entry)))))) /\ (((((exists ff_h_pvs_unit_last_entrypositive. ff_h_pvs_unit_last_entrypositive + S (dst_positive_unit_last_entry) = S ((S (n)) * dst_positive_scale_unit_last_entry)) /\ exists ff_q_pvs_unit_last_entrypositive. dst_positive_code_unit_last_entry = ff_q_pvs_unit_last_entrypositive * S ((S (n)) * dst_positive_scale_unit_last_entry) + (dst_positive_unit_last_entry))) /\ (((((exists ff_h_pvs_unit_last_entrynegative. ff_h_pvs_unit_last_entrynegative + S (dst_negative_unit_last_entry) = S ((S (n)) * dst_negative_scale_unit_last_entry)) /\ exists ff_q_pvs_unit_last_entrynegative. dst_negative_code_unit_last_entry = ff_q_pvs_unit_last_entrynegative * S ((S (n)) * dst_negative_scale_unit_last_entry) + (dst_negative_unit_last_entry))) /\ (exists ge_balance_positive_unit_last_entryvalue ge_balance_negative_unit_last_entryvalue. (((((a) = 2 * (ge_balance_positive_unit_last_entryvalue) /\ (ge_balance_negative_unit_last_entryvalue) = 0) \/ exists ge_signed_half_unit_last_entryvaluedecode. (((a) = 2 * ge_signed_half_unit_last_entryvaluedecode + 1 /\ (ge_balance_positive_unit_last_entryvalue) = 0) /\ (ge_balance_negative_unit_last_entryvalue) = S ge_signed_half_unit_last_entryvaluedecode))) /\ ((dst_positive_unit_last_entry) + ge_balance_negative_unit_last_entryvalue = (dst_negative_unit_last_entry) + ge_balance_positive_unit_last_entryvalue)))))))) - 0049
specialize dirichlet_convolution_prefix_value_from_entry (F) - 0050
specialize dirichlet_convolution_prefix_value_from_entry (E) - 0051
specialize dirichlet_convolution_prefix_value_from_entry (n) - 0052
specialize dirichlet_convolution_prefix_value_from_entry (n) - 0053
specialize dirichlet_convolution_prefix_value_from_entry (x) - 0054
specialize dirichlet_convolution_prefix_value_from_entry (n) - 0055
specialize dirichlet_convolution_prefix_value_from_entry (a) - 0056
apply dirichlet_convolution_prefix_value_from_entry - 0057
exact hc_right_witness_left - 0058
specialize le_refl (n) - 0059
apply le_refl - 0060
specialize dirichlet_delta_right_last_entry (N) - 0061
specialize dirichlet_delta_right_last_entry (F) - 0062
specialize dirichlet_delta_right_last_entry (E) - 0063
specialize dirichlet_delta_right_last_entry (n) - 0064
specialize dirichlet_delta_right_last_entry (a) - 0065
apply dirichlet_delta_right_last_entry - 0066
exact hd - 0067
exact hc_left - 0068
exact hb - 0069
exact ha - 0070
specialize signed_prefix_sum_last_value (x) - 0071
specialize signed_prefix_sum_last_value (n) - 0072
specialize signed_prefix_sum_last_value (a) - 0073
specialize signed_prefix_sum_last_value (z) - 0074
apply signed_prefix_sum_last_value - 0075
exact hzero - 0076
exact hlast - 0077
exact hc_right_witness_right