DU0010

dirichlet_delta_right_sum

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

Construct a genuine convolution fold and prove its value equals the given actual F(n), rather than postulating the desired unit identity.

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. (exists dst_positive_code_unit_sum_input dst_positive_scale_unit_sum_input dst_negative_code_unit_sum_input dst_negative_scale_unit_sum_input. (((F) = (((((dst_positive_code_unit_sum_input) + (dst_positive_scale_unit_sum_input)) * S ((dst_positive_code_unit_sum_input) + (dst_positive_scale_unit_sum_input)) + ((dst_positive_scale_unit_sum_input) + (dst_positive_scale_unit_sum_input))) + (((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) * S ((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) + ((dst_negative_scale_unit_sum_input) + (dst_negative_scale_unit_sum_input)))) * S ((((dst_positive_code_unit_sum_input) + (dst_positive_scale_unit_sum_input)) * S ((dst_positive_code_unit_sum_input) + (dst_positive_scale_unit_sum_input)) + ((dst_positive_scale_unit_sum_input) + (dst_positive_scale_unit_sum_input))) + (((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) * S ((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) + ((dst_negative_scale_unit_sum_input) + (dst_negative_scale_unit_sum_input)))) + ((((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) * S ((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) + ((dst_negative_scale_unit_sum_input) + (dst_negative_scale_unit_sum_input))) + (((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) * S ((dst_negative_code_unit_sum_input) + (dst_negative_scale_unit_sum_input)) + ((dst_negative_scale_unit_sum_input) + (dst_negative_scale_unit_sum_input)))))) /\ (forall dst_index_unit_sum_input. (exists pvs_le_gap_unit_sum_inputdomain. pvs_le_gap_unit_sum_inputdomain + (dst_index_unit_sum_input) = (N)) -> exists dst_positive_unit_sum_input dst_negative_unit_sum_input dst_value_unit_sum_input. ((((exists ff_h_pvs_unit_sum_inputentrypositive. ff_h_pvs_unit_sum_inputentrypositive + S (dst_positive_unit_sum_input) = S ((S (dst_index_unit_sum_input)) * dst_positive_scale_unit_sum_input)) /\ exists ff_q_pvs_unit_sum_inputentrypositive. dst_positive_code_unit_sum_input = ff_q_pvs_unit_sum_inputentrypositive * S ((S (dst_index_unit_sum_input)) * dst_positive_scale_unit_sum_input) + (dst_positive_unit_sum_input))) /\ (((((exists ff_h_pvs_unit_sum_inputentrynegative. ff_h_pvs_unit_sum_inputentrynegative + S (dst_negative_unit_sum_input) = S ((S (dst_index_unit_sum_input)) * dst_negative_scale_unit_sum_input)) /\ exists ff_q_pvs_unit_sum_inputentrynegative. dst_negative_code_unit_sum_input = ff_q_pvs_unit_sum_inputentrynegative * S ((S (dst_index_unit_sum_input)) * dst_negative_scale_unit_sum_input) + (dst_negative_unit_sum_input))) /\ (exists ge_balance_positive_unit_sum_inputentryvalue ge_balance_negative_unit_sum_inputentryvalue. (((((dst_value_unit_sum_input) = 2 * (ge_balance_positive_unit_sum_inputentryvalue) /\ (ge_balance_negative_unit_sum_inputentryvalue) = 0) \/ exists ge_signed_half_unit_sum_inputentryvaluedecode. (((dst_value_unit_sum_input) = 2 * ge_signed_half_unit_sum_inputentryvaluedecode + 1 /\ (ge_balance_positive_unit_sum_inputentryvalue) = 0) /\ (ge_balance_negative_unit_sum_inputentryvalue) = S ge_signed_half_unit_sum_inputentryvaluedecode))) /\ ((dst_positive_unit_sum_input) + ge_balance_negative_unit_sum_inputentryvalue = (dst_negative_unit_sum_input) + ge_balance_positive_unit_sum_inputentryvalue))))))))) -> (((exists dst_positive_code_unit_sum_deltatable dst_positive_scale_unit_sum_deltatable dst_negative_code_unit_sum_deltatable dst_negative_scale_unit_sum_deltatable. (((E) = (((((dst_positive_code_unit_sum_deltatable) + (dst_positive_scale_unit_sum_deltatable)) * S ((dst_positive_code_unit_sum_deltatable) + (dst_positive_scale_unit_sum_deltatable)) + ((dst_positive_scale_unit_sum_deltatable) + (dst_positive_scale_unit_sum_deltatable))) + (((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) * S ((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) + ((dst_negative_scale_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)))) * S ((((dst_positive_code_unit_sum_deltatable) + (dst_positive_scale_unit_sum_deltatable)) * S ((dst_positive_code_unit_sum_deltatable) + (dst_positive_scale_unit_sum_deltatable)) + ((dst_positive_scale_unit_sum_deltatable) + (dst_positive_scale_unit_sum_deltatable))) + (((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) * S ((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) + ((dst_negative_scale_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)))) + ((((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) * S ((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) + ((dst_negative_scale_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable))) + (((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) * S ((dst_negative_code_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)) + ((dst_negative_scale_unit_sum_deltatable) + (dst_negative_scale_unit_sum_deltatable)))))) /\ (forall dst_index_unit_sum_deltatable. (exists pvs_le_gap_unit_sum_deltatabledomain. pvs_le_gap_unit_sum_deltatabledomain + (dst_index_unit_sum_deltatable) = (N)) -> exists dst_positive_unit_sum_deltatable dst_negative_unit_sum_deltatable dst_value_unit_sum_deltatable. ((((exists ff_h_pvs_unit_sum_deltatableentrypositive. ff_h_pvs_unit_sum_deltatableentrypositive + S (dst_positive_unit_sum_deltatable) = S ((S (dst_index_unit_sum_deltatable)) * dst_positive_scale_unit_sum_deltatable)) /\ exists ff_q_pvs_unit_sum_deltatableentrypositive. dst_positive_code_unit_sum_deltatable = ff_q_pvs_unit_sum_deltatableentrypositive * S ((S (dst_index_unit_sum_deltatable)) * dst_positive_scale_unit_sum_deltatable) + (dst_positive_unit_sum_deltatable))) /\ (((((exists ff_h_pvs_unit_sum_deltatableentrynegative. ff_h_pvs_unit_sum_deltatableentrynegative + S (dst_negative_unit_sum_deltatable) = S ((S (dst_index_unit_sum_deltatable)) * dst_negative_scale_unit_sum_deltatable)) /\ exists ff_q_pvs_unit_sum_deltatableentrynegative. dst_negative_code_unit_sum_deltatable = ff_q_pvs_unit_sum_deltatableentrynegative * S ((S (dst_index_unit_sum_deltatable)) * dst_negative_scale_unit_sum_deltatable) + (dst_negative_unit_sum_deltatable))) /\ (exists ge_balance_positive_unit_sum_deltatableentryvalue ge_balance_negative_unit_sum_deltatableentryvalue. (((((dst_value_unit_sum_deltatable) = 2 * (ge_balance_positive_unit_sum_deltatableentryvalue) /\ (ge_balance_negative_unit_sum_deltatableentryvalue) = 0) \/ exists ge_signed_half_unit_sum_deltatableentryvaluedecode. (((dst_value_unit_sum_deltatable) = 2 * ge_signed_half_unit_sum_deltatableentryvaluedecode + 1 /\ (ge_balance_positive_unit_sum_deltatableentryvalue) = 0) /\ (ge_balance_negative_unit_sum_deltatableentryvalue) = S ge_signed_half_unit_sum_deltatableentryvaluedecode))) /\ ((dst_positive_unit_sum_deltatable) + ge_balance_negative_unit_sum_deltatableentryvalue = (dst_negative_unit_sum_deltatable) + ge_balance_positive_unit_sum_deltatableentryvalue))))))))) /\ (forall du_index_unit_sum_delta du_value_unit_sum_delta. ~(du_index_unit_sum_delta=0) -> (exists pvs_le_gap_unit_sum_deltabound. pvs_le_gap_unit_sum_deltabound + (du_index_unit_sum_delta) = (N)) -> (exists dst_positive_code_unit_sum_deltaentry dst_positive_scale_unit_sum_deltaentry dst_negative_code_unit_sum_deltaentry dst_negative_scale_unit_sum_deltaentry dst_positive_unit_sum_deltaentry dst_negative_unit_sum_deltaentry. (((E) = (((((dst_positive_code_unit_sum_deltaentry) + (dst_positive_scale_unit_sum_deltaentry)) * S ((dst_positive_code_unit_sum_deltaentry) + (dst_positive_scale_unit_sum_deltaentry)) + ((dst_positive_scale_unit_sum_deltaentry) + (dst_positive_scale_unit_sum_deltaentry))) + (((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) * S ((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) + ((dst_negative_scale_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)))) * S ((((dst_positive_code_unit_sum_deltaentry) + (dst_positive_scale_unit_sum_deltaentry)) * S ((dst_positive_code_unit_sum_deltaentry) + (dst_positive_scale_unit_sum_deltaentry)) + ((dst_positive_scale_unit_sum_deltaentry) + (dst_positive_scale_unit_sum_deltaentry))) + (((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) * S ((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) + ((dst_negative_scale_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)))) + ((((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) * S ((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) + ((dst_negative_scale_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry))) + (((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) * S ((dst_negative_code_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)) + ((dst_negative_scale_unit_sum_deltaentry) + (dst_negative_scale_unit_sum_deltaentry)))))) /\ (((((exists ff_h_pvs_unit_sum_deltaentrypositive. ff_h_pvs_unit_sum_deltaentrypositive + S (dst_positive_unit_sum_deltaentry) = S ((S (du_index_unit_sum_delta)) * dst_positive_scale_unit_sum_deltaentry)) /\ exists ff_q_pvs_unit_sum_deltaentrypositive. dst_positive_code_unit_sum_deltaentry = ff_q_pvs_unit_sum_deltaentrypositive * S ((S (du_index_unit_sum_delta)) * dst_positive_scale_unit_sum_deltaentry) + (dst_positive_unit_sum_deltaentry))) /\ (((((exists ff_h_pvs_unit_sum_deltaentrynegative. ff_h_pvs_unit_sum_deltaentrynegative + S (dst_negative_unit_sum_deltaentry) = S ((S (du_index_unit_sum_delta)) * dst_negative_scale_unit_sum_deltaentry)) /\ exists ff_q_pvs_unit_sum_deltaentrynegative. dst_negative_code_unit_sum_deltaentry = ff_q_pvs_unit_sum_deltaentrynegative * S ((S (du_index_unit_sum_delta)) * dst_negative_scale_unit_sum_deltaentry) + (dst_negative_unit_sum_deltaentry))) /\ (exists ge_balance_positive_unit_sum_deltaentryvalue ge_balance_negative_unit_sum_deltaentryvalue. (((((du_value_unit_sum_delta) = 2 * (ge_balance_positive_unit_sum_deltaentryvalue) /\ (ge_balance_negative_unit_sum_deltaentryvalue) = 0) \/ exists ge_signed_half_unit_sum_deltaentryvaluedecode. (((du_value_unit_sum_delta) = 2 * ge_signed_half_unit_sum_deltaentryvaluedecode + 1 /\ (ge_balance_positive_unit_sum_deltaentryvalue) = 0) /\ (ge_balance_negative_unit_sum_deltaentryvalue) = S ge_signed_half_unit_sum_deltaentryvaluedecode))) /\ ((dst_positive_unit_sum_deltaentry) + ge_balance_negative_unit_sum_deltaentryvalue = (dst_negative_unit_sum_deltaentry) + ge_balance_positive_unit_sum_deltaentryvalue))))))))) -> ((((du_index_unit_sum_delta)=1 -> (du_value_unit_sum_delta)=2) /\ (~((du_index_unit_sum_delta)=1) -> (du_value_unit_sum_delta)=0)))))) -> ~(n=0) -> (exists pvs_le_gap_unit_sum_bound. pvs_le_gap_unit_sum_bound + (n) = (N)) -> (exists dst_positive_code_unit_sum_source dst_positive_scale_unit_sum_source dst_negative_code_unit_sum_source dst_negative_scale_unit_sum_source dst_positive_unit_sum_source dst_negative_unit_sum_source. (((F) = (((((dst_positive_code_unit_sum_source) + (dst_positive_scale_unit_sum_source)) * S ((dst_positive_code_unit_sum_source) + (dst_positive_scale_unit_sum_source)) + ((dst_positive_scale_unit_sum_source) + (dst_positive_scale_unit_sum_source))) + (((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) * S ((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) + ((dst_negative_scale_unit_sum_source) + (dst_negative_scale_unit_sum_source)))) * S ((((dst_positive_code_unit_sum_source) + (dst_positive_scale_unit_sum_source)) * S ((dst_positive_code_unit_sum_source) + (dst_positive_scale_unit_sum_source)) + ((dst_positive_scale_unit_sum_source) + (dst_positive_scale_unit_sum_source))) + (((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) * S ((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) + ((dst_negative_scale_unit_sum_source) + (dst_negative_scale_unit_sum_source)))) + ((((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) * S ((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) + ((dst_negative_scale_unit_sum_source) + (dst_negative_scale_unit_sum_source))) + (((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) * S ((dst_negative_code_unit_sum_source) + (dst_negative_scale_unit_sum_source)) + ((dst_negative_scale_unit_sum_source) + (dst_negative_scale_unit_sum_source)))))) /\ (((((exists ff_h_pvs_unit_sum_sourcepositive. ff_h_pvs_unit_sum_sourcepositive + S (dst_positive_unit_sum_source) = S ((S (n)) * dst_positive_scale_unit_sum_source)) /\ exists ff_q_pvs_unit_sum_sourcepositive. dst_positive_code_unit_sum_source = ff_q_pvs_unit_sum_sourcepositive * S ((S (n)) * dst_positive_scale_unit_sum_source) + (dst_positive_unit_sum_source))) /\ (((((exists ff_h_pvs_unit_sum_sourcenegative. ff_h_pvs_unit_sum_sourcenegative + S (dst_negative_unit_sum_source) = S ((S (n)) * dst_negative_scale_unit_sum_source)) /\ exists ff_q_pvs_unit_sum_sourcenegative. dst_negative_code_unit_sum_source = ff_q_pvs_unit_sum_sourcenegative * S ((S (n)) * dst_negative_scale_unit_sum_source) + (dst_negative_unit_sum_source))) /\ (exists ge_balance_positive_unit_sum_sourcevalue ge_balance_negative_unit_sum_sourcevalue. (((((a) = 2 * (ge_balance_positive_unit_sum_sourcevalue) /\ (ge_balance_negative_unit_sum_sourcevalue) = 0) \/ exists ge_signed_half_unit_sum_sourcevaluedecode. (((a) = 2 * ge_signed_half_unit_sum_sourcevaluedecode + 1 /\ (ge_balance_positive_unit_sum_sourcevalue) = 0) /\ (ge_balance_negative_unit_sum_sourcevalue) = S ge_signed_half_unit_sum_sourcevaluedecode))) /\ ((dst_positive_unit_sum_source) + ge_balance_negative_unit_sum_sourcevalue = (dst_negative_unit_sum_source) + ge_balance_positive_unit_sum_sourcevalue))))))))) -> (((~((n)=0)) /\ (exists dc_mask_unit_sum_result. ((((exists dst_positive_code_unit_sum_resultmasktable dst_positive_scale_unit_sum_resultmasktable dst_negative_code_unit_sum_resultmasktable dst_negative_scale_unit_sum_resultmasktable. (((dc_mask_unit_sum_result) = (((((dst_positive_code_unit_sum_resultmasktable) + (dst_positive_scale_unit_sum_resultmasktable)) * S ((dst_positive_code_unit_sum_resultmasktable) + (dst_positive_scale_unit_sum_resultmasktable)) + ((dst_positive_scale_unit_sum_resultmasktable) + (dst_positive_scale_unit_sum_resultmasktable))) + (((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) * S ((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) + ((dst_negative_scale_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)))) * S ((((dst_positive_code_unit_sum_resultmasktable) + (dst_positive_scale_unit_sum_resultmasktable)) * S ((dst_positive_code_unit_sum_resultmasktable) + (dst_positive_scale_unit_sum_resultmasktable)) + ((dst_positive_scale_unit_sum_resultmasktable) + (dst_positive_scale_unit_sum_resultmasktable))) + (((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) * S ((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) + ((dst_negative_scale_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)))) + ((((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) * S ((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) + ((dst_negative_scale_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable))) + (((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) * S ((dst_negative_code_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)) + ((dst_negative_scale_unit_sum_resultmasktable) + (dst_negative_scale_unit_sum_resultmasktable)))))) /\ (forall dst_index_unit_sum_resultmasktable. (exists pvs_le_gap_unit_sum_resultmasktabledomain. pvs_le_gap_unit_sum_resultmasktabledomain + (dst_index_unit_sum_resultmasktable) = (n)) -> exists dst_positive_unit_sum_resultmasktable dst_negative_unit_sum_resultmasktable dst_value_unit_sum_resultmasktable. ((((exists ff_h_pvs_unit_sum_resultmasktableentrypositive. ff_h_pvs_unit_sum_resultmasktableentrypositive + S (dst_positive_unit_sum_resultmasktable) = S ((S (dst_index_unit_sum_resultmasktable)) * dst_positive_scale_unit_sum_resultmasktable)) /\ exists ff_q_pvs_unit_sum_resultmasktableentrypositive. dst_positive_code_unit_sum_resultmasktable = ff_q_pvs_unit_sum_resultmasktableentrypositive * S ((S (dst_index_unit_sum_resultmasktable)) * dst_positive_scale_unit_sum_resultmasktable) + (dst_positive_unit_sum_resultmasktable))) /\ (((((exists ff_h_pvs_unit_sum_resultmasktableentrynegative. ff_h_pvs_unit_sum_resultmasktableentrynegative + S (dst_negative_unit_sum_resultmasktable) = S ((S (dst_index_unit_sum_resultmasktable)) * dst_negative_scale_unit_sum_resultmasktable)) /\ exists ff_q_pvs_unit_sum_resultmasktableentrynegative. dst_negative_code_unit_sum_resultmasktable = ff_q_pvs_unit_sum_resultmasktableentrynegative * S ((S (dst_index_unit_sum_resultmasktable)) * dst_negative_scale_unit_sum_resultmasktable) + (dst_negative_unit_sum_resultmasktable))) /\ (exists ge_balance_positive_unit_sum_resultmasktableentryvalue ge_balance_negative_unit_sum_resultmasktableentryvalue. (((((dst_value_unit_sum_resultmasktable) = 2 * (ge_balance_positive_unit_sum_resultmasktableentryvalue) /\ (ge_balance_negative_unit_sum_resultmasktableentryvalue) = 0) \/ exists ge_signed_half_unit_sum_resultmasktableentryvaluedecode. (((dst_value_unit_sum_resultmasktable) = 2 * ge_signed_half_unit_sum_resultmasktableentryvaluedecode + 1 /\ (ge_balance_positive_unit_sum_resultmasktableentryvalue) = 0) /\ (ge_balance_negative_unit_sum_resultmasktableentryvalue) = S ge_signed_half_unit_sum_resultmasktableentryvaluedecode))) /\ ((dst_positive_unit_sum_resultmasktable) + ge_balance_negative_unit_sum_resultmasktableentryvalue = (dst_negative_unit_sum_resultmasktable) + ge_balance_positive_unit_sum_resultmasktableentryvalue))))))))) /\ (forall dc_index_unit_sum_resultmask dc_value_unit_sum_resultmask. (exists pvs_le_gap_unit_sum_resultmaskdomain. pvs_le_gap_unit_sum_resultmaskdomain + (dc_index_unit_sum_resultmask) = (n)) -> (exists dst_positive_code_unit_sum_resultmasklookup dst_positive_scale_unit_sum_resultmasklookup dst_negative_code_unit_sum_resultmasklookup dst_negative_scale_unit_sum_resultmasklookup dst_positive_unit_sum_resultmasklookup dst_negative_unit_sum_resultmasklookup. (((dc_mask_unit_sum_result) = (((((dst_positive_code_unit_sum_resultmasklookup) + (dst_positive_scale_unit_sum_resultmasklookup)) * S ((dst_positive_code_unit_sum_resultmasklookup) + (dst_positive_scale_unit_sum_resultmasklookup)) + ((dst_positive_scale_unit_sum_resultmasklookup) + (dst_positive_scale_unit_sum_resultmasklookup))) + (((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) * S ((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) + ((dst_negative_scale_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)))) * S ((((dst_positive_code_unit_sum_resultmasklookup) + (dst_positive_scale_unit_sum_resultmasklookup)) * S ((dst_positive_code_unit_sum_resultmasklookup) + (dst_positive_scale_unit_sum_resultmasklookup)) + ((dst_positive_scale_unit_sum_resultmasklookup) + (dst_positive_scale_unit_sum_resultmasklookup))) + (((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) * S ((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) + ((dst_negative_scale_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)))) + ((((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) * S ((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) + ((dst_negative_scale_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup))) + (((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) * S ((dst_negative_code_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)) + ((dst_negative_scale_unit_sum_resultmasklookup) + (dst_negative_scale_unit_sum_resultmasklookup)))))) /\ (((((exists ff_h_pvs_unit_sum_resultmasklookuppositive. ff_h_pvs_unit_sum_resultmasklookuppositive + S (dst_positive_unit_sum_resultmasklookup) = S ((S (dc_index_unit_sum_resultmask)) * dst_positive_scale_unit_sum_resultmasklookup)) /\ exists ff_q_pvs_unit_sum_resultmasklookuppositive. dst_positive_code_unit_sum_resultmasklookup = ff_q_pvs_unit_sum_resultmasklookuppositive * S ((S (dc_index_unit_sum_resultmask)) * dst_positive_scale_unit_sum_resultmasklookup) + (dst_positive_unit_sum_resultmasklookup))) /\ (((((exists ff_h_pvs_unit_sum_resultmasklookupnegative. ff_h_pvs_unit_sum_resultmasklookupnegative + S (dst_negative_unit_sum_resultmasklookup) = S ((S (dc_index_unit_sum_resultmask)) * dst_negative_scale_unit_sum_resultmasklookup)) /\ exists ff_q_pvs_unit_sum_resultmasklookupnegative. dst_negative_code_unit_sum_resultmasklookup = ff_q_pvs_unit_sum_resultmasklookupnegative * S ((S (dc_index_unit_sum_resultmask)) * dst_negative_scale_unit_sum_resultmasklookup) + (dst_negative_unit_sum_resultmasklookup))) /\ (exists ge_balance_positive_unit_sum_resultmasklookupvalue ge_balance_negative_unit_sum_resultmasklookupvalue. (((((dc_value_unit_sum_resultmask) = 2 * (ge_balance_positive_unit_sum_resultmasklookupvalue) /\ (ge_balance_negative_unit_sum_resultmasklookupvalue) = 0) \/ exists ge_signed_half_unit_sum_resultmasklookupvaluedecode. (((dc_value_unit_sum_resultmask) = 2 * ge_signed_half_unit_sum_resultmasklookupvaluedecode + 1 /\ (ge_balance_positive_unit_sum_resultmasklookupvalue) = 0) /\ (ge_balance_negative_unit_sum_resultmasklookupvalue) = S ge_signed_half_unit_sum_resultmasklookupvaluedecode))) /\ ((dst_positive_unit_sum_resultmasklookup) + ge_balance_negative_unit_sum_resultmasklookupvalue = (dst_negative_unit_sum_resultmasklookup) + ge_balance_positive_unit_sum_resultmasklookupvalue))))))))) -> ((((~((dc_index_unit_sum_resultmask)=0)) /\ (exists dc_quotient_unit_sum_resultmaskentry dc_left_unit_sum_resultmaskentry dc_right_unit_sum_resultmaskentry. (((n)=(dc_index_unit_sum_resultmask)*dc_quotient_unit_sum_resultmaskentry) /\ (((exists dst_positive_code_unit_sum_resultmaskentryleft dst_positive_scale_unit_sum_resultmaskentryleft dst_negative_code_unit_sum_resultmaskentryleft dst_negative_scale_unit_sum_resultmaskentryleft dst_positive_unit_sum_resultmaskentryleft dst_negative_unit_sum_resultmaskentryleft. (((F) = (((((dst_positive_code_unit_sum_resultmaskentryleft) + (dst_positive_scale_unit_sum_resultmaskentryleft)) * S ((dst_positive_code_unit_sum_resultmaskentryleft) + (dst_positive_scale_unit_sum_resultmaskentryleft)) + ((dst_positive_scale_unit_sum_resultmaskentryleft) + (dst_positive_scale_unit_sum_resultmaskentryleft))) + (((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) * S ((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) + ((dst_negative_scale_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)))) * S ((((dst_positive_code_unit_sum_resultmaskentryleft) + (dst_positive_scale_unit_sum_resultmaskentryleft)) * S ((dst_positive_code_unit_sum_resultmaskentryleft) + (dst_positive_scale_unit_sum_resultmaskentryleft)) + ((dst_positive_scale_unit_sum_resultmaskentryleft) + (dst_positive_scale_unit_sum_resultmaskentryleft))) + (((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) * S ((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) + ((dst_negative_scale_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)))) + ((((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) * S ((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) + ((dst_negative_scale_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft))) + (((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) * S ((dst_negative_code_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)) + ((dst_negative_scale_unit_sum_resultmaskentryleft) + (dst_negative_scale_unit_sum_resultmaskentryleft)))))) /\ (((((exists ff_h_pvs_unit_sum_resultmaskentryleftpositive. ff_h_pvs_unit_sum_resultmaskentryleftpositive + S (dst_positive_unit_sum_resultmaskentryleft) = S ((S (dc_index_unit_sum_resultmask)) * dst_positive_scale_unit_sum_resultmaskentryleft)) /\ exists ff_q_pvs_unit_sum_resultmaskentryleftpositive. dst_positive_code_unit_sum_resultmaskentryleft = ff_q_pvs_unit_sum_resultmaskentryleftpositive * S ((S (dc_index_unit_sum_resultmask)) * dst_positive_scale_unit_sum_resultmaskentryleft) + (dst_positive_unit_sum_resultmaskentryleft))) /\ (((((exists ff_h_pvs_unit_sum_resultmaskentryleftnegative. ff_h_pvs_unit_sum_resultmaskentryleftnegative + S (dst_negative_unit_sum_resultmaskentryleft) = S ((S (dc_index_unit_sum_resultmask)) * dst_negative_scale_unit_sum_resultmaskentryleft)) /\ exists ff_q_pvs_unit_sum_resultmaskentryleftnegative. dst_negative_code_unit_sum_resultmaskentryleft = ff_q_pvs_unit_sum_resultmaskentryleftnegative * S ((S (dc_index_unit_sum_resultmask)) * dst_negative_scale_unit_sum_resultmaskentryleft) + (dst_negative_unit_sum_resultmaskentryleft))) /\ (exists ge_balance_positive_unit_sum_resultmaskentryleftvalue ge_balance_negative_unit_sum_resultmaskentryleftvalue. (((((dc_left_unit_sum_resultmaskentry) = 2 * (ge_balance_positive_unit_sum_resultmaskentryleftvalue) /\ (ge_balance_negative_unit_sum_resultmaskentryleftvalue) = 0) \/ exists ge_signed_half_unit_sum_resultmaskentryleftvaluedecode. (((dc_left_unit_sum_resultmaskentry) = 2 * ge_signed_half_unit_sum_resultmaskentryleftvaluedecode + 1 /\ (ge_balance_positive_unit_sum_resultmaskentryleftvalue) = 0) /\ (ge_balance_negative_unit_sum_resultmaskentryleftvalue) = S ge_signed_half_unit_sum_resultmaskentryleftvaluedecode))) /\ ((dst_positive_unit_sum_resultmaskentryleft) + ge_balance_negative_unit_sum_resultmaskentryleftvalue = (dst_negative_unit_sum_resultmaskentryleft) + ge_balance_positive_unit_sum_resultmaskentryleftvalue))))))))) /\ (((exists dst_positive_code_unit_sum_resultmaskentryright dst_positive_scale_unit_sum_resultmaskentryright dst_negative_code_unit_sum_resultmaskentryright dst_negative_scale_unit_sum_resultmaskentryright dst_positive_unit_sum_resultmaskentryright dst_negative_unit_sum_resultmaskentryright. (((E) = (((((dst_positive_code_unit_sum_resultmaskentryright) + (dst_positive_scale_unit_sum_resultmaskentryright)) * S ((dst_positive_code_unit_sum_resultmaskentryright) + (dst_positive_scale_unit_sum_resultmaskentryright)) + ((dst_positive_scale_unit_sum_resultmaskentryright) + (dst_positive_scale_unit_sum_resultmaskentryright))) + (((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) * S ((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) + ((dst_negative_scale_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)))) * S ((((dst_positive_code_unit_sum_resultmaskentryright) + (dst_positive_scale_unit_sum_resultmaskentryright)) * S ((dst_positive_code_unit_sum_resultmaskentryright) + (dst_positive_scale_unit_sum_resultmaskentryright)) + ((dst_positive_scale_unit_sum_resultmaskentryright) + (dst_positive_scale_unit_sum_resultmaskentryright))) + (((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) * S ((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) + ((dst_negative_scale_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)))) + ((((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) * S ((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) + ((dst_negative_scale_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright))) + (((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) * S ((dst_negative_code_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)) + ((dst_negative_scale_unit_sum_resultmaskentryright) + (dst_negative_scale_unit_sum_resultmaskentryright)))))) /\ (((((exists ff_h_pvs_unit_sum_resultmaskentryrightpositive. ff_h_pvs_unit_sum_resultmaskentryrightpositive + S (dst_positive_unit_sum_resultmaskentryright) = S ((S (dc_quotient_unit_sum_resultmaskentry)) * dst_positive_scale_unit_sum_resultmaskentryright)) /\ exists ff_q_pvs_unit_sum_resultmaskentryrightpositive. dst_positive_code_unit_sum_resultmaskentryright = ff_q_pvs_unit_sum_resultmaskentryrightpositive * S ((S (dc_quotient_unit_sum_resultmaskentry)) * dst_positive_scale_unit_sum_resultmaskentryright) + (dst_positive_unit_sum_resultmaskentryright))) /\ (((((exists ff_h_pvs_unit_sum_resultmaskentryrightnegative. ff_h_pvs_unit_sum_resultmaskentryrightnegative + S (dst_negative_unit_sum_resultmaskentryright) = S ((S (dc_quotient_unit_sum_resultmaskentry)) * dst_negative_scale_unit_sum_resultmaskentryright)) /\ exists ff_q_pvs_unit_sum_resultmaskentryrightnegative. dst_negative_code_unit_sum_resultmaskentryright = ff_q_pvs_unit_sum_resultmaskentryrightnegative * S ((S (dc_quotient_unit_sum_resultmaskentry)) * dst_negative_scale_unit_sum_resultmaskentryright) + (dst_negative_unit_sum_resultmaskentryright))) /\ (exists ge_balance_positive_unit_sum_resultmaskentryrightvalue ge_balance_negative_unit_sum_resultmaskentryrightvalue. (((((dc_right_unit_sum_resultmaskentry) = 2 * (ge_balance_positive_unit_sum_resultmaskentryrightvalue) /\ (ge_balance_negative_unit_sum_resultmaskentryrightvalue) = 0) \/ exists ge_signed_half_unit_sum_resultmaskentryrightvaluedecode. (((dc_right_unit_sum_resultmaskentry) = 2 * ge_signed_half_unit_sum_resultmaskentryrightvaluedecode + 1 /\ (ge_balance_positive_unit_sum_resultmaskentryrightvalue) = 0) /\ (ge_balance_negative_unit_sum_resultmaskentryrightvalue) = S ge_signed_half_unit_sum_resultmaskentryrightvaluedecode))) /\ ((dst_positive_unit_sum_resultmaskentryright) + ge_balance_negative_unit_sum_resultmaskentryrightvalue = (dst_negative_unit_sum_resultmaskentryright) + ge_balance_positive_unit_sum_resultmaskentryrightvalue))))))))) /\ (exists sto_ap_unit_sum_resultmaskentryproduct sto_an_unit_sum_resultmaskentryproduct sto_bp_unit_sum_resultmaskentryproduct sto_bn_unit_sum_resultmaskentryproduct sto_cp_unit_sum_resultmaskentryproduct sto_cn_unit_sum_resultmaskentryproduct. (((((dc_left_unit_sum_resultmaskentry) = 2 * (sto_ap_unit_sum_resultmaskentryproduct) /\ (sto_an_unit_sum_resultmaskentryproduct) = 0) \/ exists ge_signed_half_unit_sum_resultmaskentryproductleft. (((dc_left_unit_sum_resultmaskentry) = 2 * ge_signed_half_unit_sum_resultmaskentryproductleft + 1 /\ (sto_ap_unit_sum_resultmaskentryproduct) = 0) /\ (sto_an_unit_sum_resultmaskentryproduct) = S ge_signed_half_unit_sum_resultmaskentryproductleft))) /\ ((((((dc_right_unit_sum_resultmaskentry) = 2 * (sto_bp_unit_sum_resultmaskentryproduct) /\ (sto_bn_unit_sum_resultmaskentryproduct) = 0) \/ exists ge_signed_half_unit_sum_resultmaskentryproductright. (((dc_right_unit_sum_resultmaskentry) = 2 * ge_signed_half_unit_sum_resultmaskentryproductright + 1 /\ (sto_bp_unit_sum_resultmaskentryproduct) = 0) /\ (sto_bn_unit_sum_resultmaskentryproduct) = S ge_signed_half_unit_sum_resultmaskentryproductright))) /\ ((((((dc_value_unit_sum_resultmask) = 2 * (sto_cp_unit_sum_resultmaskentryproduct) /\ (sto_cn_unit_sum_resultmaskentryproduct) = 0) \/ exists ge_signed_half_unit_sum_resultmaskentryproductoutput. (((dc_value_unit_sum_resultmask) = 2 * ge_signed_half_unit_sum_resultmaskentryproductoutput + 1 /\ (sto_cp_unit_sum_resultmaskentryproduct) = 0) /\ (sto_cn_unit_sum_resultmaskentryproduct) = S ge_signed_half_unit_sum_resultmaskentryproductoutput))) /\ ((sto_ap_unit_sum_resultmaskentryproduct * sto_bp_unit_sum_resultmaskentryproduct + sto_an_unit_sum_resultmaskentryproduct * sto_bn_unit_sum_resultmaskentryproduct) + sto_cn_unit_sum_resultmaskentryproduct = (sto_ap_unit_sum_resultmaskentryproduct * sto_bn_unit_sum_resultmaskentryproduct + sto_an_unit_sum_resultmaskentryproduct * sto_bp_unit_sum_resultmaskentryproduct) + sto_cp_unit_sum_resultmaskentryproduct))))))))))))))) \/ ((((dc_index_unit_sum_resultmask)=0 \/ ~(exists pvs_factor_unit_sum_resultmaskentrynondivisor. (n) = (dc_index_unit_sum_resultmask) * pvs_factor_unit_sum_resultmaskentrynondivisor)) /\ ((dc_value_unit_sum_resultmask)=0))))))) /\ (exists dst_positive_code_unit_sum_resultfold dst_positive_scale_unit_sum_resultfold dst_negative_code_unit_sum_resultfold dst_negative_scale_unit_sum_resultfold dst_positive_sum_unit_sum_resultfold dst_negative_sum_unit_sum_resultfold. (((dc_mask_unit_sum_result) = (((((dst_positive_code_unit_sum_resultfold) + (dst_positive_scale_unit_sum_resultfold)) * S ((dst_positive_code_unit_sum_resultfold) + (dst_positive_scale_unit_sum_resultfold)) + ((dst_positive_scale_unit_sum_resultfold) + (dst_positive_scale_unit_sum_resultfold))) + (((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) * S ((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) + ((dst_negative_scale_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)))) * S ((((dst_positive_code_unit_sum_resultfold) + (dst_positive_scale_unit_sum_resultfold)) * S ((dst_positive_code_unit_sum_resultfold) + (dst_positive_scale_unit_sum_resultfold)) + ((dst_positive_scale_unit_sum_resultfold) + (dst_positive_scale_unit_sum_resultfold))) + (((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) * S ((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) + ((dst_negative_scale_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)))) + ((((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) * S ((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) + ((dst_negative_scale_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold))) + (((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) * S ((dst_negative_code_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)) + ((dst_negative_scale_unit_sum_resultfold) + (dst_negative_scale_unit_sum_resultfold)))))) /\ (((exists fs_u_dst_unit_sum_resultfoldpositive fs_v_dst_unit_sum_resultfoldpositive. ((((exists fs_h_dst_unit_sum_resultfoldpositive_body_start. fs_h_dst_unit_sum_resultfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_unit_sum_resultfoldpositive)) /\ exists fs_q_dst_unit_sum_resultfoldpositive_body_start. fs_u_dst_unit_sum_resultfoldpositive = fs_q_dst_unit_sum_resultfoldpositive_body_start * S ((S (0)) * fs_v_dst_unit_sum_resultfoldpositive) + (0))) /\ ((((exists fs_h_dst_unit_sum_resultfoldpositive_body_terminal. fs_h_dst_unit_sum_resultfoldpositive_body_terminal + S (dst_positive_sum_unit_sum_resultfold) = S ((S (S (n))) * fs_v_dst_unit_sum_resultfoldpositive)) /\ exists fs_q_dst_unit_sum_resultfoldpositive_body_terminal. fs_u_dst_unit_sum_resultfoldpositive = fs_q_dst_unit_sum_resultfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_unit_sum_resultfoldpositive) + (dst_positive_sum_unit_sum_resultfold))) /\ forall fs_i_dst_unit_sum_resultfoldpositive_body_steps. (exists fs_lt_dst_unit_sum_resultfoldpositive_body_steps_bound. fs_lt_dst_unit_sum_resultfoldpositive_body_steps_bound + S fs_i_dst_unit_sum_resultfoldpositive_body_steps = S (n)) -> exists fs_a_dst_unit_sum_resultfoldpositive_body_steps fs_r_dst_unit_sum_resultfoldpositive_body_steps fs_s_dst_unit_sum_resultfoldpositive_body_steps. ((((exists fs_h_dst_unit_sum_resultfoldpositive_body_steps_summand. fs_h_dst_unit_sum_resultfoldpositive_body_steps_summand + S (fs_a_dst_unit_sum_resultfoldpositive_body_steps) = S ((S (fs_i_dst_unit_sum_resultfoldpositive_body_steps)) * dst_positive_scale_unit_sum_resultfold)) /\ exists fs_q_dst_unit_sum_resultfoldpositive_body_steps_summand. dst_positive_code_unit_sum_resultfold = fs_q_dst_unit_sum_resultfoldpositive_body_steps_summand * S ((S (fs_i_dst_unit_sum_resultfoldpositive_body_steps)) * dst_positive_scale_unit_sum_resultfold) + (fs_a_dst_unit_sum_resultfoldpositive_body_steps))) /\ ((((exists fs_h_dst_unit_sum_resultfoldpositive_body_steps_partial. fs_h_dst_unit_sum_resultfoldpositive_body_steps_partial + S (fs_r_dst_unit_sum_resultfoldpositive_body_steps) = S ((S (fs_i_dst_unit_sum_resultfoldpositive_body_steps)) * fs_v_dst_unit_sum_resultfoldpositive)) /\ exists fs_q_dst_unit_sum_resultfoldpositive_body_steps_partial. fs_u_dst_unit_sum_resultfoldpositive = fs_q_dst_unit_sum_resultfoldpositive_body_steps_partial * S ((S (fs_i_dst_unit_sum_resultfoldpositive_body_steps)) * fs_v_dst_unit_sum_resultfoldpositive) + (fs_r_dst_unit_sum_resultfoldpositive_body_steps))) /\ ((((exists fs_h_dst_unit_sum_resultfoldpositive_body_steps_successor. fs_h_dst_unit_sum_resultfoldpositive_body_steps_successor + S (fs_s_dst_unit_sum_resultfoldpositive_body_steps) = S ((S (S fs_i_dst_unit_sum_resultfoldpositive_body_steps)) * fs_v_dst_unit_sum_resultfoldpositive)) /\ exists fs_q_dst_unit_sum_resultfoldpositive_body_steps_successor. fs_u_dst_unit_sum_resultfoldpositive = fs_q_dst_unit_sum_resultfoldpositive_body_steps_successor * S ((S (S fs_i_dst_unit_sum_resultfoldpositive_body_steps)) * fs_v_dst_unit_sum_resultfoldpositive) + (fs_s_dst_unit_sum_resultfoldpositive_body_steps))) /\ fs_s_dst_unit_sum_resultfoldpositive_body_steps = fs_r_dst_unit_sum_resultfoldpositive_body_steps + fs_a_dst_unit_sum_resultfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_unit_sum_resultfoldnegative fs_v_dst_unit_sum_resultfoldnegative. ((((exists fs_h_dst_unit_sum_resultfoldnegative_body_start. fs_h_dst_unit_sum_resultfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_unit_sum_resultfoldnegative)) /\ exists fs_q_dst_unit_sum_resultfoldnegative_body_start. fs_u_dst_unit_sum_resultfoldnegative = fs_q_dst_unit_sum_resultfoldnegative_body_start * S ((S (0)) * fs_v_dst_unit_sum_resultfoldnegative) + (0))) /\ ((((exists fs_h_dst_unit_sum_resultfoldnegative_body_terminal. fs_h_dst_unit_sum_resultfoldnegative_body_terminal + S (dst_negative_sum_unit_sum_resultfold) = S ((S (S (n))) * fs_v_dst_unit_sum_resultfoldnegative)) /\ exists fs_q_dst_unit_sum_resultfoldnegative_body_terminal. fs_u_dst_unit_sum_resultfoldnegative = fs_q_dst_unit_sum_resultfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_unit_sum_resultfoldnegative) + (dst_negative_sum_unit_sum_resultfold))) /\ forall fs_i_dst_unit_sum_resultfoldnegative_body_steps. (exists fs_lt_dst_unit_sum_resultfoldnegative_body_steps_bound. fs_lt_dst_unit_sum_resultfoldnegative_body_steps_bound + S fs_i_dst_unit_sum_resultfoldnegative_body_steps = S (n)) -> exists fs_a_dst_unit_sum_resultfoldnegative_body_steps fs_r_dst_unit_sum_resultfoldnegative_body_steps fs_s_dst_unit_sum_resultfoldnegative_body_steps. ((((exists fs_h_dst_unit_sum_resultfoldnegative_body_steps_summand. fs_h_dst_unit_sum_resultfoldnegative_body_steps_summand + S (fs_a_dst_unit_sum_resultfoldnegative_body_steps) = S ((S (fs_i_dst_unit_sum_resultfoldnegative_body_steps)) * dst_negative_scale_unit_sum_resultfold)) /\ exists fs_q_dst_unit_sum_resultfoldnegative_body_steps_summand. dst_negative_code_unit_sum_resultfold = fs_q_dst_unit_sum_resultfoldnegative_body_steps_summand * S ((S (fs_i_dst_unit_sum_resultfoldnegative_body_steps)) * dst_negative_scale_unit_sum_resultfold) + (fs_a_dst_unit_sum_resultfoldnegative_body_steps))) /\ ((((exists fs_h_dst_unit_sum_resultfoldnegative_body_steps_partial. fs_h_dst_unit_sum_resultfoldnegative_body_steps_partial + S (fs_r_dst_unit_sum_resultfoldnegative_body_steps) = S ((S (fs_i_dst_unit_sum_resultfoldnegative_body_steps)) * fs_v_dst_unit_sum_resultfoldnegative)) /\ exists fs_q_dst_unit_sum_resultfoldnegative_body_steps_partial. fs_u_dst_unit_sum_resultfoldnegative = fs_q_dst_unit_sum_resultfoldnegative_body_steps_partial * S ((S (fs_i_dst_unit_sum_resultfoldnegative_body_steps)) * fs_v_dst_unit_sum_resultfoldnegative) + (fs_r_dst_unit_sum_resultfoldnegative_body_steps))) /\ ((((exists fs_h_dst_unit_sum_resultfoldnegative_body_steps_successor. fs_h_dst_unit_sum_resultfoldnegative_body_steps_successor + S (fs_s_dst_unit_sum_resultfoldnegative_body_steps) = S ((S (S fs_i_dst_unit_sum_resultfoldnegative_body_steps)) * fs_v_dst_unit_sum_resultfoldnegative)) /\ exists fs_q_dst_unit_sum_resultfoldnegative_body_steps_successor. fs_u_dst_unit_sum_resultfoldnegative = fs_q_dst_unit_sum_resultfoldnegative_body_steps_successor * S ((S (S fs_i_dst_unit_sum_resultfoldnegative_body_steps)) * fs_v_dst_unit_sum_resultfoldnegative) + (fs_s_dst_unit_sum_resultfoldnegative_body_steps))) /\ fs_s_dst_unit_sum_resultfoldnegative_body_steps = fs_r_dst_unit_sum_resultfoldnegative_body_steps + fs_a_dst_unit_sum_resultfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_unit_sum_resultfoldresult ge_balance_negative_unit_sum_resultfoldresult. (((((a) = 2 * (ge_balance_positive_unit_sum_resultfoldresult) /\ (ge_balance_negative_unit_sum_resultfoldresult) = 0) \/ exists ge_signed_half_unit_sum_resultfoldresultdecode. (((a) = 2 * ge_signed_half_unit_sum_resultfoldresultdecode + 1 /\ (ge_balance_positive_unit_sum_resultfoldresult) = 0) /\ (ge_balance_negative_unit_sum_resultfoldresult) = S ge_signed_half_unit_sum_resultfoldresultdecode))) /\ ((dst_positive_sum_unit_sum_resultfold) + ge_balance_negative_unit_sum_resultfoldresult = (dst_negative_sum_unit_sum_resultfold) + ge_balance_positive_unit_sum_resultfoldresult)))))))))))))

Constructive proof overview

Generated structural guide

Construct a genuine convolution fold and prove its value equals the given actual F(n), rather than postulating the desired unit identity.

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

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

Proof neighborhood

Direct dependencies

dirichlet_convolution_sum_exists Alpha theorem; checked-use authorized DU000F dirichlet_delta_right_sum_value

Direct dependents

Formal native tactic body

Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.

Read the argument

Proof checkpoints

37 script commands · 8 reading checkpoints · 2 local claims

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

Named ingredients (1)

Long local formulas use this family’s existing definitions. Each new abbreviation was expanded back to the identical native formula, including its free-variable context. The original edition is preserved below.

01Fix variables and assumptionsL1–10

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

  1. L1
    intro N
  2. L2
    intro F
  3. L3
    intro E
  4. L4
    intro n
  5. L5
    intro a
  6. L6
    intro hf
  7. L7
    intro hd
  8. L8
    intro hn
  9. L9
    intro hb
  10. L10
    intro ha
02Separate the logical casesL11–11

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

  1. L11
    cases hd
03Establish hcL12–21

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet convolution sum exists.

  1. L12
    have hc : ∃ z. DirichletSum(F,E,n,z)Definitions: DirichletSum
  2. L13
    specialize dirichlet_convolution_sum_exists (N)
  3. L14
    specialize dirichlet_convolution_sum_exists (F)
  4. L15
    specialize dirichlet_convolution_sum_exists (E)
  5. L16
    specialize dirichlet_convolution_sum_exists (n)
  6. L17
    apply dirichlet_convolution_sum_exists
  7. L18
    exact hf
  8. L19
    exact hd_left
  9. L20
    exact hn
  10. L21
    exact hb
04Separate the logical casesL22–22

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

  1. L22
    cases hc
05Establish heL23–32

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply dirichlet delta right sum value.

  1. L23
    have he : x=a
  2. L24
    specialize dirichlet_delta_right_sum_value (N)
  3. L25
    specialize dirichlet_delta_right_sum_value (F)
  4. L26
    specialize dirichlet_delta_right_sum_value (E)
  5. L27
    specialize dirichlet_delta_right_sum_value (n)
  6. L28
    specialize dirichlet_delta_right_sum_value (a)
  7. L29
    specialize dirichlet_delta_right_sum_value (x)
  8. L30
    apply dirichlet_delta_right_sum_value
  9. L31
    exact hd
  10. L32
    exact hb
06Use earlier factsL33–34

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

  1. L33
    exact ha
  2. L34
    exact hc_witness
07Calculate and transport equalitiesL35–36

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

  1. L35
    rewrite he at hc_witness
  2. L36
    rewrite he at hc_witness
08Use earlier factsL37–37

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

  1. L37
    exact hc_witness

Library-wide reading audit

Original exact command ledger · 37 lines
  1. 0001intro N
  2. 0002intro F
  3. 0003intro E
  4. 0004intro n
  5. 0005intro a
  6. 0006intro hf
  7. 0007intro hd
  8. 0008intro hn
  9. 0009intro hb
  10. 0010intro ha
  11. 0011cases hd
  12. 0012have hc : exists z. (((~((n)=0)) /\ (exists dc_mask_unit_actual_sum. ((((exists dst_positive_code_unit_actual_summasktable dst_positive_scale_unit_actual_summasktable dst_negative_code_unit_actual_summasktable dst_negative_scale_unit_actual_summasktable. (((dc_mask_unit_actual_sum) = (((((dst_positive_code_unit_actual_summasktable) + (dst_positive_scale_unit_actual_summasktable)) * S ((dst_positive_code_unit_actual_summasktable) + (dst_positive_scale_unit_actual_summasktable)) + ((dst_positive_scale_unit_actual_summasktable) + (dst_positive_scale_unit_actual_summasktable))) + (((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) * S ((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) + ((dst_negative_scale_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)))) * S ((((dst_positive_code_unit_actual_summasktable) + (dst_positive_scale_unit_actual_summasktable)) * S ((dst_positive_code_unit_actual_summasktable) + (dst_positive_scale_unit_actual_summasktable)) + ((dst_positive_scale_unit_actual_summasktable) + (dst_positive_scale_unit_actual_summasktable))) + (((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) * S ((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) + ((dst_negative_scale_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)))) + ((((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) * S ((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) + ((dst_negative_scale_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable))) + (((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) * S ((dst_negative_code_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)) + ((dst_negative_scale_unit_actual_summasktable) + (dst_negative_scale_unit_actual_summasktable)))))) /\ (forall dst_index_unit_actual_summasktable. (exists pvs_le_gap_unit_actual_summasktabledomain. pvs_le_gap_unit_actual_summasktabledomain + (dst_index_unit_actual_summasktable) = (n)) -> exists dst_positive_unit_actual_summasktable dst_negative_unit_actual_summasktable dst_value_unit_actual_summasktable. ((((exists ff_h_pvs_unit_actual_summasktableentrypositive. ff_h_pvs_unit_actual_summasktableentrypositive + S (dst_positive_unit_actual_summasktable) = S ((S (dst_index_unit_actual_summasktable)) * dst_positive_scale_unit_actual_summasktable)) /\ exists ff_q_pvs_unit_actual_summasktableentrypositive. dst_positive_code_unit_actual_summasktable = ff_q_pvs_unit_actual_summasktableentrypositive * S ((S (dst_index_unit_actual_summasktable)) * dst_positive_scale_unit_actual_summasktable) + (dst_positive_unit_actual_summasktable))) /\ (((((exists ff_h_pvs_unit_actual_summasktableentrynegative. ff_h_pvs_unit_actual_summasktableentrynegative + S (dst_negative_unit_actual_summasktable) = S ((S (dst_index_unit_actual_summasktable)) * dst_negative_scale_unit_actual_summasktable)) /\ exists ff_q_pvs_unit_actual_summasktableentrynegative. dst_negative_code_unit_actual_summasktable = ff_q_pvs_unit_actual_summasktableentrynegative * S ((S (dst_index_unit_actual_summasktable)) * dst_negative_scale_unit_actual_summasktable) + (dst_negative_unit_actual_summasktable))) /\ (exists ge_balance_positive_unit_actual_summasktableentryvalue ge_balance_negative_unit_actual_summasktableentryvalue. (((((dst_value_unit_actual_summasktable) = 2 * (ge_balance_positive_unit_actual_summasktableentryvalue) /\ (ge_balance_negative_unit_actual_summasktableentryvalue) = 0) \/ exists ge_signed_half_unit_actual_summasktableentryvaluedecode. (((dst_value_unit_actual_summasktable) = 2 * ge_signed_half_unit_actual_summasktableentryvaluedecode + 1 /\ (ge_balance_positive_unit_actual_summasktableentryvalue) = 0) /\ (ge_balance_negative_unit_actual_summasktableentryvalue) = S ge_signed_half_unit_actual_summasktableentryvaluedecode))) /\ ((dst_positive_unit_actual_summasktable) + ge_balance_negative_unit_actual_summasktableentryvalue = (dst_negative_unit_actual_summasktable) + ge_balance_positive_unit_actual_summasktableentryvalue))))))))) /\ (forall dc_index_unit_actual_summask dc_value_unit_actual_summask. (exists pvs_le_gap_unit_actual_summaskdomain. pvs_le_gap_unit_actual_summaskdomain + (dc_index_unit_actual_summask) = (n)) -> (exists dst_positive_code_unit_actual_summasklookup dst_positive_scale_unit_actual_summasklookup dst_negative_code_unit_actual_summasklookup dst_negative_scale_unit_actual_summasklookup dst_positive_unit_actual_summasklookup dst_negative_unit_actual_summasklookup. (((dc_mask_unit_actual_sum) = (((((dst_positive_code_unit_actual_summasklookup) + (dst_positive_scale_unit_actual_summasklookup)) * S ((dst_positive_code_unit_actual_summasklookup) + (dst_positive_scale_unit_actual_summasklookup)) + ((dst_positive_scale_unit_actual_summasklookup) + (dst_positive_scale_unit_actual_summasklookup))) + (((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) * S ((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) + ((dst_negative_scale_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)))) * S ((((dst_positive_code_unit_actual_summasklookup) + (dst_positive_scale_unit_actual_summasklookup)) * S ((dst_positive_code_unit_actual_summasklookup) + (dst_positive_scale_unit_actual_summasklookup)) + ((dst_positive_scale_unit_actual_summasklookup) + (dst_positive_scale_unit_actual_summasklookup))) + (((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) * S ((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) + ((dst_negative_scale_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)))) + ((((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) * S ((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) + ((dst_negative_scale_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup))) + (((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) * S ((dst_negative_code_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)) + ((dst_negative_scale_unit_actual_summasklookup) + (dst_negative_scale_unit_actual_summasklookup)))))) /\ (((((exists ff_h_pvs_unit_actual_summasklookuppositive. ff_h_pvs_unit_actual_summasklookuppositive + S (dst_positive_unit_actual_summasklookup) = S ((S (dc_index_unit_actual_summask)) * dst_positive_scale_unit_actual_summasklookup)) /\ exists ff_q_pvs_unit_actual_summasklookuppositive. dst_positive_code_unit_actual_summasklookup = ff_q_pvs_unit_actual_summasklookuppositive * S ((S (dc_index_unit_actual_summask)) * dst_positive_scale_unit_actual_summasklookup) + (dst_positive_unit_actual_summasklookup))) /\ (((((exists ff_h_pvs_unit_actual_summasklookupnegative. ff_h_pvs_unit_actual_summasklookupnegative + S (dst_negative_unit_actual_summasklookup) = S ((S (dc_index_unit_actual_summask)) * dst_negative_scale_unit_actual_summasklookup)) /\ exists ff_q_pvs_unit_actual_summasklookupnegative. dst_negative_code_unit_actual_summasklookup = ff_q_pvs_unit_actual_summasklookupnegative * S ((S (dc_index_unit_actual_summask)) * dst_negative_scale_unit_actual_summasklookup) + (dst_negative_unit_actual_summasklookup))) /\ (exists ge_balance_positive_unit_actual_summasklookupvalue ge_balance_negative_unit_actual_summasklookupvalue. (((((dc_value_unit_actual_summask) = 2 * (ge_balance_positive_unit_actual_summasklookupvalue) /\ (ge_balance_negative_unit_actual_summasklookupvalue) = 0) \/ exists ge_signed_half_unit_actual_summasklookupvaluedecode. (((dc_value_unit_actual_summask) = 2 * ge_signed_half_unit_actual_summasklookupvaluedecode + 1 /\ (ge_balance_positive_unit_actual_summasklookupvalue) = 0) /\ (ge_balance_negative_unit_actual_summasklookupvalue) = S ge_signed_half_unit_actual_summasklookupvaluedecode))) /\ ((dst_positive_unit_actual_summasklookup) + ge_balance_negative_unit_actual_summasklookupvalue = (dst_negative_unit_actual_summasklookup) + ge_balance_positive_unit_actual_summasklookupvalue))))))))) -> ((((~((dc_index_unit_actual_summask)=0)) /\ (exists dc_quotient_unit_actual_summaskentry dc_left_unit_actual_summaskentry dc_right_unit_actual_summaskentry. (((n)=(dc_index_unit_actual_summask)*dc_quotient_unit_actual_summaskentry) /\ (((exists dst_positive_code_unit_actual_summaskentryleft dst_positive_scale_unit_actual_summaskentryleft dst_negative_code_unit_actual_summaskentryleft dst_negative_scale_unit_actual_summaskentryleft dst_positive_unit_actual_summaskentryleft dst_negative_unit_actual_summaskentryleft. (((F) = (((((dst_positive_code_unit_actual_summaskentryleft) + (dst_positive_scale_unit_actual_summaskentryleft)) * S ((dst_positive_code_unit_actual_summaskentryleft) + (dst_positive_scale_unit_actual_summaskentryleft)) + ((dst_positive_scale_unit_actual_summaskentryleft) + (dst_positive_scale_unit_actual_summaskentryleft))) + (((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) * S ((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) + ((dst_negative_scale_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)))) * S ((((dst_positive_code_unit_actual_summaskentryleft) + (dst_positive_scale_unit_actual_summaskentryleft)) * S ((dst_positive_code_unit_actual_summaskentryleft) + (dst_positive_scale_unit_actual_summaskentryleft)) + ((dst_positive_scale_unit_actual_summaskentryleft) + (dst_positive_scale_unit_actual_summaskentryleft))) + (((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) * S ((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) + ((dst_negative_scale_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)))) + ((((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) * S ((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) + ((dst_negative_scale_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft))) + (((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) * S ((dst_negative_code_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)) + ((dst_negative_scale_unit_actual_summaskentryleft) + (dst_negative_scale_unit_actual_summaskentryleft)))))) /\ (((((exists ff_h_pvs_unit_actual_summaskentryleftpositive. ff_h_pvs_unit_actual_summaskentryleftpositive + S (dst_positive_unit_actual_summaskentryleft) = S ((S (dc_index_unit_actual_summask)) * dst_positive_scale_unit_actual_summaskentryleft)) /\ exists ff_q_pvs_unit_actual_summaskentryleftpositive. dst_positive_code_unit_actual_summaskentryleft = ff_q_pvs_unit_actual_summaskentryleftpositive * S ((S (dc_index_unit_actual_summask)) * dst_positive_scale_unit_actual_summaskentryleft) + (dst_positive_unit_actual_summaskentryleft))) /\ (((((exists ff_h_pvs_unit_actual_summaskentryleftnegative. ff_h_pvs_unit_actual_summaskentryleftnegative + S (dst_negative_unit_actual_summaskentryleft) = S ((S (dc_index_unit_actual_summask)) * dst_negative_scale_unit_actual_summaskentryleft)) /\ exists ff_q_pvs_unit_actual_summaskentryleftnegative. dst_negative_code_unit_actual_summaskentryleft = ff_q_pvs_unit_actual_summaskentryleftnegative * S ((S (dc_index_unit_actual_summask)) * dst_negative_scale_unit_actual_summaskentryleft) + (dst_negative_unit_actual_summaskentryleft))) /\ (exists ge_balance_positive_unit_actual_summaskentryleftvalue ge_balance_negative_unit_actual_summaskentryleftvalue. (((((dc_left_unit_actual_summaskentry) = 2 * (ge_balance_positive_unit_actual_summaskentryleftvalue) /\ (ge_balance_negative_unit_actual_summaskentryleftvalue) = 0) \/ exists ge_signed_half_unit_actual_summaskentryleftvaluedecode. (((dc_left_unit_actual_summaskentry) = 2 * ge_signed_half_unit_actual_summaskentryleftvaluedecode + 1 /\ (ge_balance_positive_unit_actual_summaskentryleftvalue) = 0) /\ (ge_balance_negative_unit_actual_summaskentryleftvalue) = S ge_signed_half_unit_actual_summaskentryleftvaluedecode))) /\ ((dst_positive_unit_actual_summaskentryleft) + ge_balance_negative_unit_actual_summaskentryleftvalue = (dst_negative_unit_actual_summaskentryleft) + ge_balance_positive_unit_actual_summaskentryleftvalue))))))))) /\ (((exists dst_positive_code_unit_actual_summaskentryright dst_positive_scale_unit_actual_summaskentryright dst_negative_code_unit_actual_summaskentryright dst_negative_scale_unit_actual_summaskentryright dst_positive_unit_actual_summaskentryright dst_negative_unit_actual_summaskentryright. (((E) = (((((dst_positive_code_unit_actual_summaskentryright) + (dst_positive_scale_unit_actual_summaskentryright)) * S ((dst_positive_code_unit_actual_summaskentryright) + (dst_positive_scale_unit_actual_summaskentryright)) + ((dst_positive_scale_unit_actual_summaskentryright) + (dst_positive_scale_unit_actual_summaskentryright))) + (((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) * S ((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) + ((dst_negative_scale_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)))) * S ((((dst_positive_code_unit_actual_summaskentryright) + (dst_positive_scale_unit_actual_summaskentryright)) * S ((dst_positive_code_unit_actual_summaskentryright) + (dst_positive_scale_unit_actual_summaskentryright)) + ((dst_positive_scale_unit_actual_summaskentryright) + (dst_positive_scale_unit_actual_summaskentryright))) + (((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) * S ((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) + ((dst_negative_scale_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)))) + ((((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) * S ((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) + ((dst_negative_scale_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright))) + (((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) * S ((dst_negative_code_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)) + ((dst_negative_scale_unit_actual_summaskentryright) + (dst_negative_scale_unit_actual_summaskentryright)))))) /\ (((((exists ff_h_pvs_unit_actual_summaskentryrightpositive. ff_h_pvs_unit_actual_summaskentryrightpositive + S (dst_positive_unit_actual_summaskentryright) = S ((S (dc_quotient_unit_actual_summaskentry)) * dst_positive_scale_unit_actual_summaskentryright)) /\ exists ff_q_pvs_unit_actual_summaskentryrightpositive. dst_positive_code_unit_actual_summaskentryright = ff_q_pvs_unit_actual_summaskentryrightpositive * S ((S (dc_quotient_unit_actual_summaskentry)) * dst_positive_scale_unit_actual_summaskentryright) + (dst_positive_unit_actual_summaskentryright))) /\ (((((exists ff_h_pvs_unit_actual_summaskentryrightnegative. ff_h_pvs_unit_actual_summaskentryrightnegative + S (dst_negative_unit_actual_summaskentryright) = S ((S (dc_quotient_unit_actual_summaskentry)) * dst_negative_scale_unit_actual_summaskentryright)) /\ exists ff_q_pvs_unit_actual_summaskentryrightnegative. dst_negative_code_unit_actual_summaskentryright = ff_q_pvs_unit_actual_summaskentryrightnegative * S ((S (dc_quotient_unit_actual_summaskentry)) * dst_negative_scale_unit_actual_summaskentryright) + (dst_negative_unit_actual_summaskentryright))) /\ (exists ge_balance_positive_unit_actual_summaskentryrightvalue ge_balance_negative_unit_actual_summaskentryrightvalue. (((((dc_right_unit_actual_summaskentry) = 2 * (ge_balance_positive_unit_actual_summaskentryrightvalue) /\ (ge_balance_negative_unit_actual_summaskentryrightvalue) = 0) \/ exists ge_signed_half_unit_actual_summaskentryrightvaluedecode. (((dc_right_unit_actual_summaskentry) = 2 * ge_signed_half_unit_actual_summaskentryrightvaluedecode + 1 /\ (ge_balance_positive_unit_actual_summaskentryrightvalue) = 0) /\ (ge_balance_negative_unit_actual_summaskentryrightvalue) = S ge_signed_half_unit_actual_summaskentryrightvaluedecode))) /\ ((dst_positive_unit_actual_summaskentryright) + ge_balance_negative_unit_actual_summaskentryrightvalue = (dst_negative_unit_actual_summaskentryright) + ge_balance_positive_unit_actual_summaskentryrightvalue))))))))) /\ (exists sto_ap_unit_actual_summaskentryproduct sto_an_unit_actual_summaskentryproduct sto_bp_unit_actual_summaskentryproduct sto_bn_unit_actual_summaskentryproduct sto_cp_unit_actual_summaskentryproduct sto_cn_unit_actual_summaskentryproduct. (((((dc_left_unit_actual_summaskentry) = 2 * (sto_ap_unit_actual_summaskentryproduct) /\ (sto_an_unit_actual_summaskentryproduct) = 0) \/ exists ge_signed_half_unit_actual_summaskentryproductleft. (((dc_left_unit_actual_summaskentry) = 2 * ge_signed_half_unit_actual_summaskentryproductleft + 1 /\ (sto_ap_unit_actual_summaskentryproduct) = 0) /\ (sto_an_unit_actual_summaskentryproduct) = S ge_signed_half_unit_actual_summaskentryproductleft))) /\ ((((((dc_right_unit_actual_summaskentry) = 2 * (sto_bp_unit_actual_summaskentryproduct) /\ (sto_bn_unit_actual_summaskentryproduct) = 0) \/ exists ge_signed_half_unit_actual_summaskentryproductright. (((dc_right_unit_actual_summaskentry) = 2 * ge_signed_half_unit_actual_summaskentryproductright + 1 /\ (sto_bp_unit_actual_summaskentryproduct) = 0) /\ (sto_bn_unit_actual_summaskentryproduct) = S ge_signed_half_unit_actual_summaskentryproductright))) /\ ((((((dc_value_unit_actual_summask) = 2 * (sto_cp_unit_actual_summaskentryproduct) /\ (sto_cn_unit_actual_summaskentryproduct) = 0) \/ exists ge_signed_half_unit_actual_summaskentryproductoutput. (((dc_value_unit_actual_summask) = 2 * ge_signed_half_unit_actual_summaskentryproductoutput + 1 /\ (sto_cp_unit_actual_summaskentryproduct) = 0) /\ (sto_cn_unit_actual_summaskentryproduct) = S ge_signed_half_unit_actual_summaskentryproductoutput))) /\ ((sto_ap_unit_actual_summaskentryproduct * sto_bp_unit_actual_summaskentryproduct + sto_an_unit_actual_summaskentryproduct * sto_bn_unit_actual_summaskentryproduct) + sto_cn_unit_actual_summaskentryproduct = (sto_ap_unit_actual_summaskentryproduct * sto_bn_unit_actual_summaskentryproduct + sto_an_unit_actual_summaskentryproduct * sto_bp_unit_actual_summaskentryproduct) + sto_cp_unit_actual_summaskentryproduct))))))))))))))) \/ ((((dc_index_unit_actual_summask)=0 \/ ~(exists pvs_factor_unit_actual_summaskentrynondivisor. (n) = (dc_index_unit_actual_summask) * pvs_factor_unit_actual_summaskentrynondivisor)) /\ ((dc_value_unit_actual_summask)=0))))))) /\ (exists dst_positive_code_unit_actual_sumfold dst_positive_scale_unit_actual_sumfold dst_negative_code_unit_actual_sumfold dst_negative_scale_unit_actual_sumfold dst_positive_sum_unit_actual_sumfold dst_negative_sum_unit_actual_sumfold. (((dc_mask_unit_actual_sum) = (((((dst_positive_code_unit_actual_sumfold) + (dst_positive_scale_unit_actual_sumfold)) * S ((dst_positive_code_unit_actual_sumfold) + (dst_positive_scale_unit_actual_sumfold)) + ((dst_positive_scale_unit_actual_sumfold) + (dst_positive_scale_unit_actual_sumfold))) + (((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) * S ((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) + ((dst_negative_scale_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)))) * S ((((dst_positive_code_unit_actual_sumfold) + (dst_positive_scale_unit_actual_sumfold)) * S ((dst_positive_code_unit_actual_sumfold) + (dst_positive_scale_unit_actual_sumfold)) + ((dst_positive_scale_unit_actual_sumfold) + (dst_positive_scale_unit_actual_sumfold))) + (((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) * S ((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) + ((dst_negative_scale_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)))) + ((((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) * S ((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) + ((dst_negative_scale_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold))) + (((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) * S ((dst_negative_code_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)) + ((dst_negative_scale_unit_actual_sumfold) + (dst_negative_scale_unit_actual_sumfold)))))) /\ (((exists fs_u_dst_unit_actual_sumfoldpositive fs_v_dst_unit_actual_sumfoldpositive. ((((exists fs_h_dst_unit_actual_sumfoldpositive_body_start. fs_h_dst_unit_actual_sumfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_unit_actual_sumfoldpositive)) /\ exists fs_q_dst_unit_actual_sumfoldpositive_body_start. fs_u_dst_unit_actual_sumfoldpositive = fs_q_dst_unit_actual_sumfoldpositive_body_start * S ((S (0)) * fs_v_dst_unit_actual_sumfoldpositive) + (0))) /\ ((((exists fs_h_dst_unit_actual_sumfoldpositive_body_terminal. fs_h_dst_unit_actual_sumfoldpositive_body_terminal + S (dst_positive_sum_unit_actual_sumfold) = S ((S (S (n))) * fs_v_dst_unit_actual_sumfoldpositive)) /\ exists fs_q_dst_unit_actual_sumfoldpositive_body_terminal. fs_u_dst_unit_actual_sumfoldpositive = fs_q_dst_unit_actual_sumfoldpositive_body_terminal * S ((S (S (n))) * fs_v_dst_unit_actual_sumfoldpositive) + (dst_positive_sum_unit_actual_sumfold))) /\ forall fs_i_dst_unit_actual_sumfoldpositive_body_steps. (exists fs_lt_dst_unit_actual_sumfoldpositive_body_steps_bound. fs_lt_dst_unit_actual_sumfoldpositive_body_steps_bound + S fs_i_dst_unit_actual_sumfoldpositive_body_steps = S (n)) -> exists fs_a_dst_unit_actual_sumfoldpositive_body_steps fs_r_dst_unit_actual_sumfoldpositive_body_steps fs_s_dst_unit_actual_sumfoldpositive_body_steps. ((((exists fs_h_dst_unit_actual_sumfoldpositive_body_steps_summand. fs_h_dst_unit_actual_sumfoldpositive_body_steps_summand + S (fs_a_dst_unit_actual_sumfoldpositive_body_steps) = S ((S (fs_i_dst_unit_actual_sumfoldpositive_body_steps)) * dst_positive_scale_unit_actual_sumfold)) /\ exists fs_q_dst_unit_actual_sumfoldpositive_body_steps_summand. dst_positive_code_unit_actual_sumfold = fs_q_dst_unit_actual_sumfoldpositive_body_steps_summand * S ((S (fs_i_dst_unit_actual_sumfoldpositive_body_steps)) * dst_positive_scale_unit_actual_sumfold) + (fs_a_dst_unit_actual_sumfoldpositive_body_steps))) /\ ((((exists fs_h_dst_unit_actual_sumfoldpositive_body_steps_partial. fs_h_dst_unit_actual_sumfoldpositive_body_steps_partial + S (fs_r_dst_unit_actual_sumfoldpositive_body_steps) = S ((S (fs_i_dst_unit_actual_sumfoldpositive_body_steps)) * fs_v_dst_unit_actual_sumfoldpositive)) /\ exists fs_q_dst_unit_actual_sumfoldpositive_body_steps_partial. fs_u_dst_unit_actual_sumfoldpositive = fs_q_dst_unit_actual_sumfoldpositive_body_steps_partial * S ((S (fs_i_dst_unit_actual_sumfoldpositive_body_steps)) * fs_v_dst_unit_actual_sumfoldpositive) + (fs_r_dst_unit_actual_sumfoldpositive_body_steps))) /\ ((((exists fs_h_dst_unit_actual_sumfoldpositive_body_steps_successor. fs_h_dst_unit_actual_sumfoldpositive_body_steps_successor + S (fs_s_dst_unit_actual_sumfoldpositive_body_steps) = S ((S (S fs_i_dst_unit_actual_sumfoldpositive_body_steps)) * fs_v_dst_unit_actual_sumfoldpositive)) /\ exists fs_q_dst_unit_actual_sumfoldpositive_body_steps_successor. fs_u_dst_unit_actual_sumfoldpositive = fs_q_dst_unit_actual_sumfoldpositive_body_steps_successor * S ((S (S fs_i_dst_unit_actual_sumfoldpositive_body_steps)) * fs_v_dst_unit_actual_sumfoldpositive) + (fs_s_dst_unit_actual_sumfoldpositive_body_steps))) /\ fs_s_dst_unit_actual_sumfoldpositive_body_steps = fs_r_dst_unit_actual_sumfoldpositive_body_steps + fs_a_dst_unit_actual_sumfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_unit_actual_sumfoldnegative fs_v_dst_unit_actual_sumfoldnegative. ((((exists fs_h_dst_unit_actual_sumfoldnegative_body_start. fs_h_dst_unit_actual_sumfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_unit_actual_sumfoldnegative)) /\ exists fs_q_dst_unit_actual_sumfoldnegative_body_start. fs_u_dst_unit_actual_sumfoldnegative = fs_q_dst_unit_actual_sumfoldnegative_body_start * S ((S (0)) * fs_v_dst_unit_actual_sumfoldnegative) + (0))) /\ ((((exists fs_h_dst_unit_actual_sumfoldnegative_body_terminal. fs_h_dst_unit_actual_sumfoldnegative_body_terminal + S (dst_negative_sum_unit_actual_sumfold) = S ((S (S (n))) * fs_v_dst_unit_actual_sumfoldnegative)) /\ exists fs_q_dst_unit_actual_sumfoldnegative_body_terminal. fs_u_dst_unit_actual_sumfoldnegative = fs_q_dst_unit_actual_sumfoldnegative_body_terminal * S ((S (S (n))) * fs_v_dst_unit_actual_sumfoldnegative) + (dst_negative_sum_unit_actual_sumfold))) /\ forall fs_i_dst_unit_actual_sumfoldnegative_body_steps. (exists fs_lt_dst_unit_actual_sumfoldnegative_body_steps_bound. fs_lt_dst_unit_actual_sumfoldnegative_body_steps_bound + S fs_i_dst_unit_actual_sumfoldnegative_body_steps = S (n)) -> exists fs_a_dst_unit_actual_sumfoldnegative_body_steps fs_r_dst_unit_actual_sumfoldnegative_body_steps fs_s_dst_unit_actual_sumfoldnegative_body_steps. ((((exists fs_h_dst_unit_actual_sumfoldnegative_body_steps_summand. fs_h_dst_unit_actual_sumfoldnegative_body_steps_summand + S (fs_a_dst_unit_actual_sumfoldnegative_body_steps) = S ((S (fs_i_dst_unit_actual_sumfoldnegative_body_steps)) * dst_negative_scale_unit_actual_sumfold)) /\ exists fs_q_dst_unit_actual_sumfoldnegative_body_steps_summand. dst_negative_code_unit_actual_sumfold = fs_q_dst_unit_actual_sumfoldnegative_body_steps_summand * S ((S (fs_i_dst_unit_actual_sumfoldnegative_body_steps)) * dst_negative_scale_unit_actual_sumfold) + (fs_a_dst_unit_actual_sumfoldnegative_body_steps))) /\ ((((exists fs_h_dst_unit_actual_sumfoldnegative_body_steps_partial. fs_h_dst_unit_actual_sumfoldnegative_body_steps_partial + S (fs_r_dst_unit_actual_sumfoldnegative_body_steps) = S ((S (fs_i_dst_unit_actual_sumfoldnegative_body_steps)) * fs_v_dst_unit_actual_sumfoldnegative)) /\ exists fs_q_dst_unit_actual_sumfoldnegative_body_steps_partial. fs_u_dst_unit_actual_sumfoldnegative = fs_q_dst_unit_actual_sumfoldnegative_body_steps_partial * S ((S (fs_i_dst_unit_actual_sumfoldnegative_body_steps)) * fs_v_dst_unit_actual_sumfoldnegative) + (fs_r_dst_unit_actual_sumfoldnegative_body_steps))) /\ ((((exists fs_h_dst_unit_actual_sumfoldnegative_body_steps_successor. fs_h_dst_unit_actual_sumfoldnegative_body_steps_successor + S (fs_s_dst_unit_actual_sumfoldnegative_body_steps) = S ((S (S fs_i_dst_unit_actual_sumfoldnegative_body_steps)) * fs_v_dst_unit_actual_sumfoldnegative)) /\ exists fs_q_dst_unit_actual_sumfoldnegative_body_steps_successor. fs_u_dst_unit_actual_sumfoldnegative = fs_q_dst_unit_actual_sumfoldnegative_body_steps_successor * S ((S (S fs_i_dst_unit_actual_sumfoldnegative_body_steps)) * fs_v_dst_unit_actual_sumfoldnegative) + (fs_s_dst_unit_actual_sumfoldnegative_body_steps))) /\ fs_s_dst_unit_actual_sumfoldnegative_body_steps = fs_r_dst_unit_actual_sumfoldnegative_body_steps + fs_a_dst_unit_actual_sumfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_unit_actual_sumfoldresult ge_balance_negative_unit_actual_sumfoldresult. (((((z) = 2 * (ge_balance_positive_unit_actual_sumfoldresult) /\ (ge_balance_negative_unit_actual_sumfoldresult) = 0) \/ exists ge_signed_half_unit_actual_sumfoldresultdecode. (((z) = 2 * ge_signed_half_unit_actual_sumfoldresultdecode + 1 /\ (ge_balance_positive_unit_actual_sumfoldresult) = 0) /\ (ge_balance_negative_unit_actual_sumfoldresult) = S ge_signed_half_unit_actual_sumfoldresultdecode))) /\ ((dst_positive_sum_unit_actual_sumfold) + ge_balance_negative_unit_actual_sumfoldresult = (dst_negative_sum_unit_actual_sumfold) + ge_balance_positive_unit_actual_sumfoldresult)))))))))))))
  13. 0013specialize dirichlet_convolution_sum_exists (N)
  14. 0014specialize dirichlet_convolution_sum_exists (F)
  15. 0015specialize dirichlet_convolution_sum_exists (E)
  16. 0016specialize dirichlet_convolution_sum_exists (n)
  17. 0017apply dirichlet_convolution_sum_exists
  18. 0018exact hf
  19. 0019exact hd_left
  20. 0020exact hn
  21. 0021exact hb
  22. 0022cases hc
  23. 0023have he : x=a
  24. 0024specialize dirichlet_delta_right_sum_value (N)
  25. 0025specialize dirichlet_delta_right_sum_value (F)
  26. 0026specialize dirichlet_delta_right_sum_value (E)
  27. 0027specialize dirichlet_delta_right_sum_value (n)
  28. 0028specialize dirichlet_delta_right_sum_value (a)
  29. 0029specialize dirichlet_delta_right_sum_value (x)
  30. 0030apply dirichlet_delta_right_sum_value
  31. 0031exact hd
  32. 0032exact hb
  33. 0033exact ha
  34. 0034exact hc_witness
  35. 0035rewrite he at hc_witness
  36. 0036rewrite he at hc_witness
  37. 0037exact hc_witness