DF0019

dirichlet_factor_row_sum_product

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

Construct the actual inner convolution sum, prove its positive quotient bound, remove its zero padding and identify the row total by actual signed scalar linearity.

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 F G H n a q u V z. (exists dst_positive_code_row_sum_H dst_positive_scale_row_sum_H dst_negative_code_row_sum_H dst_negative_scale_row_sum_H. (((H) = (((((dst_positive_code_row_sum_H) + (dst_positive_scale_row_sum_H)) * S ((dst_positive_code_row_sum_H) + (dst_positive_scale_row_sum_H)) + ((dst_positive_scale_row_sum_H) + (dst_positive_scale_row_sum_H))) + (((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) * S ((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) + ((dst_negative_scale_row_sum_H) + (dst_negative_scale_row_sum_H)))) * S ((((dst_positive_code_row_sum_H) + (dst_positive_scale_row_sum_H)) * S ((dst_positive_code_row_sum_H) + (dst_positive_scale_row_sum_H)) + ((dst_positive_scale_row_sum_H) + (dst_positive_scale_row_sum_H))) + (((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) * S ((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) + ((dst_negative_scale_row_sum_H) + (dst_negative_scale_row_sum_H)))) + ((((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) * S ((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) + ((dst_negative_scale_row_sum_H) + (dst_negative_scale_row_sum_H))) + (((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) * S ((dst_negative_code_row_sum_H) + (dst_negative_scale_row_sum_H)) + ((dst_negative_scale_row_sum_H) + (dst_negative_scale_row_sum_H)))))) /\ (forall dst_index_row_sum_H. (exists pvs_le_gap_row_sum_Hdomain. pvs_le_gap_row_sum_Hdomain + (dst_index_row_sum_H) = (0)) -> exists dst_positive_row_sum_H dst_negative_row_sum_H dst_value_row_sum_H. ((((exists ff_h_pvs_row_sum_Hentrypositive. ff_h_pvs_row_sum_Hentrypositive + S (dst_positive_row_sum_H) = S ((S (dst_index_row_sum_H)) * dst_positive_scale_row_sum_H)) /\ exists ff_q_pvs_row_sum_Hentrypositive. dst_positive_code_row_sum_H = ff_q_pvs_row_sum_Hentrypositive * S ((S (dst_index_row_sum_H)) * dst_positive_scale_row_sum_H) + (dst_positive_row_sum_H))) /\ (((((exists ff_h_pvs_row_sum_Hentrynegative. ff_h_pvs_row_sum_Hentrynegative + S (dst_negative_row_sum_H) = S ((S (dst_index_row_sum_H)) * dst_negative_scale_row_sum_H)) /\ exists ff_q_pvs_row_sum_Hentrynegative. dst_negative_code_row_sum_H = ff_q_pvs_row_sum_Hentrynegative * S ((S (dst_index_row_sum_H)) * dst_negative_scale_row_sum_H) + (dst_negative_row_sum_H))) /\ (exists ge_balance_positive_row_sum_Hentryvalue ge_balance_negative_row_sum_Hentryvalue. (((((dst_value_row_sum_H) = 2 * (ge_balance_positive_row_sum_Hentryvalue) /\ (ge_balance_negative_row_sum_Hentryvalue) = 0) \/ exists ge_signed_half_row_sum_Hentryvaluedecode. (((dst_value_row_sum_H) = 2 * ge_signed_half_row_sum_Hentryvaluedecode + 1 /\ (ge_balance_positive_row_sum_Hentryvalue) = 0) /\ (ge_balance_negative_row_sum_Hentryvalue) = S ge_signed_half_row_sum_Hentryvaluedecode))) /\ ((dst_positive_row_sum_H) + ge_balance_negative_row_sum_Hentryvalue = (dst_negative_row_sum_H) + ge_balance_positive_row_sum_Hentryvalue))))))))) -> (exists dst_positive_code_row_sum_G dst_positive_scale_row_sum_G dst_negative_code_row_sum_G dst_negative_scale_row_sum_G. (((G) = (((((dst_positive_code_row_sum_G) + (dst_positive_scale_row_sum_G)) * S ((dst_positive_code_row_sum_G) + (dst_positive_scale_row_sum_G)) + ((dst_positive_scale_row_sum_G) + (dst_positive_scale_row_sum_G))) + (((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) * S ((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) + ((dst_negative_scale_row_sum_G) + (dst_negative_scale_row_sum_G)))) * S ((((dst_positive_code_row_sum_G) + (dst_positive_scale_row_sum_G)) * S ((dst_positive_code_row_sum_G) + (dst_positive_scale_row_sum_G)) + ((dst_positive_scale_row_sum_G) + (dst_positive_scale_row_sum_G))) + (((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) * S ((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) + ((dst_negative_scale_row_sum_G) + (dst_negative_scale_row_sum_G)))) + ((((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) * S ((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) + ((dst_negative_scale_row_sum_G) + (dst_negative_scale_row_sum_G))) + (((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) * S ((dst_negative_code_row_sum_G) + (dst_negative_scale_row_sum_G)) + ((dst_negative_scale_row_sum_G) + (dst_negative_scale_row_sum_G)))))) /\ (forall dst_index_row_sum_G. (exists pvs_le_gap_row_sum_Gdomain. pvs_le_gap_row_sum_Gdomain + (dst_index_row_sum_G) = (0)) -> exists dst_positive_row_sum_G dst_negative_row_sum_G dst_value_row_sum_G. ((((exists ff_h_pvs_row_sum_Gentrypositive. ff_h_pvs_row_sum_Gentrypositive + S (dst_positive_row_sum_G) = S ((S (dst_index_row_sum_G)) * dst_positive_scale_row_sum_G)) /\ exists ff_q_pvs_row_sum_Gentrypositive. dst_positive_code_row_sum_G = ff_q_pvs_row_sum_Gentrypositive * S ((S (dst_index_row_sum_G)) * dst_positive_scale_row_sum_G) + (dst_positive_row_sum_G))) /\ (((((exists ff_h_pvs_row_sum_Gentrynegative. ff_h_pvs_row_sum_Gentrynegative + S (dst_negative_row_sum_G) = S ((S (dst_index_row_sum_G)) * dst_negative_scale_row_sum_G)) /\ exists ff_q_pvs_row_sum_Gentrynegative. dst_negative_code_row_sum_G = ff_q_pvs_row_sum_Gentrynegative * S ((S (dst_index_row_sum_G)) * dst_negative_scale_row_sum_G) + (dst_negative_row_sum_G))) /\ (exists ge_balance_positive_row_sum_Gentryvalue ge_balance_negative_row_sum_Gentryvalue. (((((dst_value_row_sum_G) = 2 * (ge_balance_positive_row_sum_Gentryvalue) /\ (ge_balance_negative_row_sum_Gentryvalue) = 0) \/ exists ge_signed_half_row_sum_Gentryvaluedecode. (((dst_value_row_sum_G) = 2 * ge_signed_half_row_sum_Gentryvaluedecode + 1 /\ (ge_balance_positive_row_sum_Gentryvalue) = 0) /\ (ge_balance_negative_row_sum_Gentryvalue) = S ge_signed_half_row_sum_Gentryvaluedecode))) /\ ((dst_positive_row_sum_G) + ge_balance_negative_row_sum_Gentryvalue = (dst_negative_row_sum_G) + ge_balance_positive_row_sum_Gentryvalue))))))))) -> ~(n=0) -> ~(a=0) -> n=a*q -> (exists dst_positive_code_row_sum_first dst_positive_scale_row_sum_first dst_negative_code_row_sum_first dst_negative_scale_row_sum_first dst_positive_row_sum_first dst_negative_row_sum_first. (((F) = (((((dst_positive_code_row_sum_first) + (dst_positive_scale_row_sum_first)) * S ((dst_positive_code_row_sum_first) + (dst_positive_scale_row_sum_first)) + ((dst_positive_scale_row_sum_first) + (dst_positive_scale_row_sum_first))) + (((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) * S ((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) + ((dst_negative_scale_row_sum_first) + (dst_negative_scale_row_sum_first)))) * S ((((dst_positive_code_row_sum_first) + (dst_positive_scale_row_sum_first)) * S ((dst_positive_code_row_sum_first) + (dst_positive_scale_row_sum_first)) + ((dst_positive_scale_row_sum_first) + (dst_positive_scale_row_sum_first))) + (((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) * S ((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) + ((dst_negative_scale_row_sum_first) + (dst_negative_scale_row_sum_first)))) + ((((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) * S ((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) + ((dst_negative_scale_row_sum_first) + (dst_negative_scale_row_sum_first))) + (((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) * S ((dst_negative_code_row_sum_first) + (dst_negative_scale_row_sum_first)) + ((dst_negative_scale_row_sum_first) + (dst_negative_scale_row_sum_first)))))) /\ (((((exists ff_h_pvs_row_sum_firstpositive. ff_h_pvs_row_sum_firstpositive + S (dst_positive_row_sum_first) = S ((S (a)) * dst_positive_scale_row_sum_first)) /\ exists ff_q_pvs_row_sum_firstpositive. dst_positive_code_row_sum_first = ff_q_pvs_row_sum_firstpositive * S ((S (a)) * dst_positive_scale_row_sum_first) + (dst_positive_row_sum_first))) /\ (((((exists ff_h_pvs_row_sum_firstnegative. ff_h_pvs_row_sum_firstnegative + S (dst_negative_row_sum_first) = S ((S (a)) * dst_negative_scale_row_sum_first)) /\ exists ff_q_pvs_row_sum_firstnegative. dst_negative_code_row_sum_first = ff_q_pvs_row_sum_firstnegative * S ((S (a)) * dst_negative_scale_row_sum_first) + (dst_negative_row_sum_first))) /\ (exists ge_balance_positive_row_sum_firstvalue ge_balance_negative_row_sum_firstvalue. (((((u) = 2 * (ge_balance_positive_row_sum_firstvalue) /\ (ge_balance_negative_row_sum_firstvalue) = 0) \/ exists ge_signed_half_row_sum_firstvaluedecode. (((u) = 2 * ge_signed_half_row_sum_firstvaluedecode + 1 /\ (ge_balance_positive_row_sum_firstvalue) = 0) /\ (ge_balance_negative_row_sum_firstvalue) = S ge_signed_half_row_sum_firstvaluedecode))) /\ ((dst_positive_row_sum_first) + ge_balance_negative_row_sum_firstvalue = (dst_negative_row_sum_first) + ge_balance_positive_row_sum_firstvalue))))))))) -> (((exists dst_positive_code_row_sum_valuestable dst_positive_scale_row_sum_valuestable dst_negative_code_row_sum_valuestable dst_negative_scale_row_sum_valuestable. (((V) = (((((dst_positive_code_row_sum_valuestable) + (dst_positive_scale_row_sum_valuestable)) * S ((dst_positive_code_row_sum_valuestable) + (dst_positive_scale_row_sum_valuestable)) + ((dst_positive_scale_row_sum_valuestable) + (dst_positive_scale_row_sum_valuestable))) + (((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) * S ((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) + ((dst_negative_scale_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)))) * S ((((dst_positive_code_row_sum_valuestable) + (dst_positive_scale_row_sum_valuestable)) * S ((dst_positive_code_row_sum_valuestable) + (dst_positive_scale_row_sum_valuestable)) + ((dst_positive_scale_row_sum_valuestable) + (dst_positive_scale_row_sum_valuestable))) + (((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) * S ((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) + ((dst_negative_scale_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)))) + ((((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) * S ((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) + ((dst_negative_scale_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable))) + (((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) * S ((dst_negative_code_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)) + ((dst_negative_scale_row_sum_valuestable) + (dst_negative_scale_row_sum_valuestable)))))) /\ (forall dst_index_row_sum_valuestable. (exists pvs_le_gap_row_sum_valuestabledomain. pvs_le_gap_row_sum_valuestabledomain + (dst_index_row_sum_valuestable) = (S (n))) -> exists dst_positive_row_sum_valuestable dst_negative_row_sum_valuestable dst_value_row_sum_valuestable. ((((exists ff_h_pvs_row_sum_valuestableentrypositive. ff_h_pvs_row_sum_valuestableentrypositive + S (dst_positive_row_sum_valuestable) = S ((S (dst_index_row_sum_valuestable)) * dst_positive_scale_row_sum_valuestable)) /\ exists ff_q_pvs_row_sum_valuestableentrypositive. dst_positive_code_row_sum_valuestable = ff_q_pvs_row_sum_valuestableentrypositive * S ((S (dst_index_row_sum_valuestable)) * dst_positive_scale_row_sum_valuestable) + (dst_positive_row_sum_valuestable))) /\ (((((exists ff_h_pvs_row_sum_valuestableentrynegative. ff_h_pvs_row_sum_valuestableentrynegative + S (dst_negative_row_sum_valuestable) = S ((S (dst_index_row_sum_valuestable)) * dst_negative_scale_row_sum_valuestable)) /\ exists ff_q_pvs_row_sum_valuestableentrynegative. dst_negative_code_row_sum_valuestable = ff_q_pvs_row_sum_valuestableentrynegative * S ((S (dst_index_row_sum_valuestable)) * dst_negative_scale_row_sum_valuestable) + (dst_negative_row_sum_valuestable))) /\ (exists ge_balance_positive_row_sum_valuestableentryvalue ge_balance_negative_row_sum_valuestableentryvalue. (((((dst_value_row_sum_valuestable) = 2 * (ge_balance_positive_row_sum_valuestableentryvalue) /\ (ge_balance_negative_row_sum_valuestableentryvalue) = 0) \/ exists ge_signed_half_row_sum_valuestableentryvaluedecode. (((dst_value_row_sum_valuestable) = 2 * ge_signed_half_row_sum_valuestableentryvaluedecode + 1 /\ (ge_balance_positive_row_sum_valuestableentryvalue) = 0) /\ (ge_balance_negative_row_sum_valuestableentryvalue) = S ge_signed_half_row_sum_valuestableentryvaluedecode))) /\ ((dst_positive_row_sum_valuestable) + ge_balance_negative_row_sum_valuestableentryvalue = (dst_negative_row_sum_valuestable) + ge_balance_positive_row_sum_valuestableentryvalue))))))))) /\ (forall dfg_factor_column_row_sum_values dfg_factor_value_row_sum_values. (exists pvs_le_gap_row_sum_valuesbound. pvs_le_gap_row_sum_valuesbound + (dfg_factor_column_row_sum_values) = (n)) -> (exists dst_positive_code_row_sum_valueslookup dst_positive_scale_row_sum_valueslookup dst_negative_code_row_sum_valueslookup dst_negative_scale_row_sum_valueslookup dst_positive_row_sum_valueslookup dst_negative_row_sum_valueslookup. (((V) = (((((dst_positive_code_row_sum_valueslookup) + (dst_positive_scale_row_sum_valueslookup)) * S ((dst_positive_code_row_sum_valueslookup) + (dst_positive_scale_row_sum_valueslookup)) + ((dst_positive_scale_row_sum_valueslookup) + (dst_positive_scale_row_sum_valueslookup))) + (((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) * S ((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) + ((dst_negative_scale_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)))) * S ((((dst_positive_code_row_sum_valueslookup) + (dst_positive_scale_row_sum_valueslookup)) * S ((dst_positive_code_row_sum_valueslookup) + (dst_positive_scale_row_sum_valueslookup)) + ((dst_positive_scale_row_sum_valueslookup) + (dst_positive_scale_row_sum_valueslookup))) + (((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) * S ((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) + ((dst_negative_scale_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)))) + ((((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) * S ((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) + ((dst_negative_scale_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup))) + (((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) * S ((dst_negative_code_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)) + ((dst_negative_scale_row_sum_valueslookup) + (dst_negative_scale_row_sum_valueslookup)))))) /\ (((((exists ff_h_pvs_row_sum_valueslookuppositive. ff_h_pvs_row_sum_valueslookuppositive + S (dst_positive_row_sum_valueslookup) = S ((S (dfg_factor_column_row_sum_values)) * dst_positive_scale_row_sum_valueslookup)) /\ exists ff_q_pvs_row_sum_valueslookuppositive. dst_positive_code_row_sum_valueslookup = ff_q_pvs_row_sum_valueslookuppositive * S ((S (dfg_factor_column_row_sum_values)) * dst_positive_scale_row_sum_valueslookup) + (dst_positive_row_sum_valueslookup))) /\ (((((exists ff_h_pvs_row_sum_valueslookupnegative. ff_h_pvs_row_sum_valueslookupnegative + S (dst_negative_row_sum_valueslookup) = S ((S (dfg_factor_column_row_sum_values)) * dst_negative_scale_row_sum_valueslookup)) /\ exists ff_q_pvs_row_sum_valueslookupnegative. dst_negative_code_row_sum_valueslookup = ff_q_pvs_row_sum_valueslookupnegative * S ((S (dfg_factor_column_row_sum_values)) * dst_negative_scale_row_sum_valueslookup) + (dst_negative_row_sum_valueslookup))) /\ (exists ge_balance_positive_row_sum_valueslookupvalue ge_balance_negative_row_sum_valueslookupvalue. (((((dfg_factor_value_row_sum_values) = 2 * (ge_balance_positive_row_sum_valueslookupvalue) /\ (ge_balance_negative_row_sum_valueslookupvalue) = 0) \/ exists ge_signed_half_row_sum_valueslookupvaluedecode. (((dfg_factor_value_row_sum_values) = 2 * ge_signed_half_row_sum_valueslookupvaluedecode + 1 /\ (ge_balance_positive_row_sum_valueslookupvalue) = 0) /\ (ge_balance_negative_row_sum_valueslookupvalue) = S ge_signed_half_row_sum_valueslookupvaluedecode))) /\ ((dst_positive_row_sum_valueslookup) + ge_balance_negative_row_sum_valueslookupvalue = (dst_negative_row_sum_valueslookup) + ge_balance_positive_row_sum_valueslookupvalue))))))))) -> ((((~((a)=0)) /\ (((~((dfg_factor_column_row_sum_values)=0)) /\ (exists dfg_middle_row_sum_valuesentry dfg_first_row_sum_valuesentry dfg_last_row_sum_valuesentry dfg_value_row_sum_valuesentry. (((n)=((a)*(dfg_factor_column_row_sum_values))*dfg_middle_row_sum_valuesentry) /\ (((exists dst_positive_code_row_sum_valuesentryfirst dst_positive_scale_row_sum_valuesentryfirst dst_negative_code_row_sum_valuesentryfirst dst_negative_scale_row_sum_valuesentryfirst dst_positive_row_sum_valuesentryfirst dst_negative_row_sum_valuesentryfirst. (((F) = (((((dst_positive_code_row_sum_valuesentryfirst) + (dst_positive_scale_row_sum_valuesentryfirst)) * S ((dst_positive_code_row_sum_valuesentryfirst) + (dst_positive_scale_row_sum_valuesentryfirst)) + ((dst_positive_scale_row_sum_valuesentryfirst) + (dst_positive_scale_row_sum_valuesentryfirst))) + (((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) * S ((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) + ((dst_negative_scale_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)))) * S ((((dst_positive_code_row_sum_valuesentryfirst) + (dst_positive_scale_row_sum_valuesentryfirst)) * S ((dst_positive_code_row_sum_valuesentryfirst) + (dst_positive_scale_row_sum_valuesentryfirst)) + ((dst_positive_scale_row_sum_valuesentryfirst) + (dst_positive_scale_row_sum_valuesentryfirst))) + (((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) * S ((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) + ((dst_negative_scale_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)))) + ((((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) * S ((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) + ((dst_negative_scale_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst))) + (((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) * S ((dst_negative_code_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)) + ((dst_negative_scale_row_sum_valuesentryfirst) + (dst_negative_scale_row_sum_valuesentryfirst)))))) /\ (((((exists ff_h_pvs_row_sum_valuesentryfirstpositive. ff_h_pvs_row_sum_valuesentryfirstpositive + S (dst_positive_row_sum_valuesentryfirst) = S ((S (a)) * dst_positive_scale_row_sum_valuesentryfirst)) /\ exists ff_q_pvs_row_sum_valuesentryfirstpositive. dst_positive_code_row_sum_valuesentryfirst = ff_q_pvs_row_sum_valuesentryfirstpositive * S ((S (a)) * dst_positive_scale_row_sum_valuesentryfirst) + (dst_positive_row_sum_valuesentryfirst))) /\ (((((exists ff_h_pvs_row_sum_valuesentryfirstnegative. ff_h_pvs_row_sum_valuesentryfirstnegative + S (dst_negative_row_sum_valuesentryfirst) = S ((S (a)) * dst_negative_scale_row_sum_valuesentryfirst)) /\ exists ff_q_pvs_row_sum_valuesentryfirstnegative. dst_negative_code_row_sum_valuesentryfirst = ff_q_pvs_row_sum_valuesentryfirstnegative * S ((S (a)) * dst_negative_scale_row_sum_valuesentryfirst) + (dst_negative_row_sum_valuesentryfirst))) /\ (exists ge_balance_positive_row_sum_valuesentryfirstvalue ge_balance_negative_row_sum_valuesentryfirstvalue. (((((dfg_first_row_sum_valuesentry) = 2 * (ge_balance_positive_row_sum_valuesentryfirstvalue) /\ (ge_balance_negative_row_sum_valuesentryfirstvalue) = 0) \/ exists ge_signed_half_row_sum_valuesentryfirstvaluedecode. (((dfg_first_row_sum_valuesentry) = 2 * ge_signed_half_row_sum_valuesentryfirstvaluedecode + 1 /\ (ge_balance_positive_row_sum_valuesentryfirstvalue) = 0) /\ (ge_balance_negative_row_sum_valuesentryfirstvalue) = S ge_signed_half_row_sum_valuesentryfirstvaluedecode))) /\ ((dst_positive_row_sum_valuesentryfirst) + ge_balance_negative_row_sum_valuesentryfirstvalue = (dst_negative_row_sum_valuesentryfirst) + ge_balance_positive_row_sum_valuesentryfirstvalue))))))))) /\ (((exists dst_positive_code_row_sum_valuesentrylast dst_positive_scale_row_sum_valuesentrylast dst_negative_code_row_sum_valuesentrylast dst_negative_scale_row_sum_valuesentrylast dst_positive_row_sum_valuesentrylast dst_negative_row_sum_valuesentrylast. (((H) = (((((dst_positive_code_row_sum_valuesentrylast) + (dst_positive_scale_row_sum_valuesentrylast)) * S ((dst_positive_code_row_sum_valuesentrylast) + (dst_positive_scale_row_sum_valuesentrylast)) + ((dst_positive_scale_row_sum_valuesentrylast) + (dst_positive_scale_row_sum_valuesentrylast))) + (((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) * S ((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) + ((dst_negative_scale_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)))) * S ((((dst_positive_code_row_sum_valuesentrylast) + (dst_positive_scale_row_sum_valuesentrylast)) * S ((dst_positive_code_row_sum_valuesentrylast) + (dst_positive_scale_row_sum_valuesentrylast)) + ((dst_positive_scale_row_sum_valuesentrylast) + (dst_positive_scale_row_sum_valuesentrylast))) + (((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) * S ((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) + ((dst_negative_scale_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)))) + ((((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) * S ((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) + ((dst_negative_scale_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast))) + (((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) * S ((dst_negative_code_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)) + ((dst_negative_scale_row_sum_valuesentrylast) + (dst_negative_scale_row_sum_valuesentrylast)))))) /\ (((((exists ff_h_pvs_row_sum_valuesentrylastpositive. ff_h_pvs_row_sum_valuesentrylastpositive + S (dst_positive_row_sum_valuesentrylast) = S ((S (dfg_factor_column_row_sum_values)) * dst_positive_scale_row_sum_valuesentrylast)) /\ exists ff_q_pvs_row_sum_valuesentrylastpositive. dst_positive_code_row_sum_valuesentrylast = ff_q_pvs_row_sum_valuesentrylastpositive * S ((S (dfg_factor_column_row_sum_values)) * dst_positive_scale_row_sum_valuesentrylast) + (dst_positive_row_sum_valuesentrylast))) /\ (((((exists ff_h_pvs_row_sum_valuesentrylastnegative. ff_h_pvs_row_sum_valuesentrylastnegative + S (dst_negative_row_sum_valuesentrylast) = S ((S (dfg_factor_column_row_sum_values)) * dst_negative_scale_row_sum_valuesentrylast)) /\ exists ff_q_pvs_row_sum_valuesentrylastnegative. dst_negative_code_row_sum_valuesentrylast = ff_q_pvs_row_sum_valuesentrylastnegative * S ((S (dfg_factor_column_row_sum_values)) * dst_negative_scale_row_sum_valuesentrylast) + (dst_negative_row_sum_valuesentrylast))) /\ (exists ge_balance_positive_row_sum_valuesentrylastvalue ge_balance_negative_row_sum_valuesentrylastvalue. (((((dfg_last_row_sum_valuesentry) = 2 * (ge_balance_positive_row_sum_valuesentrylastvalue) /\ (ge_balance_negative_row_sum_valuesentrylastvalue) = 0) \/ exists ge_signed_half_row_sum_valuesentrylastvaluedecode. (((dfg_last_row_sum_valuesentry) = 2 * ge_signed_half_row_sum_valuesentrylastvaluedecode + 1 /\ (ge_balance_positive_row_sum_valuesentrylastvalue) = 0) /\ (ge_balance_negative_row_sum_valuesentrylastvalue) = S ge_signed_half_row_sum_valuesentrylastvaluedecode))) /\ ((dst_positive_row_sum_valuesentrylast) + ge_balance_negative_row_sum_valuesentrylastvalue = (dst_negative_row_sum_valuesentrylast) + ge_balance_positive_row_sum_valuesentrylastvalue))))))))) /\ (((exists dst_positive_code_row_sum_valuesentrymiddle dst_positive_scale_row_sum_valuesentrymiddle dst_negative_code_row_sum_valuesentrymiddle dst_negative_scale_row_sum_valuesentrymiddle dst_positive_row_sum_valuesentrymiddle dst_negative_row_sum_valuesentrymiddle. (((G) = (((((dst_positive_code_row_sum_valuesentrymiddle) + (dst_positive_scale_row_sum_valuesentrymiddle)) * S ((dst_positive_code_row_sum_valuesentrymiddle) + (dst_positive_scale_row_sum_valuesentrymiddle)) + ((dst_positive_scale_row_sum_valuesentrymiddle) + (dst_positive_scale_row_sum_valuesentrymiddle))) + (((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) * S ((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) + ((dst_negative_scale_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)))) * S ((((dst_positive_code_row_sum_valuesentrymiddle) + (dst_positive_scale_row_sum_valuesentrymiddle)) * S ((dst_positive_code_row_sum_valuesentrymiddle) + (dst_positive_scale_row_sum_valuesentrymiddle)) + ((dst_positive_scale_row_sum_valuesentrymiddle) + (dst_positive_scale_row_sum_valuesentrymiddle))) + (((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) * S ((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) + ((dst_negative_scale_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)))) + ((((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) * S ((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) + ((dst_negative_scale_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle))) + (((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) * S ((dst_negative_code_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)) + ((dst_negative_scale_row_sum_valuesentrymiddle) + (dst_negative_scale_row_sum_valuesentrymiddle)))))) /\ (((((exists ff_h_pvs_row_sum_valuesentrymiddlepositive. ff_h_pvs_row_sum_valuesentrymiddlepositive + S (dst_positive_row_sum_valuesentrymiddle) = S ((S (dfg_middle_row_sum_valuesentry)) * dst_positive_scale_row_sum_valuesentrymiddle)) /\ exists ff_q_pvs_row_sum_valuesentrymiddlepositive. dst_positive_code_row_sum_valuesentrymiddle = ff_q_pvs_row_sum_valuesentrymiddlepositive * S ((S (dfg_middle_row_sum_valuesentry)) * dst_positive_scale_row_sum_valuesentrymiddle) + (dst_positive_row_sum_valuesentrymiddle))) /\ (((((exists ff_h_pvs_row_sum_valuesentrymiddlenegative. ff_h_pvs_row_sum_valuesentrymiddlenegative + S (dst_negative_row_sum_valuesentrymiddle) = S ((S (dfg_middle_row_sum_valuesentry)) * dst_negative_scale_row_sum_valuesentrymiddle)) /\ exists ff_q_pvs_row_sum_valuesentrymiddlenegative. dst_negative_code_row_sum_valuesentrymiddle = ff_q_pvs_row_sum_valuesentrymiddlenegative * S ((S (dfg_middle_row_sum_valuesentry)) * dst_negative_scale_row_sum_valuesentrymiddle) + (dst_negative_row_sum_valuesentrymiddle))) /\ (exists ge_balance_positive_row_sum_valuesentrymiddlevalue ge_balance_negative_row_sum_valuesentrymiddlevalue. (((((dfg_value_row_sum_valuesentry) = 2 * (ge_balance_positive_row_sum_valuesentrymiddlevalue) /\ (ge_balance_negative_row_sum_valuesentrymiddlevalue) = 0) \/ exists ge_signed_half_row_sum_valuesentrymiddlevaluedecode. (((dfg_value_row_sum_valuesentry) = 2 * ge_signed_half_row_sum_valuesentrymiddlevaluedecode + 1 /\ (ge_balance_positive_row_sum_valuesentrymiddlevalue) = 0) /\ (ge_balance_negative_row_sum_valuesentrymiddlevalue) = S ge_signed_half_row_sum_valuesentrymiddlevaluedecode))) /\ ((dst_positive_row_sum_valuesentrymiddle) + ge_balance_negative_row_sum_valuesentrymiddlevalue = (dst_negative_row_sum_valuesentrymiddle) + ge_balance_positive_row_sum_valuesentrymiddlevalue))))))))) /\ (exists dfg_inner_row_sum_valuesentryproduct. ((exists sto_ap_row_sum_valuesentryproductinner sto_an_row_sum_valuesentryproductinner sto_bp_row_sum_valuesentryproductinner sto_bn_row_sum_valuesentryproductinner sto_cp_row_sum_valuesentryproductinner sto_cn_row_sum_valuesentryproductinner. (((((dfg_last_row_sum_valuesentry) = 2 * (sto_ap_row_sum_valuesentryproductinner) /\ (sto_an_row_sum_valuesentryproductinner) = 0) \/ exists ge_signed_half_row_sum_valuesentryproductinnerleft. (((dfg_last_row_sum_valuesentry) = 2 * ge_signed_half_row_sum_valuesentryproductinnerleft + 1 /\ (sto_ap_row_sum_valuesentryproductinner) = 0) /\ (sto_an_row_sum_valuesentryproductinner) = S ge_signed_half_row_sum_valuesentryproductinnerleft))) /\ ((((((dfg_value_row_sum_valuesentry) = 2 * (sto_bp_row_sum_valuesentryproductinner) /\ (sto_bn_row_sum_valuesentryproductinner) = 0) \/ exists ge_signed_half_row_sum_valuesentryproductinnerright. (((dfg_value_row_sum_valuesentry) = 2 * ge_signed_half_row_sum_valuesentryproductinnerright + 1 /\ (sto_bp_row_sum_valuesentryproductinner) = 0) /\ (sto_bn_row_sum_valuesentryproductinner) = S ge_signed_half_row_sum_valuesentryproductinnerright))) /\ ((((((dfg_inner_row_sum_valuesentryproduct) = 2 * (sto_cp_row_sum_valuesentryproductinner) /\ (sto_cn_row_sum_valuesentryproductinner) = 0) \/ exists ge_signed_half_row_sum_valuesentryproductinneroutput. (((dfg_inner_row_sum_valuesentryproduct) = 2 * ge_signed_half_row_sum_valuesentryproductinneroutput + 1 /\ (sto_cp_row_sum_valuesentryproductinner) = 0) /\ (sto_cn_row_sum_valuesentryproductinner) = S ge_signed_half_row_sum_valuesentryproductinneroutput))) /\ ((sto_ap_row_sum_valuesentryproductinner * sto_bp_row_sum_valuesentryproductinner + sto_an_row_sum_valuesentryproductinner * sto_bn_row_sum_valuesentryproductinner) + sto_cn_row_sum_valuesentryproductinner = (sto_ap_row_sum_valuesentryproductinner * sto_bn_row_sum_valuesentryproductinner + sto_an_row_sum_valuesentryproductinner * sto_bp_row_sum_valuesentryproductinner) + sto_cp_row_sum_valuesentryproductinner))))))) /\ (exists sto_ap_row_sum_valuesentryproductouter sto_an_row_sum_valuesentryproductouter sto_bp_row_sum_valuesentryproductouter sto_bn_row_sum_valuesentryproductouter sto_cp_row_sum_valuesentryproductouter sto_cn_row_sum_valuesentryproductouter. (((((dfg_first_row_sum_valuesentry) = 2 * (sto_ap_row_sum_valuesentryproductouter) /\ (sto_an_row_sum_valuesentryproductouter) = 0) \/ exists ge_signed_half_row_sum_valuesentryproductouterleft. (((dfg_first_row_sum_valuesentry) = 2 * ge_signed_half_row_sum_valuesentryproductouterleft + 1 /\ (sto_ap_row_sum_valuesentryproductouter) = 0) /\ (sto_an_row_sum_valuesentryproductouter) = S ge_signed_half_row_sum_valuesentryproductouterleft))) /\ ((((((dfg_inner_row_sum_valuesentryproduct) = 2 * (sto_bp_row_sum_valuesentryproductouter) /\ (sto_bn_row_sum_valuesentryproductouter) = 0) \/ exists ge_signed_half_row_sum_valuesentryproductouterright. (((dfg_inner_row_sum_valuesentryproduct) = 2 * ge_signed_half_row_sum_valuesentryproductouterright + 1 /\ (sto_bp_row_sum_valuesentryproductouter) = 0) /\ (sto_bn_row_sum_valuesentryproductouter) = S ge_signed_half_row_sum_valuesentryproductouterright))) /\ ((((((dfg_factor_value_row_sum_values) = 2 * (sto_cp_row_sum_valuesentryproductouter) /\ (sto_cn_row_sum_valuesentryproductouter) = 0) \/ exists ge_signed_half_row_sum_valuesentryproductouteroutput. (((dfg_factor_value_row_sum_values) = 2 * ge_signed_half_row_sum_valuesentryproductouteroutput + 1 /\ (sto_cp_row_sum_valuesentryproductouter) = 0) /\ (sto_cn_row_sum_valuesentryproductouter) = S ge_signed_half_row_sum_valuesentryproductouteroutput))) /\ ((sto_ap_row_sum_valuesentryproductouter * sto_bp_row_sum_valuesentryproductouter + sto_an_row_sum_valuesentryproductouter * sto_bn_row_sum_valuesentryproductouter) + sto_cn_row_sum_valuesentryproductouter = (sto_ap_row_sum_valuesentryproductouter * sto_bn_row_sum_valuesentryproductouter + sto_an_row_sum_valuesentryproductouter * sto_bp_row_sum_valuesentryproductouter) + sto_cp_row_sum_valuesentryproductouter))))))))))))))))))))) \/ ((((a)=0 \/ ((dfg_factor_column_row_sum_values)=0 \/ ~(exists pvs_factor_row_sum_valuesentryomittednondivisor. (n) = ((a)*(dfg_factor_column_row_sum_values)) * pvs_factor_row_sum_valuesentryomittednondivisor))) /\ ((dfg_factor_value_row_sum_values)=0))))))) -> (exists dst_positive_code_row_sum_given dst_positive_scale_row_sum_given dst_negative_code_row_sum_given dst_negative_scale_row_sum_given dst_positive_sum_row_sum_given dst_negative_sum_row_sum_given. (((V) = (((((dst_positive_code_row_sum_given) + (dst_positive_scale_row_sum_given)) * S ((dst_positive_code_row_sum_given) + (dst_positive_scale_row_sum_given)) + ((dst_positive_scale_row_sum_given) + (dst_positive_scale_row_sum_given))) + (((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) * S ((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) + ((dst_negative_scale_row_sum_given) + (dst_negative_scale_row_sum_given)))) * S ((((dst_positive_code_row_sum_given) + (dst_positive_scale_row_sum_given)) * S ((dst_positive_code_row_sum_given) + (dst_positive_scale_row_sum_given)) + ((dst_positive_scale_row_sum_given) + (dst_positive_scale_row_sum_given))) + (((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) * S ((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) + ((dst_negative_scale_row_sum_given) + (dst_negative_scale_row_sum_given)))) + ((((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) * S ((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) + ((dst_negative_scale_row_sum_given) + (dst_negative_scale_row_sum_given))) + (((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) * S ((dst_negative_code_row_sum_given) + (dst_negative_scale_row_sum_given)) + ((dst_negative_scale_row_sum_given) + (dst_negative_scale_row_sum_given)))))) /\ (((exists fs_u_dst_row_sum_givenpositive fs_v_dst_row_sum_givenpositive. ((((exists fs_h_dst_row_sum_givenpositive_body_start. fs_h_dst_row_sum_givenpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_row_sum_givenpositive)) /\ exists fs_q_dst_row_sum_givenpositive_body_start. fs_u_dst_row_sum_givenpositive = fs_q_dst_row_sum_givenpositive_body_start * S ((S (0)) * fs_v_dst_row_sum_givenpositive) + (0))) /\ ((((exists fs_h_dst_row_sum_givenpositive_body_terminal. fs_h_dst_row_sum_givenpositive_body_terminal + S (dst_positive_sum_row_sum_given) = S ((S (S n)) * fs_v_dst_row_sum_givenpositive)) /\ exists fs_q_dst_row_sum_givenpositive_body_terminal. fs_u_dst_row_sum_givenpositive = fs_q_dst_row_sum_givenpositive_body_terminal * S ((S (S n)) * fs_v_dst_row_sum_givenpositive) + (dst_positive_sum_row_sum_given))) /\ forall fs_i_dst_row_sum_givenpositive_body_steps. (exists fs_lt_dst_row_sum_givenpositive_body_steps_bound. fs_lt_dst_row_sum_givenpositive_body_steps_bound + S fs_i_dst_row_sum_givenpositive_body_steps = S n) -> exists fs_a_dst_row_sum_givenpositive_body_steps fs_r_dst_row_sum_givenpositive_body_steps fs_s_dst_row_sum_givenpositive_body_steps. ((((exists fs_h_dst_row_sum_givenpositive_body_steps_summand. fs_h_dst_row_sum_givenpositive_body_steps_summand + S (fs_a_dst_row_sum_givenpositive_body_steps) = S ((S (fs_i_dst_row_sum_givenpositive_body_steps)) * dst_positive_scale_row_sum_given)) /\ exists fs_q_dst_row_sum_givenpositive_body_steps_summand. dst_positive_code_row_sum_given = fs_q_dst_row_sum_givenpositive_body_steps_summand * S ((S (fs_i_dst_row_sum_givenpositive_body_steps)) * dst_positive_scale_row_sum_given) + (fs_a_dst_row_sum_givenpositive_body_steps))) /\ ((((exists fs_h_dst_row_sum_givenpositive_body_steps_partial. fs_h_dst_row_sum_givenpositive_body_steps_partial + S (fs_r_dst_row_sum_givenpositive_body_steps) = S ((S (fs_i_dst_row_sum_givenpositive_body_steps)) * fs_v_dst_row_sum_givenpositive)) /\ exists fs_q_dst_row_sum_givenpositive_body_steps_partial. fs_u_dst_row_sum_givenpositive = fs_q_dst_row_sum_givenpositive_body_steps_partial * S ((S (fs_i_dst_row_sum_givenpositive_body_steps)) * fs_v_dst_row_sum_givenpositive) + (fs_r_dst_row_sum_givenpositive_body_steps))) /\ ((((exists fs_h_dst_row_sum_givenpositive_body_steps_successor. fs_h_dst_row_sum_givenpositive_body_steps_successor + S (fs_s_dst_row_sum_givenpositive_body_steps) = S ((S (S fs_i_dst_row_sum_givenpositive_body_steps)) * fs_v_dst_row_sum_givenpositive)) /\ exists fs_q_dst_row_sum_givenpositive_body_steps_successor. fs_u_dst_row_sum_givenpositive = fs_q_dst_row_sum_givenpositive_body_steps_successor * S ((S (S fs_i_dst_row_sum_givenpositive_body_steps)) * fs_v_dst_row_sum_givenpositive) + (fs_s_dst_row_sum_givenpositive_body_steps))) /\ fs_s_dst_row_sum_givenpositive_body_steps = fs_r_dst_row_sum_givenpositive_body_steps + fs_a_dst_row_sum_givenpositive_body_steps)))))) /\ (((exists fs_u_dst_row_sum_givennegative fs_v_dst_row_sum_givennegative. ((((exists fs_h_dst_row_sum_givennegative_body_start. fs_h_dst_row_sum_givennegative_body_start + S (0) = S ((S (0)) * fs_v_dst_row_sum_givennegative)) /\ exists fs_q_dst_row_sum_givennegative_body_start. fs_u_dst_row_sum_givennegative = fs_q_dst_row_sum_givennegative_body_start * S ((S (0)) * fs_v_dst_row_sum_givennegative) + (0))) /\ ((((exists fs_h_dst_row_sum_givennegative_body_terminal. fs_h_dst_row_sum_givennegative_body_terminal + S (dst_negative_sum_row_sum_given) = S ((S (S n)) * fs_v_dst_row_sum_givennegative)) /\ exists fs_q_dst_row_sum_givennegative_body_terminal. fs_u_dst_row_sum_givennegative = fs_q_dst_row_sum_givennegative_body_terminal * S ((S (S n)) * fs_v_dst_row_sum_givennegative) + (dst_negative_sum_row_sum_given))) /\ forall fs_i_dst_row_sum_givennegative_body_steps. (exists fs_lt_dst_row_sum_givennegative_body_steps_bound. fs_lt_dst_row_sum_givennegative_body_steps_bound + S fs_i_dst_row_sum_givennegative_body_steps = S n) -> exists fs_a_dst_row_sum_givennegative_body_steps fs_r_dst_row_sum_givennegative_body_steps fs_s_dst_row_sum_givennegative_body_steps. ((((exists fs_h_dst_row_sum_givennegative_body_steps_summand. fs_h_dst_row_sum_givennegative_body_steps_summand + S (fs_a_dst_row_sum_givennegative_body_steps) = S ((S (fs_i_dst_row_sum_givennegative_body_steps)) * dst_negative_scale_row_sum_given)) /\ exists fs_q_dst_row_sum_givennegative_body_steps_summand. dst_negative_code_row_sum_given = fs_q_dst_row_sum_givennegative_body_steps_summand * S ((S (fs_i_dst_row_sum_givennegative_body_steps)) * dst_negative_scale_row_sum_given) + (fs_a_dst_row_sum_givennegative_body_steps))) /\ ((((exists fs_h_dst_row_sum_givennegative_body_steps_partial. fs_h_dst_row_sum_givennegative_body_steps_partial + S (fs_r_dst_row_sum_givennegative_body_steps) = S ((S (fs_i_dst_row_sum_givennegative_body_steps)) * fs_v_dst_row_sum_givennegative)) /\ exists fs_q_dst_row_sum_givennegative_body_steps_partial. fs_u_dst_row_sum_givennegative = fs_q_dst_row_sum_givennegative_body_steps_partial * S ((S (fs_i_dst_row_sum_givennegative_body_steps)) * fs_v_dst_row_sum_givennegative) + (fs_r_dst_row_sum_givennegative_body_steps))) /\ ((((exists fs_h_dst_row_sum_givennegative_body_steps_successor. fs_h_dst_row_sum_givennegative_body_steps_successor + S (fs_s_dst_row_sum_givennegative_body_steps) = S ((S (S fs_i_dst_row_sum_givennegative_body_steps)) * fs_v_dst_row_sum_givennegative)) /\ exists fs_q_dst_row_sum_givennegative_body_steps_successor. fs_u_dst_row_sum_givennegative = fs_q_dst_row_sum_givennegative_body_steps_successor * S ((S (S fs_i_dst_row_sum_givennegative_body_steps)) * fs_v_dst_row_sum_givennegative) + (fs_s_dst_row_sum_givennegative_body_steps))) /\ fs_s_dst_row_sum_givennegative_body_steps = fs_r_dst_row_sum_givennegative_body_steps + fs_a_dst_row_sum_givennegative_body_steps)))))) /\ (exists ge_balance_positive_row_sum_givenresult ge_balance_negative_row_sum_givenresult. (((((z) = 2 * (ge_balance_positive_row_sum_givenresult) /\ (ge_balance_negative_row_sum_givenresult) = 0) \/ exists ge_signed_half_row_sum_givenresultdecode. (((z) = 2 * ge_signed_half_row_sum_givenresultdecode + 1 /\ (ge_balance_positive_row_sum_givenresult) = 0) /\ (ge_balance_negative_row_sum_givenresult) = S ge_signed_half_row_sum_givenresultdecode))) /\ ((dst_positive_sum_row_sum_given) + ge_balance_negative_row_sum_givenresult = (dst_negative_sum_row_sum_given) + ge_balance_positive_row_sum_givenresult))))))))) -> exists v. (((((~((q)=0)) /\ (exists dc_mask_row_sum_inner. ((((exists dst_positive_code_row_sum_innermasktable dst_positive_scale_row_sum_innermasktable dst_negative_code_row_sum_innermasktable dst_negative_scale_row_sum_innermasktable. (((dc_mask_row_sum_inner) = (((((dst_positive_code_row_sum_innermasktable) + (dst_positive_scale_row_sum_innermasktable)) * S ((dst_positive_code_row_sum_innermasktable) + (dst_positive_scale_row_sum_innermasktable)) + ((dst_positive_scale_row_sum_innermasktable) + (dst_positive_scale_row_sum_innermasktable))) + (((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) * S ((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) + ((dst_negative_scale_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)))) * S ((((dst_positive_code_row_sum_innermasktable) + (dst_positive_scale_row_sum_innermasktable)) * S ((dst_positive_code_row_sum_innermasktable) + (dst_positive_scale_row_sum_innermasktable)) + ((dst_positive_scale_row_sum_innermasktable) + (dst_positive_scale_row_sum_innermasktable))) + (((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) * S ((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) + ((dst_negative_scale_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)))) + ((((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) * S ((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) + ((dst_negative_scale_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable))) + (((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) * S ((dst_negative_code_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)) + ((dst_negative_scale_row_sum_innermasktable) + (dst_negative_scale_row_sum_innermasktable)))))) /\ (forall dst_index_row_sum_innermasktable. (exists pvs_le_gap_row_sum_innermasktabledomain. pvs_le_gap_row_sum_innermasktabledomain + (dst_index_row_sum_innermasktable) = (q)) -> exists dst_positive_row_sum_innermasktable dst_negative_row_sum_innermasktable dst_value_row_sum_innermasktable. ((((exists ff_h_pvs_row_sum_innermasktableentrypositive. ff_h_pvs_row_sum_innermasktableentrypositive + S (dst_positive_row_sum_innermasktable) = S ((S (dst_index_row_sum_innermasktable)) * dst_positive_scale_row_sum_innermasktable)) /\ exists ff_q_pvs_row_sum_innermasktableentrypositive. dst_positive_code_row_sum_innermasktable = ff_q_pvs_row_sum_innermasktableentrypositive * S ((S (dst_index_row_sum_innermasktable)) * dst_positive_scale_row_sum_innermasktable) + (dst_positive_row_sum_innermasktable))) /\ (((((exists ff_h_pvs_row_sum_innermasktableentrynegative. ff_h_pvs_row_sum_innermasktableentrynegative + S (dst_negative_row_sum_innermasktable) = S ((S (dst_index_row_sum_innermasktable)) * dst_negative_scale_row_sum_innermasktable)) /\ exists ff_q_pvs_row_sum_innermasktableentrynegative. dst_negative_code_row_sum_innermasktable = ff_q_pvs_row_sum_innermasktableentrynegative * S ((S (dst_index_row_sum_innermasktable)) * dst_negative_scale_row_sum_innermasktable) + (dst_negative_row_sum_innermasktable))) /\ (exists ge_balance_positive_row_sum_innermasktableentryvalue ge_balance_negative_row_sum_innermasktableentryvalue. (((((dst_value_row_sum_innermasktable) = 2 * (ge_balance_positive_row_sum_innermasktableentryvalue) /\ (ge_balance_negative_row_sum_innermasktableentryvalue) = 0) \/ exists ge_signed_half_row_sum_innermasktableentryvaluedecode. (((dst_value_row_sum_innermasktable) = 2 * ge_signed_half_row_sum_innermasktableentryvaluedecode + 1 /\ (ge_balance_positive_row_sum_innermasktableentryvalue) = 0) /\ (ge_balance_negative_row_sum_innermasktableentryvalue) = S ge_signed_half_row_sum_innermasktableentryvaluedecode))) /\ ((dst_positive_row_sum_innermasktable) + ge_balance_negative_row_sum_innermasktableentryvalue = (dst_negative_row_sum_innermasktable) + ge_balance_positive_row_sum_innermasktableentryvalue))))))))) /\ (forall dc_index_row_sum_innermask dc_value_row_sum_innermask. (exists pvs_le_gap_row_sum_innermaskdomain. pvs_le_gap_row_sum_innermaskdomain + (dc_index_row_sum_innermask) = (q)) -> (exists dst_positive_code_row_sum_innermasklookup dst_positive_scale_row_sum_innermasklookup dst_negative_code_row_sum_innermasklookup dst_negative_scale_row_sum_innermasklookup dst_positive_row_sum_innermasklookup dst_negative_row_sum_innermasklookup. (((dc_mask_row_sum_inner) = (((((dst_positive_code_row_sum_innermasklookup) + (dst_positive_scale_row_sum_innermasklookup)) * S ((dst_positive_code_row_sum_innermasklookup) + (dst_positive_scale_row_sum_innermasklookup)) + ((dst_positive_scale_row_sum_innermasklookup) + (dst_positive_scale_row_sum_innermasklookup))) + (((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) * S ((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) + ((dst_negative_scale_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)))) * S ((((dst_positive_code_row_sum_innermasklookup) + (dst_positive_scale_row_sum_innermasklookup)) * S ((dst_positive_code_row_sum_innermasklookup) + (dst_positive_scale_row_sum_innermasklookup)) + ((dst_positive_scale_row_sum_innermasklookup) + (dst_positive_scale_row_sum_innermasklookup))) + (((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) * S ((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) + ((dst_negative_scale_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)))) + ((((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) * S ((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) + ((dst_negative_scale_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup))) + (((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) * S ((dst_negative_code_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)) + ((dst_negative_scale_row_sum_innermasklookup) + (dst_negative_scale_row_sum_innermasklookup)))))) /\ (((((exists ff_h_pvs_row_sum_innermasklookuppositive. ff_h_pvs_row_sum_innermasklookuppositive + S (dst_positive_row_sum_innermasklookup) = S ((S (dc_index_row_sum_innermask)) * dst_positive_scale_row_sum_innermasklookup)) /\ exists ff_q_pvs_row_sum_innermasklookuppositive. dst_positive_code_row_sum_innermasklookup = ff_q_pvs_row_sum_innermasklookuppositive * S ((S (dc_index_row_sum_innermask)) * dst_positive_scale_row_sum_innermasklookup) + (dst_positive_row_sum_innermasklookup))) /\ (((((exists ff_h_pvs_row_sum_innermasklookupnegative. ff_h_pvs_row_sum_innermasklookupnegative + S (dst_negative_row_sum_innermasklookup) = S ((S (dc_index_row_sum_innermask)) * dst_negative_scale_row_sum_innermasklookup)) /\ exists ff_q_pvs_row_sum_innermasklookupnegative. dst_negative_code_row_sum_innermasklookup = ff_q_pvs_row_sum_innermasklookupnegative * S ((S (dc_index_row_sum_innermask)) * dst_negative_scale_row_sum_innermasklookup) + (dst_negative_row_sum_innermasklookup))) /\ (exists ge_balance_positive_row_sum_innermasklookupvalue ge_balance_negative_row_sum_innermasklookupvalue. (((((dc_value_row_sum_innermask) = 2 * (ge_balance_positive_row_sum_innermasklookupvalue) /\ (ge_balance_negative_row_sum_innermasklookupvalue) = 0) \/ exists ge_signed_half_row_sum_innermasklookupvaluedecode. (((dc_value_row_sum_innermask) = 2 * ge_signed_half_row_sum_innermasklookupvaluedecode + 1 /\ (ge_balance_positive_row_sum_innermasklookupvalue) = 0) /\ (ge_balance_negative_row_sum_innermasklookupvalue) = S ge_signed_half_row_sum_innermasklookupvaluedecode))) /\ ((dst_positive_row_sum_innermasklookup) + ge_balance_negative_row_sum_innermasklookupvalue = (dst_negative_row_sum_innermasklookup) + ge_balance_positive_row_sum_innermasklookupvalue))))))))) -> ((((~((dc_index_row_sum_innermask)=0)) /\ (exists dc_quotient_row_sum_innermaskentry dc_left_row_sum_innermaskentry dc_right_row_sum_innermaskentry. (((q)=(dc_index_row_sum_innermask)*dc_quotient_row_sum_innermaskentry) /\ (((exists dst_positive_code_row_sum_innermaskentryleft dst_positive_scale_row_sum_innermaskentryleft dst_negative_code_row_sum_innermaskentryleft dst_negative_scale_row_sum_innermaskentryleft dst_positive_row_sum_innermaskentryleft dst_negative_row_sum_innermaskentryleft. (((H) = (((((dst_positive_code_row_sum_innermaskentryleft) + (dst_positive_scale_row_sum_innermaskentryleft)) * S ((dst_positive_code_row_sum_innermaskentryleft) + (dst_positive_scale_row_sum_innermaskentryleft)) + ((dst_positive_scale_row_sum_innermaskentryleft) + (dst_positive_scale_row_sum_innermaskentryleft))) + (((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) * S ((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) + ((dst_negative_scale_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)))) * S ((((dst_positive_code_row_sum_innermaskentryleft) + (dst_positive_scale_row_sum_innermaskentryleft)) * S ((dst_positive_code_row_sum_innermaskentryleft) + (dst_positive_scale_row_sum_innermaskentryleft)) + ((dst_positive_scale_row_sum_innermaskentryleft) + (dst_positive_scale_row_sum_innermaskentryleft))) + (((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) * S ((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) + ((dst_negative_scale_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)))) + ((((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) * S ((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) + ((dst_negative_scale_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft))) + (((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) * S ((dst_negative_code_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)) + ((dst_negative_scale_row_sum_innermaskentryleft) + (dst_negative_scale_row_sum_innermaskentryleft)))))) /\ (((((exists ff_h_pvs_row_sum_innermaskentryleftpositive. ff_h_pvs_row_sum_innermaskentryleftpositive + S (dst_positive_row_sum_innermaskentryleft) = S ((S (dc_index_row_sum_innermask)) * dst_positive_scale_row_sum_innermaskentryleft)) /\ exists ff_q_pvs_row_sum_innermaskentryleftpositive. dst_positive_code_row_sum_innermaskentryleft = ff_q_pvs_row_sum_innermaskentryleftpositive * S ((S (dc_index_row_sum_innermask)) * dst_positive_scale_row_sum_innermaskentryleft) + (dst_positive_row_sum_innermaskentryleft))) /\ (((((exists ff_h_pvs_row_sum_innermaskentryleftnegative. ff_h_pvs_row_sum_innermaskentryleftnegative + S (dst_negative_row_sum_innermaskentryleft) = S ((S (dc_index_row_sum_innermask)) * dst_negative_scale_row_sum_innermaskentryleft)) /\ exists ff_q_pvs_row_sum_innermaskentryleftnegative. dst_negative_code_row_sum_innermaskentryleft = ff_q_pvs_row_sum_innermaskentryleftnegative * S ((S (dc_index_row_sum_innermask)) * dst_negative_scale_row_sum_innermaskentryleft) + (dst_negative_row_sum_innermaskentryleft))) /\ (exists ge_balance_positive_row_sum_innermaskentryleftvalue ge_balance_negative_row_sum_innermaskentryleftvalue. (((((dc_left_row_sum_innermaskentry) = 2 * (ge_balance_positive_row_sum_innermaskentryleftvalue) /\ (ge_balance_negative_row_sum_innermaskentryleftvalue) = 0) \/ exists ge_signed_half_row_sum_innermaskentryleftvaluedecode. (((dc_left_row_sum_innermaskentry) = 2 * ge_signed_half_row_sum_innermaskentryleftvaluedecode + 1 /\ (ge_balance_positive_row_sum_innermaskentryleftvalue) = 0) /\ (ge_balance_negative_row_sum_innermaskentryleftvalue) = S ge_signed_half_row_sum_innermaskentryleftvaluedecode))) /\ ((dst_positive_row_sum_innermaskentryleft) + ge_balance_negative_row_sum_innermaskentryleftvalue = (dst_negative_row_sum_innermaskentryleft) + ge_balance_positive_row_sum_innermaskentryleftvalue))))))))) /\ (((exists dst_positive_code_row_sum_innermaskentryright dst_positive_scale_row_sum_innermaskentryright dst_negative_code_row_sum_innermaskentryright dst_negative_scale_row_sum_innermaskentryright dst_positive_row_sum_innermaskentryright dst_negative_row_sum_innermaskentryright. (((G) = (((((dst_positive_code_row_sum_innermaskentryright) + (dst_positive_scale_row_sum_innermaskentryright)) * S ((dst_positive_code_row_sum_innermaskentryright) + (dst_positive_scale_row_sum_innermaskentryright)) + ((dst_positive_scale_row_sum_innermaskentryright) + (dst_positive_scale_row_sum_innermaskentryright))) + (((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) * S ((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) + ((dst_negative_scale_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)))) * S ((((dst_positive_code_row_sum_innermaskentryright) + (dst_positive_scale_row_sum_innermaskentryright)) * S ((dst_positive_code_row_sum_innermaskentryright) + (dst_positive_scale_row_sum_innermaskentryright)) + ((dst_positive_scale_row_sum_innermaskentryright) + (dst_positive_scale_row_sum_innermaskentryright))) + (((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) * S ((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) + ((dst_negative_scale_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)))) + ((((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) * S ((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) + ((dst_negative_scale_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright))) + (((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) * S ((dst_negative_code_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)) + ((dst_negative_scale_row_sum_innermaskentryright) + (dst_negative_scale_row_sum_innermaskentryright)))))) /\ (((((exists ff_h_pvs_row_sum_innermaskentryrightpositive. ff_h_pvs_row_sum_innermaskentryrightpositive + S (dst_positive_row_sum_innermaskentryright) = S ((S (dc_quotient_row_sum_innermaskentry)) * dst_positive_scale_row_sum_innermaskentryright)) /\ exists ff_q_pvs_row_sum_innermaskentryrightpositive. dst_positive_code_row_sum_innermaskentryright = ff_q_pvs_row_sum_innermaskentryrightpositive * S ((S (dc_quotient_row_sum_innermaskentry)) * dst_positive_scale_row_sum_innermaskentryright) + (dst_positive_row_sum_innermaskentryright))) /\ (((((exists ff_h_pvs_row_sum_innermaskentryrightnegative. ff_h_pvs_row_sum_innermaskentryrightnegative + S (dst_negative_row_sum_innermaskentryright) = S ((S (dc_quotient_row_sum_innermaskentry)) * dst_negative_scale_row_sum_innermaskentryright)) /\ exists ff_q_pvs_row_sum_innermaskentryrightnegative. dst_negative_code_row_sum_innermaskentryright = ff_q_pvs_row_sum_innermaskentryrightnegative * S ((S (dc_quotient_row_sum_innermaskentry)) * dst_negative_scale_row_sum_innermaskentryright) + (dst_negative_row_sum_innermaskentryright))) /\ (exists ge_balance_positive_row_sum_innermaskentryrightvalue ge_balance_negative_row_sum_innermaskentryrightvalue. (((((dc_right_row_sum_innermaskentry) = 2 * (ge_balance_positive_row_sum_innermaskentryrightvalue) /\ (ge_balance_negative_row_sum_innermaskentryrightvalue) = 0) \/ exists ge_signed_half_row_sum_innermaskentryrightvaluedecode. (((dc_right_row_sum_innermaskentry) = 2 * ge_signed_half_row_sum_innermaskentryrightvaluedecode + 1 /\ (ge_balance_positive_row_sum_innermaskentryrightvalue) = 0) /\ (ge_balance_negative_row_sum_innermaskentryrightvalue) = S ge_signed_half_row_sum_innermaskentryrightvaluedecode))) /\ ((dst_positive_row_sum_innermaskentryright) + ge_balance_negative_row_sum_innermaskentryrightvalue = (dst_negative_row_sum_innermaskentryright) + ge_balance_positive_row_sum_innermaskentryrightvalue))))))))) /\ (exists sto_ap_row_sum_innermaskentryproduct sto_an_row_sum_innermaskentryproduct sto_bp_row_sum_innermaskentryproduct sto_bn_row_sum_innermaskentryproduct sto_cp_row_sum_innermaskentryproduct sto_cn_row_sum_innermaskentryproduct. (((((dc_left_row_sum_innermaskentry) = 2 * (sto_ap_row_sum_innermaskentryproduct) /\ (sto_an_row_sum_innermaskentryproduct) = 0) \/ exists ge_signed_half_row_sum_innermaskentryproductleft. (((dc_left_row_sum_innermaskentry) = 2 * ge_signed_half_row_sum_innermaskentryproductleft + 1 /\ (sto_ap_row_sum_innermaskentryproduct) = 0) /\ (sto_an_row_sum_innermaskentryproduct) = S ge_signed_half_row_sum_innermaskentryproductleft))) /\ ((((((dc_right_row_sum_innermaskentry) = 2 * (sto_bp_row_sum_innermaskentryproduct) /\ (sto_bn_row_sum_innermaskentryproduct) = 0) \/ exists ge_signed_half_row_sum_innermaskentryproductright. (((dc_right_row_sum_innermaskentry) = 2 * ge_signed_half_row_sum_innermaskentryproductright + 1 /\ (sto_bp_row_sum_innermaskentryproduct) = 0) /\ (sto_bn_row_sum_innermaskentryproduct) = S ge_signed_half_row_sum_innermaskentryproductright))) /\ ((((((dc_value_row_sum_innermask) = 2 * (sto_cp_row_sum_innermaskentryproduct) /\ (sto_cn_row_sum_innermaskentryproduct) = 0) \/ exists ge_signed_half_row_sum_innermaskentryproductoutput. (((dc_value_row_sum_innermask) = 2 * ge_signed_half_row_sum_innermaskentryproductoutput + 1 /\ (sto_cp_row_sum_innermaskentryproduct) = 0) /\ (sto_cn_row_sum_innermaskentryproduct) = S ge_signed_half_row_sum_innermaskentryproductoutput))) /\ ((sto_ap_row_sum_innermaskentryproduct * sto_bp_row_sum_innermaskentryproduct + sto_an_row_sum_innermaskentryproduct * sto_bn_row_sum_innermaskentryproduct) + sto_cn_row_sum_innermaskentryproduct = (sto_ap_row_sum_innermaskentryproduct * sto_bn_row_sum_innermaskentryproduct + sto_an_row_sum_innermaskentryproduct * sto_bp_row_sum_innermaskentryproduct) + sto_cp_row_sum_innermaskentryproduct))))))))))))))) \/ ((((dc_index_row_sum_innermask)=0 \/ ~(exists pvs_factor_row_sum_innermaskentrynondivisor. (q) = (dc_index_row_sum_innermask) * pvs_factor_row_sum_innermaskentrynondivisor)) /\ ((dc_value_row_sum_innermask)=0))))))) /\ (exists dst_positive_code_row_sum_innerfold dst_positive_scale_row_sum_innerfold dst_negative_code_row_sum_innerfold dst_negative_scale_row_sum_innerfold dst_positive_sum_row_sum_innerfold dst_negative_sum_row_sum_innerfold. (((dc_mask_row_sum_inner) = (((((dst_positive_code_row_sum_innerfold) + (dst_positive_scale_row_sum_innerfold)) * S ((dst_positive_code_row_sum_innerfold) + (dst_positive_scale_row_sum_innerfold)) + ((dst_positive_scale_row_sum_innerfold) + (dst_positive_scale_row_sum_innerfold))) + (((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) * S ((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) + ((dst_negative_scale_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)))) * S ((((dst_positive_code_row_sum_innerfold) + (dst_positive_scale_row_sum_innerfold)) * S ((dst_positive_code_row_sum_innerfold) + (dst_positive_scale_row_sum_innerfold)) + ((dst_positive_scale_row_sum_innerfold) + (dst_positive_scale_row_sum_innerfold))) + (((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) * S ((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) + ((dst_negative_scale_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)))) + ((((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) * S ((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) + ((dst_negative_scale_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold))) + (((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) * S ((dst_negative_code_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)) + ((dst_negative_scale_row_sum_innerfold) + (dst_negative_scale_row_sum_innerfold)))))) /\ (((exists fs_u_dst_row_sum_innerfoldpositive fs_v_dst_row_sum_innerfoldpositive. ((((exists fs_h_dst_row_sum_innerfoldpositive_body_start. fs_h_dst_row_sum_innerfoldpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_row_sum_innerfoldpositive)) /\ exists fs_q_dst_row_sum_innerfoldpositive_body_start. fs_u_dst_row_sum_innerfoldpositive = fs_q_dst_row_sum_innerfoldpositive_body_start * S ((S (0)) * fs_v_dst_row_sum_innerfoldpositive) + (0))) /\ ((((exists fs_h_dst_row_sum_innerfoldpositive_body_terminal. fs_h_dst_row_sum_innerfoldpositive_body_terminal + S (dst_positive_sum_row_sum_innerfold) = S ((S (S (q))) * fs_v_dst_row_sum_innerfoldpositive)) /\ exists fs_q_dst_row_sum_innerfoldpositive_body_terminal. fs_u_dst_row_sum_innerfoldpositive = fs_q_dst_row_sum_innerfoldpositive_body_terminal * S ((S (S (q))) * fs_v_dst_row_sum_innerfoldpositive) + (dst_positive_sum_row_sum_innerfold))) /\ forall fs_i_dst_row_sum_innerfoldpositive_body_steps. (exists fs_lt_dst_row_sum_innerfoldpositive_body_steps_bound. fs_lt_dst_row_sum_innerfoldpositive_body_steps_bound + S fs_i_dst_row_sum_innerfoldpositive_body_steps = S (q)) -> exists fs_a_dst_row_sum_innerfoldpositive_body_steps fs_r_dst_row_sum_innerfoldpositive_body_steps fs_s_dst_row_sum_innerfoldpositive_body_steps. ((((exists fs_h_dst_row_sum_innerfoldpositive_body_steps_summand. fs_h_dst_row_sum_innerfoldpositive_body_steps_summand + S (fs_a_dst_row_sum_innerfoldpositive_body_steps) = S ((S (fs_i_dst_row_sum_innerfoldpositive_body_steps)) * dst_positive_scale_row_sum_innerfold)) /\ exists fs_q_dst_row_sum_innerfoldpositive_body_steps_summand. dst_positive_code_row_sum_innerfold = fs_q_dst_row_sum_innerfoldpositive_body_steps_summand * S ((S (fs_i_dst_row_sum_innerfoldpositive_body_steps)) * dst_positive_scale_row_sum_innerfold) + (fs_a_dst_row_sum_innerfoldpositive_body_steps))) /\ ((((exists fs_h_dst_row_sum_innerfoldpositive_body_steps_partial. fs_h_dst_row_sum_innerfoldpositive_body_steps_partial + S (fs_r_dst_row_sum_innerfoldpositive_body_steps) = S ((S (fs_i_dst_row_sum_innerfoldpositive_body_steps)) * fs_v_dst_row_sum_innerfoldpositive)) /\ exists fs_q_dst_row_sum_innerfoldpositive_body_steps_partial. fs_u_dst_row_sum_innerfoldpositive = fs_q_dst_row_sum_innerfoldpositive_body_steps_partial * S ((S (fs_i_dst_row_sum_innerfoldpositive_body_steps)) * fs_v_dst_row_sum_innerfoldpositive) + (fs_r_dst_row_sum_innerfoldpositive_body_steps))) /\ ((((exists fs_h_dst_row_sum_innerfoldpositive_body_steps_successor. fs_h_dst_row_sum_innerfoldpositive_body_steps_successor + S (fs_s_dst_row_sum_innerfoldpositive_body_steps) = S ((S (S fs_i_dst_row_sum_innerfoldpositive_body_steps)) * fs_v_dst_row_sum_innerfoldpositive)) /\ exists fs_q_dst_row_sum_innerfoldpositive_body_steps_successor. fs_u_dst_row_sum_innerfoldpositive = fs_q_dst_row_sum_innerfoldpositive_body_steps_successor * S ((S (S fs_i_dst_row_sum_innerfoldpositive_body_steps)) * fs_v_dst_row_sum_innerfoldpositive) + (fs_s_dst_row_sum_innerfoldpositive_body_steps))) /\ fs_s_dst_row_sum_innerfoldpositive_body_steps = fs_r_dst_row_sum_innerfoldpositive_body_steps + fs_a_dst_row_sum_innerfoldpositive_body_steps)))))) /\ (((exists fs_u_dst_row_sum_innerfoldnegative fs_v_dst_row_sum_innerfoldnegative. ((((exists fs_h_dst_row_sum_innerfoldnegative_body_start. fs_h_dst_row_sum_innerfoldnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_row_sum_innerfoldnegative)) /\ exists fs_q_dst_row_sum_innerfoldnegative_body_start. fs_u_dst_row_sum_innerfoldnegative = fs_q_dst_row_sum_innerfoldnegative_body_start * S ((S (0)) * fs_v_dst_row_sum_innerfoldnegative) + (0))) /\ ((((exists fs_h_dst_row_sum_innerfoldnegative_body_terminal. fs_h_dst_row_sum_innerfoldnegative_body_terminal + S (dst_negative_sum_row_sum_innerfold) = S ((S (S (q))) * fs_v_dst_row_sum_innerfoldnegative)) /\ exists fs_q_dst_row_sum_innerfoldnegative_body_terminal. fs_u_dst_row_sum_innerfoldnegative = fs_q_dst_row_sum_innerfoldnegative_body_terminal * S ((S (S (q))) * fs_v_dst_row_sum_innerfoldnegative) + (dst_negative_sum_row_sum_innerfold))) /\ forall fs_i_dst_row_sum_innerfoldnegative_body_steps. (exists fs_lt_dst_row_sum_innerfoldnegative_body_steps_bound. fs_lt_dst_row_sum_innerfoldnegative_body_steps_bound + S fs_i_dst_row_sum_innerfoldnegative_body_steps = S (q)) -> exists fs_a_dst_row_sum_innerfoldnegative_body_steps fs_r_dst_row_sum_innerfoldnegative_body_steps fs_s_dst_row_sum_innerfoldnegative_body_steps. ((((exists fs_h_dst_row_sum_innerfoldnegative_body_steps_summand. fs_h_dst_row_sum_innerfoldnegative_body_steps_summand + S (fs_a_dst_row_sum_innerfoldnegative_body_steps) = S ((S (fs_i_dst_row_sum_innerfoldnegative_body_steps)) * dst_negative_scale_row_sum_innerfold)) /\ exists fs_q_dst_row_sum_innerfoldnegative_body_steps_summand. dst_negative_code_row_sum_innerfold = fs_q_dst_row_sum_innerfoldnegative_body_steps_summand * S ((S (fs_i_dst_row_sum_innerfoldnegative_body_steps)) * dst_negative_scale_row_sum_innerfold) + (fs_a_dst_row_sum_innerfoldnegative_body_steps))) /\ ((((exists fs_h_dst_row_sum_innerfoldnegative_body_steps_partial. fs_h_dst_row_sum_innerfoldnegative_body_steps_partial + S (fs_r_dst_row_sum_innerfoldnegative_body_steps) = S ((S (fs_i_dst_row_sum_innerfoldnegative_body_steps)) * fs_v_dst_row_sum_innerfoldnegative)) /\ exists fs_q_dst_row_sum_innerfoldnegative_body_steps_partial. fs_u_dst_row_sum_innerfoldnegative = fs_q_dst_row_sum_innerfoldnegative_body_steps_partial * S ((S (fs_i_dst_row_sum_innerfoldnegative_body_steps)) * fs_v_dst_row_sum_innerfoldnegative) + (fs_r_dst_row_sum_innerfoldnegative_body_steps))) /\ ((((exists fs_h_dst_row_sum_innerfoldnegative_body_steps_successor. fs_h_dst_row_sum_innerfoldnegative_body_steps_successor + S (fs_s_dst_row_sum_innerfoldnegative_body_steps) = S ((S (S fs_i_dst_row_sum_innerfoldnegative_body_steps)) * fs_v_dst_row_sum_innerfoldnegative)) /\ exists fs_q_dst_row_sum_innerfoldnegative_body_steps_successor. fs_u_dst_row_sum_innerfoldnegative = fs_q_dst_row_sum_innerfoldnegative_body_steps_successor * S ((S (S fs_i_dst_row_sum_innerfoldnegative_body_steps)) * fs_v_dst_row_sum_innerfoldnegative) + (fs_s_dst_row_sum_innerfoldnegative_body_steps))) /\ fs_s_dst_row_sum_innerfoldnegative_body_steps = fs_r_dst_row_sum_innerfoldnegative_body_steps + fs_a_dst_row_sum_innerfoldnegative_body_steps)))))) /\ (exists ge_balance_positive_row_sum_innerfoldresult ge_balance_negative_row_sum_innerfoldresult. (((((v) = 2 * (ge_balance_positive_row_sum_innerfoldresult) /\ (ge_balance_negative_row_sum_innerfoldresult) = 0) \/ exists ge_signed_half_row_sum_innerfoldresultdecode. (((v) = 2 * ge_signed_half_row_sum_innerfoldresultdecode + 1 /\ (ge_balance_positive_row_sum_innerfoldresult) = 0) /\ (ge_balance_negative_row_sum_innerfoldresult) = S ge_signed_half_row_sum_innerfoldresultdecode))) /\ ((dst_positive_sum_row_sum_innerfold) + ge_balance_negative_row_sum_innerfoldresult = (dst_negative_sum_row_sum_innerfold) + ge_balance_positive_row_sum_innerfoldresult))))))))))))) /\ (exists sto_ap_row_sum_result sto_an_row_sum_result sto_bp_row_sum_result sto_bn_row_sum_result sto_cp_row_sum_result sto_cn_row_sum_result. (((((u) = 2 * (sto_ap_row_sum_result) /\ (sto_an_row_sum_result) = 0) \/ exists ge_signed_half_row_sum_resultleft. (((u) = 2 * ge_signed_half_row_sum_resultleft + 1 /\ (sto_ap_row_sum_result) = 0) /\ (sto_an_row_sum_result) = S ge_signed_half_row_sum_resultleft))) /\ ((((((v) = 2 * (sto_bp_row_sum_result) /\ (sto_bn_row_sum_result) = 0) \/ exists ge_signed_half_row_sum_resultright. (((v) = 2 * ge_signed_half_row_sum_resultright + 1 /\ (sto_bp_row_sum_result) = 0) /\ (sto_bn_row_sum_result) = S ge_signed_half_row_sum_resultright))) /\ ((((((z) = 2 * (sto_cp_row_sum_result) /\ (sto_cn_row_sum_result) = 0) \/ exists ge_signed_half_row_sum_resultoutput. (((z) = 2 * ge_signed_half_row_sum_resultoutput + 1 /\ (sto_cp_row_sum_result) = 0) /\ (sto_cn_row_sum_result) = S ge_signed_half_row_sum_resultoutput))) /\ ((sto_ap_row_sum_result * sto_bp_row_sum_result + sto_an_row_sum_result * sto_bn_row_sum_result) + sto_cn_row_sum_result = (sto_ap_row_sum_result * sto_bn_row_sum_result + sto_an_row_sum_result * sto_bp_row_sum_result) + sto_cp_row_sum_result)))))))))

Constructive proof overview

Generated structural guide

Construct the actual inner convolution sum, prove its positive quotient bound, remove its zero padding and identify the row total by actual signed scalar linearity.

The unchanged tactic script uses 8 declared prerequisites and contains 89 exact native proof lines.

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

Proof neighborhood

Direct dependencies

factor_nonzero_right Alpha theorem; checked-use authorized divisor_le_nonzero Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized dirichlet_convolution_prefix_exists Alpha theorem; checked-use authorized arithmetic_signed_sum_exists Alpha theorem; checked-use authorized dirichlet_convolution_from_padded_prefix Alpha theorem; checked-use authorized signed_prefix_sum_scalar_multiply Alpha theorem; checked-use authorized DF0014 dirichlet_factor_row_scalar

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

89 script commands · 19 reading checkpoints · 4 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 F
  2. L2
    intro G
  3. L3
    intro H
  4. L4
    intro n
  5. L5
    intro a
  6. L6
    intro q
  7. L7
    intro u
  8. L8
    intro V
  9. L9
    intro z
  10. L10
    intro hH
02Fix variables and assumptionsL11–17

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

  1. L11
    intro hG
  2. L12
    intro hn
  3. L13
    intro ha
  4. L14
    intro hq
  5. L15
    intro hu
  6. L16
    intro hr
  7. L17
    intro hz
03Establish hq0L18–26

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply factor nonzero right.

  1. L18
    have hq0 : ~(q=0)
  2. L19
    intro hzero
  3. L20
    specialize factor_nonzero_right (n)
  4. L21
    specialize factor_nonzero_right (a)
  5. L22
    specialize factor_nonzero_right (q)
  6. L23
    apply factor_nonzero_right
  7. L24
    exact hn
  8. L25
    exact hq
  9. L26
    exact hzero
04Establish hqnL27–31

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

  1. L27
    have hqn : exists pvs_le_gap_row_sum_quotient_bound. pvs_le_gap_row_sum_quotient_bound + (q) = (n)
  2. L28
    specialize divisor_le_nonzero (q)
  3. L29
    specialize divisor_le_nonzero (n)
  4. L30
    apply divisor_le_nonzero
  5. L31
    exact hn
05Construct an explicit witnessL32–32

Supply the displayed value, then prove that it has the required property.

  1. L32
    exists a
06Calculate and transport equalitiesL33–33

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

  1. L33
    trans a*q
07Use earlier factsL34–35

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

  1. L34
    exact hq
  2. L35
    apply mul_comm
08Establish hpL36–43

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

  1. L36
    have hp : ∃ P. DirichletPrefix(H,G,q,n,P)Definitions: DirichletPrefix
  2. L37
    specialize dirichlet_convolution_prefix_exists (H)
  3. L38
    specialize dirichlet_convolution_prefix_exists (G)
  4. L39
    specialize dirichlet_convolution_prefix_exists (q)
  5. L40
    specialize dirichlet_convolution_prefix_exists (n)
  6. L41
    apply dirichlet_convolution_prefix_exists
  7. L42
    exact hH
  8. L43
    exact hG
09Separate the logical casesL44–44

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

  1. L44
    cases hp
10Establish hsL45–49

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

  1. L45
    have hs : ∃ v. SignedPrefixSum(x,S n,v)Definitions: SignedPrefixSum
  2. L46
    specialize arithmetic_signed_sum_exists (n)
  3. L47
    specialize arithmetic_signed_sum_exists (x)
  4. L48
    specialize arithmetic_signed_sum_exists (S n)
  5. L49
    apply arithmetic_signed_sum_exists
11Separate the logical casesL50–50

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

  1. L50
    cases hp_witness
12Use earlier factsL51–51

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

  1. L51
    exact hp_witness_left
13Separate the logical casesL52–52

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

  1. L52
    cases hs
14Construct an explicit witnessL53–53

Supply the displayed value, then prove that it has the required property.

  1. L53
    exists x1
15Separate the logical casesL54–54

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

  1. L54
    split
16Use earlier factsL55–64

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

  1. L55
    specialize dirichlet_convolution_from_padded_prefix (H)
  2. L56
    specialize dirichlet_convolution_from_padded_prefix (G)
  3. L57
    specialize dirichlet_convolution_from_padded_prefix (q)
  4. L58
    specialize dirichlet_convolution_from_padded_prefix (n)
  5. L59
    specialize dirichlet_convolution_from_padded_prefix (x)
  6. L60
    specialize dirichlet_convolution_from_padded_prefix (x1)
  7. L61
    apply dirichlet_convolution_from_padded_prefix
  8. L62
    exact hq0
  9. L63
    exact hqn
  10. L64
    exact hp_witness
17Use earlier factsL65–74

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

  1. L65
    exact hs_witness
  2. L66
    specialize signed_prefix_sum_scalar_multiply (S n)
  3. L67
    specialize signed_prefix_sum_scalar_multiply (u)
  4. L68
    specialize signed_prefix_sum_scalar_multiply (x)
  5. L69
    specialize signed_prefix_sum_scalar_multiply (V)
  6. L70
    specialize signed_prefix_sum_scalar_multiply (x1)
  7. L71
    specialize signed_prefix_sum_scalar_multiply (z)
  8. L72
    apply signed_prefix_sum_scalar_multiply
  9. L73
    specialize dirichlet_factor_row_scalar (F)
  10. L74
    specialize dirichlet_factor_row_scalar (G)
18Use earlier factsL75–84

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

  1. L75
    specialize dirichlet_factor_row_scalar (H)
  2. L76
    specialize dirichlet_factor_row_scalar (n)
  3. L77
    specialize dirichlet_factor_row_scalar (a)
  4. L78
    specialize dirichlet_factor_row_scalar (q)
  5. L79
    specialize dirichlet_factor_row_scalar (u)
  6. L80
    specialize dirichlet_factor_row_scalar (V)
  7. L81
    specialize dirichlet_factor_row_scalar (x)
  8. L82
    apply dirichlet_factor_row_scalar
  9. L83
    exact ha
  10. L84
    exact hq
19Use earlier factsL85–89

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

  1. L85
    exact hu
  2. L86
    exact hp_witness
  3. L87
    exact hr
  4. L88
    exact hs_witness
  5. L89
    exact hz

Library-wide reading audit

Original exact command ledger · 89 lines
  1. 0001intro F
  2. 0002intro G
  3. 0003intro H
  4. 0004intro n
  5. 0005intro a
  6. 0006intro q
  7. 0007intro u
  8. 0008intro V
  9. 0009intro z
  10. 0010intro hH
  11. 0011intro hG
  12. 0012intro hn
  13. 0013intro ha
  14. 0014intro hq
  15. 0015intro hu
  16. 0016intro hr
  17. 0017intro hz
  18. 0018have hq0 : ~(q=0)
  19. 0019intro hzero
  20. 0020specialize factor_nonzero_right (n)
  21. 0021specialize factor_nonzero_right (a)
  22. 0022specialize factor_nonzero_right (q)
  23. 0023apply factor_nonzero_right
  24. 0024exact hn
  25. 0025exact hq
  26. 0026exact hzero
  27. 0027have hqn : exists pvs_le_gap_row_sum_quotient_bound. pvs_le_gap_row_sum_quotient_bound + (q) = (n)
  28. 0028specialize divisor_le_nonzero (q)
  29. 0029specialize divisor_le_nonzero (n)
  30. 0030apply divisor_le_nonzero
  31. 0031exact hn
  32. 0032exists a
  33. 0033trans a*q
  34. 0034exact hq
  35. 0035apply mul_comm
  36. 0036have hp : exists P. (((exists dst_positive_code_row_sum_prefixtable dst_positive_scale_row_sum_prefixtable dst_negative_code_row_sum_prefixtable dst_negative_scale_row_sum_prefixtable. (((P) = (((((dst_positive_code_row_sum_prefixtable) + (dst_positive_scale_row_sum_prefixtable)) * S ((dst_positive_code_row_sum_prefixtable) + (dst_positive_scale_row_sum_prefixtable)) + ((dst_positive_scale_row_sum_prefixtable) + (dst_positive_scale_row_sum_prefixtable))) + (((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) * S ((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) + ((dst_negative_scale_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)))) * S ((((dst_positive_code_row_sum_prefixtable) + (dst_positive_scale_row_sum_prefixtable)) * S ((dst_positive_code_row_sum_prefixtable) + (dst_positive_scale_row_sum_prefixtable)) + ((dst_positive_scale_row_sum_prefixtable) + (dst_positive_scale_row_sum_prefixtable))) + (((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) * S ((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) + ((dst_negative_scale_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)))) + ((((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) * S ((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) + ((dst_negative_scale_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable))) + (((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) * S ((dst_negative_code_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)) + ((dst_negative_scale_row_sum_prefixtable) + (dst_negative_scale_row_sum_prefixtable)))))) /\ (forall dst_index_row_sum_prefixtable. (exists pvs_le_gap_row_sum_prefixtabledomain. pvs_le_gap_row_sum_prefixtabledomain + (dst_index_row_sum_prefixtable) = (n)) -> exists dst_positive_row_sum_prefixtable dst_negative_row_sum_prefixtable dst_value_row_sum_prefixtable. ((((exists ff_h_pvs_row_sum_prefixtableentrypositive. ff_h_pvs_row_sum_prefixtableentrypositive + S (dst_positive_row_sum_prefixtable) = S ((S (dst_index_row_sum_prefixtable)) * dst_positive_scale_row_sum_prefixtable)) /\ exists ff_q_pvs_row_sum_prefixtableentrypositive. dst_positive_code_row_sum_prefixtable = ff_q_pvs_row_sum_prefixtableentrypositive * S ((S (dst_index_row_sum_prefixtable)) * dst_positive_scale_row_sum_prefixtable) + (dst_positive_row_sum_prefixtable))) /\ (((((exists ff_h_pvs_row_sum_prefixtableentrynegative. ff_h_pvs_row_sum_prefixtableentrynegative + S (dst_negative_row_sum_prefixtable) = S ((S (dst_index_row_sum_prefixtable)) * dst_negative_scale_row_sum_prefixtable)) /\ exists ff_q_pvs_row_sum_prefixtableentrynegative. dst_negative_code_row_sum_prefixtable = ff_q_pvs_row_sum_prefixtableentrynegative * S ((S (dst_index_row_sum_prefixtable)) * dst_negative_scale_row_sum_prefixtable) + (dst_negative_row_sum_prefixtable))) /\ (exists ge_balance_positive_row_sum_prefixtableentryvalue ge_balance_negative_row_sum_prefixtableentryvalue. (((((dst_value_row_sum_prefixtable) = 2 * (ge_balance_positive_row_sum_prefixtableentryvalue) /\ (ge_balance_negative_row_sum_prefixtableentryvalue) = 0) \/ exists ge_signed_half_row_sum_prefixtableentryvaluedecode. (((dst_value_row_sum_prefixtable) = 2 * ge_signed_half_row_sum_prefixtableentryvaluedecode + 1 /\ (ge_balance_positive_row_sum_prefixtableentryvalue) = 0) /\ (ge_balance_negative_row_sum_prefixtableentryvalue) = S ge_signed_half_row_sum_prefixtableentryvaluedecode))) /\ ((dst_positive_row_sum_prefixtable) + ge_balance_negative_row_sum_prefixtableentryvalue = (dst_negative_row_sum_prefixtable) + ge_balance_positive_row_sum_prefixtableentryvalue))))))))) /\ (forall dc_index_row_sum_prefix dc_value_row_sum_prefix. (exists pvs_le_gap_row_sum_prefixdomain. pvs_le_gap_row_sum_prefixdomain + (dc_index_row_sum_prefix) = (n)) -> (exists dst_positive_code_row_sum_prefixlookup dst_positive_scale_row_sum_prefixlookup dst_negative_code_row_sum_prefixlookup dst_negative_scale_row_sum_prefixlookup dst_positive_row_sum_prefixlookup dst_negative_row_sum_prefixlookup. (((P) = (((((dst_positive_code_row_sum_prefixlookup) + (dst_positive_scale_row_sum_prefixlookup)) * S ((dst_positive_code_row_sum_prefixlookup) + (dst_positive_scale_row_sum_prefixlookup)) + ((dst_positive_scale_row_sum_prefixlookup) + (dst_positive_scale_row_sum_prefixlookup))) + (((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) * S ((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) + ((dst_negative_scale_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)))) * S ((((dst_positive_code_row_sum_prefixlookup) + (dst_positive_scale_row_sum_prefixlookup)) * S ((dst_positive_code_row_sum_prefixlookup) + (dst_positive_scale_row_sum_prefixlookup)) + ((dst_positive_scale_row_sum_prefixlookup) + (dst_positive_scale_row_sum_prefixlookup))) + (((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) * S ((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) + ((dst_negative_scale_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)))) + ((((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) * S ((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) + ((dst_negative_scale_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup))) + (((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) * S ((dst_negative_code_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)) + ((dst_negative_scale_row_sum_prefixlookup) + (dst_negative_scale_row_sum_prefixlookup)))))) /\ (((((exists ff_h_pvs_row_sum_prefixlookuppositive. ff_h_pvs_row_sum_prefixlookuppositive + S (dst_positive_row_sum_prefixlookup) = S ((S (dc_index_row_sum_prefix)) * dst_positive_scale_row_sum_prefixlookup)) /\ exists ff_q_pvs_row_sum_prefixlookuppositive. dst_positive_code_row_sum_prefixlookup = ff_q_pvs_row_sum_prefixlookuppositive * S ((S (dc_index_row_sum_prefix)) * dst_positive_scale_row_sum_prefixlookup) + (dst_positive_row_sum_prefixlookup))) /\ (((((exists ff_h_pvs_row_sum_prefixlookupnegative. ff_h_pvs_row_sum_prefixlookupnegative + S (dst_negative_row_sum_prefixlookup) = S ((S (dc_index_row_sum_prefix)) * dst_negative_scale_row_sum_prefixlookup)) /\ exists ff_q_pvs_row_sum_prefixlookupnegative. dst_negative_code_row_sum_prefixlookup = ff_q_pvs_row_sum_prefixlookupnegative * S ((S (dc_index_row_sum_prefix)) * dst_negative_scale_row_sum_prefixlookup) + (dst_negative_row_sum_prefixlookup))) /\ (exists ge_balance_positive_row_sum_prefixlookupvalue ge_balance_negative_row_sum_prefixlookupvalue. (((((dc_value_row_sum_prefix) = 2 * (ge_balance_positive_row_sum_prefixlookupvalue) /\ (ge_balance_negative_row_sum_prefixlookupvalue) = 0) \/ exists ge_signed_half_row_sum_prefixlookupvaluedecode. (((dc_value_row_sum_prefix) = 2 * ge_signed_half_row_sum_prefixlookupvaluedecode + 1 /\ (ge_balance_positive_row_sum_prefixlookupvalue) = 0) /\ (ge_balance_negative_row_sum_prefixlookupvalue) = S ge_signed_half_row_sum_prefixlookupvaluedecode))) /\ ((dst_positive_row_sum_prefixlookup) + ge_balance_negative_row_sum_prefixlookupvalue = (dst_negative_row_sum_prefixlookup) + ge_balance_positive_row_sum_prefixlookupvalue))))))))) -> ((((~((dc_index_row_sum_prefix)=0)) /\ (exists dc_quotient_row_sum_prefixentry dc_left_row_sum_prefixentry dc_right_row_sum_prefixentry. (((q)=(dc_index_row_sum_prefix)*dc_quotient_row_sum_prefixentry) /\ (((exists dst_positive_code_row_sum_prefixentryleft dst_positive_scale_row_sum_prefixentryleft dst_negative_code_row_sum_prefixentryleft dst_negative_scale_row_sum_prefixentryleft dst_positive_row_sum_prefixentryleft dst_negative_row_sum_prefixentryleft. (((H) = (((((dst_positive_code_row_sum_prefixentryleft) + (dst_positive_scale_row_sum_prefixentryleft)) * S ((dst_positive_code_row_sum_prefixentryleft) + (dst_positive_scale_row_sum_prefixentryleft)) + ((dst_positive_scale_row_sum_prefixentryleft) + (dst_positive_scale_row_sum_prefixentryleft))) + (((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) * S ((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) + ((dst_negative_scale_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)))) * S ((((dst_positive_code_row_sum_prefixentryleft) + (dst_positive_scale_row_sum_prefixentryleft)) * S ((dst_positive_code_row_sum_prefixentryleft) + (dst_positive_scale_row_sum_prefixentryleft)) + ((dst_positive_scale_row_sum_prefixentryleft) + (dst_positive_scale_row_sum_prefixentryleft))) + (((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) * S ((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) + ((dst_negative_scale_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)))) + ((((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) * S ((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) + ((dst_negative_scale_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft))) + (((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) * S ((dst_negative_code_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)) + ((dst_negative_scale_row_sum_prefixentryleft) + (dst_negative_scale_row_sum_prefixentryleft)))))) /\ (((((exists ff_h_pvs_row_sum_prefixentryleftpositive. ff_h_pvs_row_sum_prefixentryleftpositive + S (dst_positive_row_sum_prefixentryleft) = S ((S (dc_index_row_sum_prefix)) * dst_positive_scale_row_sum_prefixentryleft)) /\ exists ff_q_pvs_row_sum_prefixentryleftpositive. dst_positive_code_row_sum_prefixentryleft = ff_q_pvs_row_sum_prefixentryleftpositive * S ((S (dc_index_row_sum_prefix)) * dst_positive_scale_row_sum_prefixentryleft) + (dst_positive_row_sum_prefixentryleft))) /\ (((((exists ff_h_pvs_row_sum_prefixentryleftnegative. ff_h_pvs_row_sum_prefixentryleftnegative + S (dst_negative_row_sum_prefixentryleft) = S ((S (dc_index_row_sum_prefix)) * dst_negative_scale_row_sum_prefixentryleft)) /\ exists ff_q_pvs_row_sum_prefixentryleftnegative. dst_negative_code_row_sum_prefixentryleft = ff_q_pvs_row_sum_prefixentryleftnegative * S ((S (dc_index_row_sum_prefix)) * dst_negative_scale_row_sum_prefixentryleft) + (dst_negative_row_sum_prefixentryleft))) /\ (exists ge_balance_positive_row_sum_prefixentryleftvalue ge_balance_negative_row_sum_prefixentryleftvalue. (((((dc_left_row_sum_prefixentry) = 2 * (ge_balance_positive_row_sum_prefixentryleftvalue) /\ (ge_balance_negative_row_sum_prefixentryleftvalue) = 0) \/ exists ge_signed_half_row_sum_prefixentryleftvaluedecode. (((dc_left_row_sum_prefixentry) = 2 * ge_signed_half_row_sum_prefixentryleftvaluedecode + 1 /\ (ge_balance_positive_row_sum_prefixentryleftvalue) = 0) /\ (ge_balance_negative_row_sum_prefixentryleftvalue) = S ge_signed_half_row_sum_prefixentryleftvaluedecode))) /\ ((dst_positive_row_sum_prefixentryleft) + ge_balance_negative_row_sum_prefixentryleftvalue = (dst_negative_row_sum_prefixentryleft) + ge_balance_positive_row_sum_prefixentryleftvalue))))))))) /\ (((exists dst_positive_code_row_sum_prefixentryright dst_positive_scale_row_sum_prefixentryright dst_negative_code_row_sum_prefixentryright dst_negative_scale_row_sum_prefixentryright dst_positive_row_sum_prefixentryright dst_negative_row_sum_prefixentryright. (((G) = (((((dst_positive_code_row_sum_prefixentryright) + (dst_positive_scale_row_sum_prefixentryright)) * S ((dst_positive_code_row_sum_prefixentryright) + (dst_positive_scale_row_sum_prefixentryright)) + ((dst_positive_scale_row_sum_prefixentryright) + (dst_positive_scale_row_sum_prefixentryright))) + (((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) * S ((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) + ((dst_negative_scale_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)))) * S ((((dst_positive_code_row_sum_prefixentryright) + (dst_positive_scale_row_sum_prefixentryright)) * S ((dst_positive_code_row_sum_prefixentryright) + (dst_positive_scale_row_sum_prefixentryright)) + ((dst_positive_scale_row_sum_prefixentryright) + (dst_positive_scale_row_sum_prefixentryright))) + (((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) * S ((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) + ((dst_negative_scale_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)))) + ((((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) * S ((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) + ((dst_negative_scale_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright))) + (((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) * S ((dst_negative_code_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)) + ((dst_negative_scale_row_sum_prefixentryright) + (dst_negative_scale_row_sum_prefixentryright)))))) /\ (((((exists ff_h_pvs_row_sum_prefixentryrightpositive. ff_h_pvs_row_sum_prefixentryrightpositive + S (dst_positive_row_sum_prefixentryright) = S ((S (dc_quotient_row_sum_prefixentry)) * dst_positive_scale_row_sum_prefixentryright)) /\ exists ff_q_pvs_row_sum_prefixentryrightpositive. dst_positive_code_row_sum_prefixentryright = ff_q_pvs_row_sum_prefixentryrightpositive * S ((S (dc_quotient_row_sum_prefixentry)) * dst_positive_scale_row_sum_prefixentryright) + (dst_positive_row_sum_prefixentryright))) /\ (((((exists ff_h_pvs_row_sum_prefixentryrightnegative. ff_h_pvs_row_sum_prefixentryrightnegative + S (dst_negative_row_sum_prefixentryright) = S ((S (dc_quotient_row_sum_prefixentry)) * dst_negative_scale_row_sum_prefixentryright)) /\ exists ff_q_pvs_row_sum_prefixentryrightnegative. dst_negative_code_row_sum_prefixentryright = ff_q_pvs_row_sum_prefixentryrightnegative * S ((S (dc_quotient_row_sum_prefixentry)) * dst_negative_scale_row_sum_prefixentryright) + (dst_negative_row_sum_prefixentryright))) /\ (exists ge_balance_positive_row_sum_prefixentryrightvalue ge_balance_negative_row_sum_prefixentryrightvalue. (((((dc_right_row_sum_prefixentry) = 2 * (ge_balance_positive_row_sum_prefixentryrightvalue) /\ (ge_balance_negative_row_sum_prefixentryrightvalue) = 0) \/ exists ge_signed_half_row_sum_prefixentryrightvaluedecode. (((dc_right_row_sum_prefixentry) = 2 * ge_signed_half_row_sum_prefixentryrightvaluedecode + 1 /\ (ge_balance_positive_row_sum_prefixentryrightvalue) = 0) /\ (ge_balance_negative_row_sum_prefixentryrightvalue) = S ge_signed_half_row_sum_prefixentryrightvaluedecode))) /\ ((dst_positive_row_sum_prefixentryright) + ge_balance_negative_row_sum_prefixentryrightvalue = (dst_negative_row_sum_prefixentryright) + ge_balance_positive_row_sum_prefixentryrightvalue))))))))) /\ (exists sto_ap_row_sum_prefixentryproduct sto_an_row_sum_prefixentryproduct sto_bp_row_sum_prefixentryproduct sto_bn_row_sum_prefixentryproduct sto_cp_row_sum_prefixentryproduct sto_cn_row_sum_prefixentryproduct. (((((dc_left_row_sum_prefixentry) = 2 * (sto_ap_row_sum_prefixentryproduct) /\ (sto_an_row_sum_prefixentryproduct) = 0) \/ exists ge_signed_half_row_sum_prefixentryproductleft. (((dc_left_row_sum_prefixentry) = 2 * ge_signed_half_row_sum_prefixentryproductleft + 1 /\ (sto_ap_row_sum_prefixentryproduct) = 0) /\ (sto_an_row_sum_prefixentryproduct) = S ge_signed_half_row_sum_prefixentryproductleft))) /\ ((((((dc_right_row_sum_prefixentry) = 2 * (sto_bp_row_sum_prefixentryproduct) /\ (sto_bn_row_sum_prefixentryproduct) = 0) \/ exists ge_signed_half_row_sum_prefixentryproductright. (((dc_right_row_sum_prefixentry) = 2 * ge_signed_half_row_sum_prefixentryproductright + 1 /\ (sto_bp_row_sum_prefixentryproduct) = 0) /\ (sto_bn_row_sum_prefixentryproduct) = S ge_signed_half_row_sum_prefixentryproductright))) /\ ((((((dc_value_row_sum_prefix) = 2 * (sto_cp_row_sum_prefixentryproduct) /\ (sto_cn_row_sum_prefixentryproduct) = 0) \/ exists ge_signed_half_row_sum_prefixentryproductoutput. (((dc_value_row_sum_prefix) = 2 * ge_signed_half_row_sum_prefixentryproductoutput + 1 /\ (sto_cp_row_sum_prefixentryproduct) = 0) /\ (sto_cn_row_sum_prefixentryproduct) = S ge_signed_half_row_sum_prefixentryproductoutput))) /\ ((sto_ap_row_sum_prefixentryproduct * sto_bp_row_sum_prefixentryproduct + sto_an_row_sum_prefixentryproduct * sto_bn_row_sum_prefixentryproduct) + sto_cn_row_sum_prefixentryproduct = (sto_ap_row_sum_prefixentryproduct * sto_bn_row_sum_prefixentryproduct + sto_an_row_sum_prefixentryproduct * sto_bp_row_sum_prefixentryproduct) + sto_cp_row_sum_prefixentryproduct))))))))))))))) \/ ((((dc_index_row_sum_prefix)=0 \/ ~(exists pvs_factor_row_sum_prefixentrynondivisor. (q) = (dc_index_row_sum_prefix) * pvs_factor_row_sum_prefixentrynondivisor)) /\ ((dc_value_row_sum_prefix)=0)))))))
  37. 0037specialize dirichlet_convolution_prefix_exists (H)
  38. 0038specialize dirichlet_convolution_prefix_exists (G)
  39. 0039specialize dirichlet_convolution_prefix_exists (q)
  40. 0040specialize dirichlet_convolution_prefix_exists (n)
  41. 0041apply dirichlet_convolution_prefix_exists
  42. 0042exact hH
  43. 0043exact hG
  44. 0044cases hp
  45. 0045have hs : exists v. (exists dst_positive_code_row_sum_actual_sum dst_positive_scale_row_sum_actual_sum dst_negative_code_row_sum_actual_sum dst_negative_scale_row_sum_actual_sum dst_positive_sum_row_sum_actual_sum dst_negative_sum_row_sum_actual_sum. (((x) = (((((dst_positive_code_row_sum_actual_sum) + (dst_positive_scale_row_sum_actual_sum)) * S ((dst_positive_code_row_sum_actual_sum) + (dst_positive_scale_row_sum_actual_sum)) + ((dst_positive_scale_row_sum_actual_sum) + (dst_positive_scale_row_sum_actual_sum))) + (((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) * S ((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) + ((dst_negative_scale_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)))) * S ((((dst_positive_code_row_sum_actual_sum) + (dst_positive_scale_row_sum_actual_sum)) * S ((dst_positive_code_row_sum_actual_sum) + (dst_positive_scale_row_sum_actual_sum)) + ((dst_positive_scale_row_sum_actual_sum) + (dst_positive_scale_row_sum_actual_sum))) + (((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) * S ((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) + ((dst_negative_scale_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)))) + ((((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) * S ((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) + ((dst_negative_scale_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum))) + (((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) * S ((dst_negative_code_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)) + ((dst_negative_scale_row_sum_actual_sum) + (dst_negative_scale_row_sum_actual_sum)))))) /\ (((exists fs_u_dst_row_sum_actual_sumpositive fs_v_dst_row_sum_actual_sumpositive. ((((exists fs_h_dst_row_sum_actual_sumpositive_body_start. fs_h_dst_row_sum_actual_sumpositive_body_start + S (0) = S ((S (0)) * fs_v_dst_row_sum_actual_sumpositive)) /\ exists fs_q_dst_row_sum_actual_sumpositive_body_start. fs_u_dst_row_sum_actual_sumpositive = fs_q_dst_row_sum_actual_sumpositive_body_start * S ((S (0)) * fs_v_dst_row_sum_actual_sumpositive) + (0))) /\ ((((exists fs_h_dst_row_sum_actual_sumpositive_body_terminal. fs_h_dst_row_sum_actual_sumpositive_body_terminal + S (dst_positive_sum_row_sum_actual_sum) = S ((S (S n)) * fs_v_dst_row_sum_actual_sumpositive)) /\ exists fs_q_dst_row_sum_actual_sumpositive_body_terminal. fs_u_dst_row_sum_actual_sumpositive = fs_q_dst_row_sum_actual_sumpositive_body_terminal * S ((S (S n)) * fs_v_dst_row_sum_actual_sumpositive) + (dst_positive_sum_row_sum_actual_sum))) /\ forall fs_i_dst_row_sum_actual_sumpositive_body_steps. (exists fs_lt_dst_row_sum_actual_sumpositive_body_steps_bound. fs_lt_dst_row_sum_actual_sumpositive_body_steps_bound + S fs_i_dst_row_sum_actual_sumpositive_body_steps = S n) -> exists fs_a_dst_row_sum_actual_sumpositive_body_steps fs_r_dst_row_sum_actual_sumpositive_body_steps fs_s_dst_row_sum_actual_sumpositive_body_steps. ((((exists fs_h_dst_row_sum_actual_sumpositive_body_steps_summand. fs_h_dst_row_sum_actual_sumpositive_body_steps_summand + S (fs_a_dst_row_sum_actual_sumpositive_body_steps) = S ((S (fs_i_dst_row_sum_actual_sumpositive_body_steps)) * dst_positive_scale_row_sum_actual_sum)) /\ exists fs_q_dst_row_sum_actual_sumpositive_body_steps_summand. dst_positive_code_row_sum_actual_sum = fs_q_dst_row_sum_actual_sumpositive_body_steps_summand * S ((S (fs_i_dst_row_sum_actual_sumpositive_body_steps)) * dst_positive_scale_row_sum_actual_sum) + (fs_a_dst_row_sum_actual_sumpositive_body_steps))) /\ ((((exists fs_h_dst_row_sum_actual_sumpositive_body_steps_partial. fs_h_dst_row_sum_actual_sumpositive_body_steps_partial + S (fs_r_dst_row_sum_actual_sumpositive_body_steps) = S ((S (fs_i_dst_row_sum_actual_sumpositive_body_steps)) * fs_v_dst_row_sum_actual_sumpositive)) /\ exists fs_q_dst_row_sum_actual_sumpositive_body_steps_partial. fs_u_dst_row_sum_actual_sumpositive = fs_q_dst_row_sum_actual_sumpositive_body_steps_partial * S ((S (fs_i_dst_row_sum_actual_sumpositive_body_steps)) * fs_v_dst_row_sum_actual_sumpositive) + (fs_r_dst_row_sum_actual_sumpositive_body_steps))) /\ ((((exists fs_h_dst_row_sum_actual_sumpositive_body_steps_successor. fs_h_dst_row_sum_actual_sumpositive_body_steps_successor + S (fs_s_dst_row_sum_actual_sumpositive_body_steps) = S ((S (S fs_i_dst_row_sum_actual_sumpositive_body_steps)) * fs_v_dst_row_sum_actual_sumpositive)) /\ exists fs_q_dst_row_sum_actual_sumpositive_body_steps_successor. fs_u_dst_row_sum_actual_sumpositive = fs_q_dst_row_sum_actual_sumpositive_body_steps_successor * S ((S (S fs_i_dst_row_sum_actual_sumpositive_body_steps)) * fs_v_dst_row_sum_actual_sumpositive) + (fs_s_dst_row_sum_actual_sumpositive_body_steps))) /\ fs_s_dst_row_sum_actual_sumpositive_body_steps = fs_r_dst_row_sum_actual_sumpositive_body_steps + fs_a_dst_row_sum_actual_sumpositive_body_steps)))))) /\ (((exists fs_u_dst_row_sum_actual_sumnegative fs_v_dst_row_sum_actual_sumnegative. ((((exists fs_h_dst_row_sum_actual_sumnegative_body_start. fs_h_dst_row_sum_actual_sumnegative_body_start + S (0) = S ((S (0)) * fs_v_dst_row_sum_actual_sumnegative)) /\ exists fs_q_dst_row_sum_actual_sumnegative_body_start. fs_u_dst_row_sum_actual_sumnegative = fs_q_dst_row_sum_actual_sumnegative_body_start * S ((S (0)) * fs_v_dst_row_sum_actual_sumnegative) + (0))) /\ ((((exists fs_h_dst_row_sum_actual_sumnegative_body_terminal. fs_h_dst_row_sum_actual_sumnegative_body_terminal + S (dst_negative_sum_row_sum_actual_sum) = S ((S (S n)) * fs_v_dst_row_sum_actual_sumnegative)) /\ exists fs_q_dst_row_sum_actual_sumnegative_body_terminal. fs_u_dst_row_sum_actual_sumnegative = fs_q_dst_row_sum_actual_sumnegative_body_terminal * S ((S (S n)) * fs_v_dst_row_sum_actual_sumnegative) + (dst_negative_sum_row_sum_actual_sum))) /\ forall fs_i_dst_row_sum_actual_sumnegative_body_steps. (exists fs_lt_dst_row_sum_actual_sumnegative_body_steps_bound. fs_lt_dst_row_sum_actual_sumnegative_body_steps_bound + S fs_i_dst_row_sum_actual_sumnegative_body_steps = S n) -> exists fs_a_dst_row_sum_actual_sumnegative_body_steps fs_r_dst_row_sum_actual_sumnegative_body_steps fs_s_dst_row_sum_actual_sumnegative_body_steps. ((((exists fs_h_dst_row_sum_actual_sumnegative_body_steps_summand. fs_h_dst_row_sum_actual_sumnegative_body_steps_summand + S (fs_a_dst_row_sum_actual_sumnegative_body_steps) = S ((S (fs_i_dst_row_sum_actual_sumnegative_body_steps)) * dst_negative_scale_row_sum_actual_sum)) /\ exists fs_q_dst_row_sum_actual_sumnegative_body_steps_summand. dst_negative_code_row_sum_actual_sum = fs_q_dst_row_sum_actual_sumnegative_body_steps_summand * S ((S (fs_i_dst_row_sum_actual_sumnegative_body_steps)) * dst_negative_scale_row_sum_actual_sum) + (fs_a_dst_row_sum_actual_sumnegative_body_steps))) /\ ((((exists fs_h_dst_row_sum_actual_sumnegative_body_steps_partial. fs_h_dst_row_sum_actual_sumnegative_body_steps_partial + S (fs_r_dst_row_sum_actual_sumnegative_body_steps) = S ((S (fs_i_dst_row_sum_actual_sumnegative_body_steps)) * fs_v_dst_row_sum_actual_sumnegative)) /\ exists fs_q_dst_row_sum_actual_sumnegative_body_steps_partial. fs_u_dst_row_sum_actual_sumnegative = fs_q_dst_row_sum_actual_sumnegative_body_steps_partial * S ((S (fs_i_dst_row_sum_actual_sumnegative_body_steps)) * fs_v_dst_row_sum_actual_sumnegative) + (fs_r_dst_row_sum_actual_sumnegative_body_steps))) /\ ((((exists fs_h_dst_row_sum_actual_sumnegative_body_steps_successor. fs_h_dst_row_sum_actual_sumnegative_body_steps_successor + S (fs_s_dst_row_sum_actual_sumnegative_body_steps) = S ((S (S fs_i_dst_row_sum_actual_sumnegative_body_steps)) * fs_v_dst_row_sum_actual_sumnegative)) /\ exists fs_q_dst_row_sum_actual_sumnegative_body_steps_successor. fs_u_dst_row_sum_actual_sumnegative = fs_q_dst_row_sum_actual_sumnegative_body_steps_successor * S ((S (S fs_i_dst_row_sum_actual_sumnegative_body_steps)) * fs_v_dst_row_sum_actual_sumnegative) + (fs_s_dst_row_sum_actual_sumnegative_body_steps))) /\ fs_s_dst_row_sum_actual_sumnegative_body_steps = fs_r_dst_row_sum_actual_sumnegative_body_steps + fs_a_dst_row_sum_actual_sumnegative_body_steps)))))) /\ (exists ge_balance_positive_row_sum_actual_sumresult ge_balance_negative_row_sum_actual_sumresult. (((((v) = 2 * (ge_balance_positive_row_sum_actual_sumresult) /\ (ge_balance_negative_row_sum_actual_sumresult) = 0) \/ exists ge_signed_half_row_sum_actual_sumresultdecode. (((v) = 2 * ge_signed_half_row_sum_actual_sumresultdecode + 1 /\ (ge_balance_positive_row_sum_actual_sumresult) = 0) /\ (ge_balance_negative_row_sum_actual_sumresult) = S ge_signed_half_row_sum_actual_sumresultdecode))) /\ ((dst_positive_sum_row_sum_actual_sum) + ge_balance_negative_row_sum_actual_sumresult = (dst_negative_sum_row_sum_actual_sum) + ge_balance_positive_row_sum_actual_sumresult)))))))))
  46. 0046specialize arithmetic_signed_sum_exists (n)
  47. 0047specialize arithmetic_signed_sum_exists (x)
  48. 0048specialize arithmetic_signed_sum_exists (S n)
  49. 0049apply arithmetic_signed_sum_exists
  50. 0050cases hp_witness
  51. 0051exact hp_witness_left
  52. 0052cases hs
  53. 0053exists x1
  54. 0054split
  55. 0055specialize dirichlet_convolution_from_padded_prefix (H)
  56. 0056specialize dirichlet_convolution_from_padded_prefix (G)
  57. 0057specialize dirichlet_convolution_from_padded_prefix (q)
  58. 0058specialize dirichlet_convolution_from_padded_prefix (n)
  59. 0059specialize dirichlet_convolution_from_padded_prefix (x)
  60. 0060specialize dirichlet_convolution_from_padded_prefix (x1)
  61. 0061apply dirichlet_convolution_from_padded_prefix
  62. 0062exact hq0
  63. 0063exact hqn
  64. 0064exact hp_witness
  65. 0065exact hs_witness
  66. 0066specialize signed_prefix_sum_scalar_multiply (S n)
  67. 0067specialize signed_prefix_sum_scalar_multiply (u)
  68. 0068specialize signed_prefix_sum_scalar_multiply (x)
  69. 0069specialize signed_prefix_sum_scalar_multiply (V)
  70. 0070specialize signed_prefix_sum_scalar_multiply (x1)
  71. 0071specialize signed_prefix_sum_scalar_multiply (z)
  72. 0072apply signed_prefix_sum_scalar_multiply
  73. 0073specialize dirichlet_factor_row_scalar (F)
  74. 0074specialize dirichlet_factor_row_scalar (G)
  75. 0075specialize dirichlet_factor_row_scalar (H)
  76. 0076specialize dirichlet_factor_row_scalar (n)
  77. 0077specialize dirichlet_factor_row_scalar (a)
  78. 0078specialize dirichlet_factor_row_scalar (q)
  79. 0079specialize dirichlet_factor_row_scalar (u)
  80. 0080specialize dirichlet_factor_row_scalar (V)
  81. 0081specialize dirichlet_factor_row_scalar (x)
  82. 0082apply dirichlet_factor_row_scalar
  83. 0083exact ha
  84. 0084exact hq
  85. 0085exact hu
  86. 0086exact hp_witness
  87. 0087exact hr
  88. 0088exact hs_witness
  89. 0089exact hz