DF0019

dirichlet_factor_row_sum_product

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.

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

Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.

Every grid, slice, row sum and intermediate table is constructed. Retained cells have witnessed n=(a*e)*c and value F(a)*(H(e)*G(c)). The flat endpoint is unused. Table associativity includes N=0 and compares only positive values, not encodings. Full G009 remains broader.

Exact theorem in conservative defined notation

∀ F. ∀ G. ∀ H. ∀ n. ∀ a. ∀ q. ∀ u. ∀ V. ∀ z. ArithTable(0,H)ArithTable(0,G) → ¬n = 0 → ¬a = 0 → n = a · q → ArithAt(F,a,u)DirichletFactorRow(F,G,H,n,a,V)SignedPrefixSum(V,S n,z) → ∃ x. DirichletSum(H,G,q,x)SignedMul(u,x,z)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order 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)))))))))

Complete tactic proof in conservative notation

All 89 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.

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.

Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.

Named ingredients (1)
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
  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(H,G,q,n,P)Original native command in the exact edition
  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(x,S n,v)Original native command in the exact edition
  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 defined 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 : Le(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 : ∃ P. DirichletPrefix(H,G,q,n,P)
  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 : ∃ v. SignedPrefixSum(x,S n,v)
  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