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 e v z. ~(a=0) -> n=a*q -> (exists dst_positive_code_row_lift_first dst_positive_scale_row_lift_first dst_negative_code_row_lift_first dst_negative_scale_row_lift_first dst_positive_row_lift_first dst_negative_row_lift_first. (((F) = (((((dst_positive_code_row_lift_first) + (dst_positive_scale_row_lift_first)) * S ((dst_positive_code_row_lift_first) + (dst_positive_scale_row_lift_first)) + ((dst_positive_scale_row_lift_first) + (dst_positive_scale_row_lift_first))) + (((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) * S ((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) + ((dst_negative_scale_row_lift_first) + (dst_negative_scale_row_lift_first)))) * S ((((dst_positive_code_row_lift_first) + (dst_positive_scale_row_lift_first)) * S ((dst_positive_code_row_lift_first) + (dst_positive_scale_row_lift_first)) + ((dst_positive_scale_row_lift_first) + (dst_positive_scale_row_lift_first))) + (((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) * S ((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) + ((dst_negative_scale_row_lift_first) + (dst_negative_scale_row_lift_first)))) + ((((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) * S ((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) + ((dst_negative_scale_row_lift_first) + (dst_negative_scale_row_lift_first))) + (((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) * S ((dst_negative_code_row_lift_first) + (dst_negative_scale_row_lift_first)) + ((dst_negative_scale_row_lift_first) + (dst_negative_scale_row_lift_first)))))) /\ (((((exists ff_h_pvs_row_lift_firstpositive. ff_h_pvs_row_lift_firstpositive + S (dst_positive_row_lift_first) = S ((S (a)) * dst_positive_scale_row_lift_first)) /\ exists ff_q_pvs_row_lift_firstpositive. dst_positive_code_row_lift_first = ff_q_pvs_row_lift_firstpositive * S ((S (a)) * dst_positive_scale_row_lift_first) + (dst_positive_row_lift_first))) /\ (((((exists ff_h_pvs_row_lift_firstnegative. ff_h_pvs_row_lift_firstnegative + S (dst_negative_row_lift_first) = S ((S (a)) * dst_negative_scale_row_lift_first)) /\ exists ff_q_pvs_row_lift_firstnegative. dst_negative_code_row_lift_first = ff_q_pvs_row_lift_firstnegative * S ((S (a)) * dst_negative_scale_row_lift_first) + (dst_negative_row_lift_first))) /\ (exists ge_balance_positive_row_lift_firstvalue ge_balance_negative_row_lift_firstvalue. (((((u) = 2 * (ge_balance_positive_row_lift_firstvalue) /\ (ge_balance_negative_row_lift_firstvalue) = 0) \/ exists ge_signed_half_row_lift_firstvaluedecode. (((u) = 2 * ge_signed_half_row_lift_firstvaluedecode + 1 /\ (ge_balance_positive_row_lift_firstvalue) = 0) /\ (ge_balance_negative_row_lift_firstvalue) = S ge_signed_half_row_lift_firstvaluedecode))) /\ ((dst_positive_row_lift_first) + ge_balance_negative_row_lift_firstvalue = (dst_negative_row_lift_first) + ge_balance_positive_row_lift_firstvalue))))))))) -> ((((~((e)=0)) /\ (exists dc_quotient_row_lift_inner dc_left_row_lift_inner dc_right_row_lift_inner. (((q)=(e)*dc_quotient_row_lift_inner) /\ (((exists dst_positive_code_row_lift_innerleft dst_positive_scale_row_lift_innerleft dst_negative_code_row_lift_innerleft dst_negative_scale_row_lift_innerleft dst_positive_row_lift_innerleft dst_negative_row_lift_innerleft. (((H) = (((((dst_positive_code_row_lift_innerleft) + (dst_positive_scale_row_lift_innerleft)) * S ((dst_positive_code_row_lift_innerleft) + (dst_positive_scale_row_lift_innerleft)) + ((dst_positive_scale_row_lift_innerleft) + (dst_positive_scale_row_lift_innerleft))) + (((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) * S ((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) + ((dst_negative_scale_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)))) * S ((((dst_positive_code_row_lift_innerleft) + (dst_positive_scale_row_lift_innerleft)) * S ((dst_positive_code_row_lift_innerleft) + (dst_positive_scale_row_lift_innerleft)) + ((dst_positive_scale_row_lift_innerleft) + (dst_positive_scale_row_lift_innerleft))) + (((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) * S ((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) + ((dst_negative_scale_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)))) + ((((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) * S ((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) + ((dst_negative_scale_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft))) + (((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) * S ((dst_negative_code_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)) + ((dst_negative_scale_row_lift_innerleft) + (dst_negative_scale_row_lift_innerleft)))))) /\ (((((exists ff_h_pvs_row_lift_innerleftpositive. ff_h_pvs_row_lift_innerleftpositive + S (dst_positive_row_lift_innerleft) = S ((S (e)) * dst_positive_scale_row_lift_innerleft)) /\ exists ff_q_pvs_row_lift_innerleftpositive. dst_positive_code_row_lift_innerleft = ff_q_pvs_row_lift_innerleftpositive * S ((S (e)) * dst_positive_scale_row_lift_innerleft) + (dst_positive_row_lift_innerleft))) /\ (((((exists ff_h_pvs_row_lift_innerleftnegative. ff_h_pvs_row_lift_innerleftnegative + S (dst_negative_row_lift_innerleft) = S ((S (e)) * dst_negative_scale_row_lift_innerleft)) /\ exists ff_q_pvs_row_lift_innerleftnegative. dst_negative_code_row_lift_innerleft = ff_q_pvs_row_lift_innerleftnegative * S ((S (e)) * dst_negative_scale_row_lift_innerleft) + (dst_negative_row_lift_innerleft))) /\ (exists ge_balance_positive_row_lift_innerleftvalue ge_balance_negative_row_lift_innerleftvalue. (((((dc_left_row_lift_inner) = 2 * (ge_balance_positive_row_lift_innerleftvalue) /\ (ge_balance_negative_row_lift_innerleftvalue) = 0) \/ exists ge_signed_half_row_lift_innerleftvaluedecode. (((dc_left_row_lift_inner) = 2 * ge_signed_half_row_lift_innerleftvaluedecode + 1 /\ (ge_balance_positive_row_lift_innerleftvalue) = 0) /\ (ge_balance_negative_row_lift_innerleftvalue) = S ge_signed_half_row_lift_innerleftvaluedecode))) /\ ((dst_positive_row_lift_innerleft) + ge_balance_negative_row_lift_innerleftvalue = (dst_negative_row_lift_innerleft) + ge_balance_positive_row_lift_innerleftvalue))))))))) /\ (((exists dst_positive_code_row_lift_innerright dst_positive_scale_row_lift_innerright dst_negative_code_row_lift_innerright dst_negative_scale_row_lift_innerright dst_positive_row_lift_innerright dst_negative_row_lift_innerright. (((G) = (((((dst_positive_code_row_lift_innerright) + (dst_positive_scale_row_lift_innerright)) * S ((dst_positive_code_row_lift_innerright) + (dst_positive_scale_row_lift_innerright)) + ((dst_positive_scale_row_lift_innerright) + (dst_positive_scale_row_lift_innerright))) + (((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) * S ((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) + ((dst_negative_scale_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)))) * S ((((dst_positive_code_row_lift_innerright) + (dst_positive_scale_row_lift_innerright)) * S ((dst_positive_code_row_lift_innerright) + (dst_positive_scale_row_lift_innerright)) + ((dst_positive_scale_row_lift_innerright) + (dst_positive_scale_row_lift_innerright))) + (((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) * S ((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) + ((dst_negative_scale_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)))) + ((((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) * S ((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) + ((dst_negative_scale_row_lift_innerright) + (dst_negative_scale_row_lift_innerright))) + (((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) * S ((dst_negative_code_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)) + ((dst_negative_scale_row_lift_innerright) + (dst_negative_scale_row_lift_innerright)))))) /\ (((((exists ff_h_pvs_row_lift_innerrightpositive. ff_h_pvs_row_lift_innerrightpositive + S (dst_positive_row_lift_innerright) = S ((S (dc_quotient_row_lift_inner)) * dst_positive_scale_row_lift_innerright)) /\ exists ff_q_pvs_row_lift_innerrightpositive. dst_positive_code_row_lift_innerright = ff_q_pvs_row_lift_innerrightpositive * S ((S (dc_quotient_row_lift_inner)) * dst_positive_scale_row_lift_innerright) + (dst_positive_row_lift_innerright))) /\ (((((exists ff_h_pvs_row_lift_innerrightnegative. ff_h_pvs_row_lift_innerrightnegative + S (dst_negative_row_lift_innerright) = S ((S (dc_quotient_row_lift_inner)) * dst_negative_scale_row_lift_innerright)) /\ exists ff_q_pvs_row_lift_innerrightnegative. dst_negative_code_row_lift_innerright = ff_q_pvs_row_lift_innerrightnegative * S ((S (dc_quotient_row_lift_inner)) * dst_negative_scale_row_lift_innerright) + (dst_negative_row_lift_innerright))) /\ (exists ge_balance_positive_row_lift_innerrightvalue ge_balance_negative_row_lift_innerrightvalue. (((((dc_right_row_lift_inner) = 2 * (ge_balance_positive_row_lift_innerrightvalue) /\ (ge_balance_negative_row_lift_innerrightvalue) = 0) \/ exists ge_signed_half_row_lift_innerrightvaluedecode. (((dc_right_row_lift_inner) = 2 * ge_signed_half_row_lift_innerrightvaluedecode + 1 /\ (ge_balance_positive_row_lift_innerrightvalue) = 0) /\ (ge_balance_negative_row_lift_innerrightvalue) = S ge_signed_half_row_lift_innerrightvaluedecode))) /\ ((dst_positive_row_lift_innerright) + ge_balance_negative_row_lift_innerrightvalue = (dst_negative_row_lift_innerright) + ge_balance_positive_row_lift_innerrightvalue))))))))) /\ (exists sto_ap_row_lift_innerproduct sto_an_row_lift_innerproduct sto_bp_row_lift_innerproduct sto_bn_row_lift_innerproduct sto_cp_row_lift_innerproduct sto_cn_row_lift_innerproduct. (((((dc_left_row_lift_inner) = 2 * (sto_ap_row_lift_innerproduct) /\ (sto_an_row_lift_innerproduct) = 0) \/ exists ge_signed_half_row_lift_innerproductleft. (((dc_left_row_lift_inner) = 2 * ge_signed_half_row_lift_innerproductleft + 1 /\ (sto_ap_row_lift_innerproduct) = 0) /\ (sto_an_row_lift_innerproduct) = S ge_signed_half_row_lift_innerproductleft))) /\ ((((((dc_right_row_lift_inner) = 2 * (sto_bp_row_lift_innerproduct) /\ (sto_bn_row_lift_innerproduct) = 0) \/ exists ge_signed_half_row_lift_innerproductright. (((dc_right_row_lift_inner) = 2 * ge_signed_half_row_lift_innerproductright + 1 /\ (sto_bp_row_lift_innerproduct) = 0) /\ (sto_bn_row_lift_innerproduct) = S ge_signed_half_row_lift_innerproductright))) /\ ((((((v) = 2 * (sto_cp_row_lift_innerproduct) /\ (sto_cn_row_lift_innerproduct) = 0) \/ exists ge_signed_half_row_lift_innerproductoutput. (((v) = 2 * ge_signed_half_row_lift_innerproductoutput + 1 /\ (sto_cp_row_lift_innerproduct) = 0) /\ (sto_cn_row_lift_innerproduct) = S ge_signed_half_row_lift_innerproductoutput))) /\ ((sto_ap_row_lift_innerproduct * sto_bp_row_lift_innerproduct + sto_an_row_lift_innerproduct * sto_bn_row_lift_innerproduct) + sto_cn_row_lift_innerproduct = (sto_ap_row_lift_innerproduct * sto_bn_row_lift_innerproduct + sto_an_row_lift_innerproduct * sto_bp_row_lift_innerproduct) + sto_cp_row_lift_innerproduct))))))))))))))) \/ ((((e)=0 \/ ~(exists pvs_factor_row_lift_innernondivisor. (q) = (e) * pvs_factor_row_lift_innernondivisor)) /\ ((v)=0)))) -> (exists sto_ap_row_lift_product sto_an_row_lift_product sto_bp_row_lift_product sto_bn_row_lift_product sto_cp_row_lift_product sto_cn_row_lift_product. (((((u) = 2 * (sto_ap_row_lift_product) /\ (sto_an_row_lift_product) = 0) \/ exists ge_signed_half_row_lift_productleft. (((u) = 2 * ge_signed_half_row_lift_productleft + 1 /\ (sto_ap_row_lift_product) = 0) /\ (sto_an_row_lift_product) = S ge_signed_half_row_lift_productleft))) /\ ((((((v) = 2 * (sto_bp_row_lift_product) /\ (sto_bn_row_lift_product) = 0) \/ exists ge_signed_half_row_lift_productright. (((v) = 2 * ge_signed_half_row_lift_productright + 1 /\ (sto_bp_row_lift_product) = 0) /\ (sto_bn_row_lift_product) = S ge_signed_half_row_lift_productright))) /\ ((((((z) = 2 * (sto_cp_row_lift_product) /\ (sto_cn_row_lift_product) = 0) \/ exists ge_signed_half_row_lift_productoutput. (((z) = 2 * ge_signed_half_row_lift_productoutput + 1 /\ (sto_cp_row_lift_product) = 0) /\ (sto_cn_row_lift_product) = S ge_signed_half_row_lift_productoutput))) /\ ((sto_ap_row_lift_product * sto_bp_row_lift_product + sto_an_row_lift_product * sto_bn_row_lift_product) + sto_cn_row_lift_product = (sto_ap_row_lift_product * sto_bn_row_lift_product + sto_an_row_lift_product * sto_bp_row_lift_product) + sto_cp_row_lift_product))))))) -> ((((~((a)=0)) /\ (((~((e)=0)) /\ (exists dfg_middle_row_lift_result dfg_first_row_lift_result dfg_last_row_lift_result dfg_value_row_lift_result. (((n)=((a)*(e))*dfg_middle_row_lift_result) /\ (((exists dst_positive_code_row_lift_resultfirst dst_positive_scale_row_lift_resultfirst dst_negative_code_row_lift_resultfirst dst_negative_scale_row_lift_resultfirst dst_positive_row_lift_resultfirst dst_negative_row_lift_resultfirst. (((F) = (((((dst_positive_code_row_lift_resultfirst) + (dst_positive_scale_row_lift_resultfirst)) * S ((dst_positive_code_row_lift_resultfirst) + (dst_positive_scale_row_lift_resultfirst)) + ((dst_positive_scale_row_lift_resultfirst) + (dst_positive_scale_row_lift_resultfirst))) + (((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) * S ((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) + ((dst_negative_scale_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)))) * S ((((dst_positive_code_row_lift_resultfirst) + (dst_positive_scale_row_lift_resultfirst)) * S ((dst_positive_code_row_lift_resultfirst) + (dst_positive_scale_row_lift_resultfirst)) + ((dst_positive_scale_row_lift_resultfirst) + (dst_positive_scale_row_lift_resultfirst))) + (((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) * S ((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) + ((dst_negative_scale_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)))) + ((((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) * S ((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) + ((dst_negative_scale_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst))) + (((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) * S ((dst_negative_code_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)) + ((dst_negative_scale_row_lift_resultfirst) + (dst_negative_scale_row_lift_resultfirst)))))) /\ (((((exists ff_h_pvs_row_lift_resultfirstpositive. ff_h_pvs_row_lift_resultfirstpositive + S (dst_positive_row_lift_resultfirst) = S ((S (a)) * dst_positive_scale_row_lift_resultfirst)) /\ exists ff_q_pvs_row_lift_resultfirstpositive. dst_positive_code_row_lift_resultfirst = ff_q_pvs_row_lift_resultfirstpositive * S ((S (a)) * dst_positive_scale_row_lift_resultfirst) + (dst_positive_row_lift_resultfirst))) /\ (((((exists ff_h_pvs_row_lift_resultfirstnegative. ff_h_pvs_row_lift_resultfirstnegative + S (dst_negative_row_lift_resultfirst) = S ((S (a)) * dst_negative_scale_row_lift_resultfirst)) /\ exists ff_q_pvs_row_lift_resultfirstnegative. dst_negative_code_row_lift_resultfirst = ff_q_pvs_row_lift_resultfirstnegative * S ((S (a)) * dst_negative_scale_row_lift_resultfirst) + (dst_negative_row_lift_resultfirst))) /\ (exists ge_balance_positive_row_lift_resultfirstvalue ge_balance_negative_row_lift_resultfirstvalue. (((((dfg_first_row_lift_result) = 2 * (ge_balance_positive_row_lift_resultfirstvalue) /\ (ge_balance_negative_row_lift_resultfirstvalue) = 0) \/ exists ge_signed_half_row_lift_resultfirstvaluedecode. (((dfg_first_row_lift_result) = 2 * ge_signed_half_row_lift_resultfirstvaluedecode + 1 /\ (ge_balance_positive_row_lift_resultfirstvalue) = 0) /\ (ge_balance_negative_row_lift_resultfirstvalue) = S ge_signed_half_row_lift_resultfirstvaluedecode))) /\ ((dst_positive_row_lift_resultfirst) + ge_balance_negative_row_lift_resultfirstvalue = (dst_negative_row_lift_resultfirst) + ge_balance_positive_row_lift_resultfirstvalue))))))))) /\ (((exists dst_positive_code_row_lift_resultlast dst_positive_scale_row_lift_resultlast dst_negative_code_row_lift_resultlast dst_negative_scale_row_lift_resultlast dst_positive_row_lift_resultlast dst_negative_row_lift_resultlast. (((H) = (((((dst_positive_code_row_lift_resultlast) + (dst_positive_scale_row_lift_resultlast)) * S ((dst_positive_code_row_lift_resultlast) + (dst_positive_scale_row_lift_resultlast)) + ((dst_positive_scale_row_lift_resultlast) + (dst_positive_scale_row_lift_resultlast))) + (((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) * S ((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) + ((dst_negative_scale_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)))) * S ((((dst_positive_code_row_lift_resultlast) + (dst_positive_scale_row_lift_resultlast)) * S ((dst_positive_code_row_lift_resultlast) + (dst_positive_scale_row_lift_resultlast)) + ((dst_positive_scale_row_lift_resultlast) + (dst_positive_scale_row_lift_resultlast))) + (((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) * S ((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) + ((dst_negative_scale_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)))) + ((((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) * S ((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) + ((dst_negative_scale_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast))) + (((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) * S ((dst_negative_code_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)) + ((dst_negative_scale_row_lift_resultlast) + (dst_negative_scale_row_lift_resultlast)))))) /\ (((((exists ff_h_pvs_row_lift_resultlastpositive. ff_h_pvs_row_lift_resultlastpositive + S (dst_positive_row_lift_resultlast) = S ((S (e)) * dst_positive_scale_row_lift_resultlast)) /\ exists ff_q_pvs_row_lift_resultlastpositive. dst_positive_code_row_lift_resultlast = ff_q_pvs_row_lift_resultlastpositive * S ((S (e)) * dst_positive_scale_row_lift_resultlast) + (dst_positive_row_lift_resultlast))) /\ (((((exists ff_h_pvs_row_lift_resultlastnegative. ff_h_pvs_row_lift_resultlastnegative + S (dst_negative_row_lift_resultlast) = S ((S (e)) * dst_negative_scale_row_lift_resultlast)) /\ exists ff_q_pvs_row_lift_resultlastnegative. dst_negative_code_row_lift_resultlast = ff_q_pvs_row_lift_resultlastnegative * S ((S (e)) * dst_negative_scale_row_lift_resultlast) + (dst_negative_row_lift_resultlast))) /\ (exists ge_balance_positive_row_lift_resultlastvalue ge_balance_negative_row_lift_resultlastvalue. (((((dfg_last_row_lift_result) = 2 * (ge_balance_positive_row_lift_resultlastvalue) /\ (ge_balance_negative_row_lift_resultlastvalue) = 0) \/ exists ge_signed_half_row_lift_resultlastvaluedecode. (((dfg_last_row_lift_result) = 2 * ge_signed_half_row_lift_resultlastvaluedecode + 1 /\ (ge_balance_positive_row_lift_resultlastvalue) = 0) /\ (ge_balance_negative_row_lift_resultlastvalue) = S ge_signed_half_row_lift_resultlastvaluedecode))) /\ ((dst_positive_row_lift_resultlast) + ge_balance_negative_row_lift_resultlastvalue = (dst_negative_row_lift_resultlast) + ge_balance_positive_row_lift_resultlastvalue))))))))) /\ (((exists dst_positive_code_row_lift_resultmiddle dst_positive_scale_row_lift_resultmiddle dst_negative_code_row_lift_resultmiddle dst_negative_scale_row_lift_resultmiddle dst_positive_row_lift_resultmiddle dst_negative_row_lift_resultmiddle. (((G) = (((((dst_positive_code_row_lift_resultmiddle) + (dst_positive_scale_row_lift_resultmiddle)) * S ((dst_positive_code_row_lift_resultmiddle) + (dst_positive_scale_row_lift_resultmiddle)) + ((dst_positive_scale_row_lift_resultmiddle) + (dst_positive_scale_row_lift_resultmiddle))) + (((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) * S ((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) + ((dst_negative_scale_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)))) * S ((((dst_positive_code_row_lift_resultmiddle) + (dst_positive_scale_row_lift_resultmiddle)) * S ((dst_positive_code_row_lift_resultmiddle) + (dst_positive_scale_row_lift_resultmiddle)) + ((dst_positive_scale_row_lift_resultmiddle) + (dst_positive_scale_row_lift_resultmiddle))) + (((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) * S ((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) + ((dst_negative_scale_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)))) + ((((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) * S ((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) + ((dst_negative_scale_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle))) + (((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) * S ((dst_negative_code_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)) + ((dst_negative_scale_row_lift_resultmiddle) + (dst_negative_scale_row_lift_resultmiddle)))))) /\ (((((exists ff_h_pvs_row_lift_resultmiddlepositive. ff_h_pvs_row_lift_resultmiddlepositive + S (dst_positive_row_lift_resultmiddle) = S ((S (dfg_middle_row_lift_result)) * dst_positive_scale_row_lift_resultmiddle)) /\ exists ff_q_pvs_row_lift_resultmiddlepositive. dst_positive_code_row_lift_resultmiddle = ff_q_pvs_row_lift_resultmiddlepositive * S ((S (dfg_middle_row_lift_result)) * dst_positive_scale_row_lift_resultmiddle) + (dst_positive_row_lift_resultmiddle))) /\ (((((exists ff_h_pvs_row_lift_resultmiddlenegative. ff_h_pvs_row_lift_resultmiddlenegative + S (dst_negative_row_lift_resultmiddle) = S ((S (dfg_middle_row_lift_result)) * dst_negative_scale_row_lift_resultmiddle)) /\ exists ff_q_pvs_row_lift_resultmiddlenegative. dst_negative_code_row_lift_resultmiddle = ff_q_pvs_row_lift_resultmiddlenegative * S ((S (dfg_middle_row_lift_result)) * dst_negative_scale_row_lift_resultmiddle) + (dst_negative_row_lift_resultmiddle))) /\ (exists ge_balance_positive_row_lift_resultmiddlevalue ge_balance_negative_row_lift_resultmiddlevalue. (((((dfg_value_row_lift_result) = 2 * (ge_balance_positive_row_lift_resultmiddlevalue) /\ (ge_balance_negative_row_lift_resultmiddlevalue) = 0) \/ exists ge_signed_half_row_lift_resultmiddlevaluedecode. (((dfg_value_row_lift_result) = 2 * ge_signed_half_row_lift_resultmiddlevaluedecode + 1 /\ (ge_balance_positive_row_lift_resultmiddlevalue) = 0) /\ (ge_balance_negative_row_lift_resultmiddlevalue) = S ge_signed_half_row_lift_resultmiddlevaluedecode))) /\ ((dst_positive_row_lift_resultmiddle) + ge_balance_negative_row_lift_resultmiddlevalue = (dst_negative_row_lift_resultmiddle) + ge_balance_positive_row_lift_resultmiddlevalue))))))))) /\ (exists dfg_inner_row_lift_resultproduct. ((exists sto_ap_row_lift_resultproductinner sto_an_row_lift_resultproductinner sto_bp_row_lift_resultproductinner sto_bn_row_lift_resultproductinner sto_cp_row_lift_resultproductinner sto_cn_row_lift_resultproductinner. (((((dfg_last_row_lift_result) = 2 * (sto_ap_row_lift_resultproductinner) /\ (sto_an_row_lift_resultproductinner) = 0) \/ exists ge_signed_half_row_lift_resultproductinnerleft. (((dfg_last_row_lift_result) = 2 * ge_signed_half_row_lift_resultproductinnerleft + 1 /\ (sto_ap_row_lift_resultproductinner) = 0) /\ (sto_an_row_lift_resultproductinner) = S ge_signed_half_row_lift_resultproductinnerleft))) /\ ((((((dfg_value_row_lift_result) = 2 * (sto_bp_row_lift_resultproductinner) /\ (sto_bn_row_lift_resultproductinner) = 0) \/ exists ge_signed_half_row_lift_resultproductinnerright. (((dfg_value_row_lift_result) = 2 * ge_signed_half_row_lift_resultproductinnerright + 1 /\ (sto_bp_row_lift_resultproductinner) = 0) /\ (sto_bn_row_lift_resultproductinner) = S ge_signed_half_row_lift_resultproductinnerright))) /\ ((((((dfg_inner_row_lift_resultproduct) = 2 * (sto_cp_row_lift_resultproductinner) /\ (sto_cn_row_lift_resultproductinner) = 0) \/ exists ge_signed_half_row_lift_resultproductinneroutput. (((dfg_inner_row_lift_resultproduct) = 2 * ge_signed_half_row_lift_resultproductinneroutput + 1 /\ (sto_cp_row_lift_resultproductinner) = 0) /\ (sto_cn_row_lift_resultproductinner) = S ge_signed_half_row_lift_resultproductinneroutput))) /\ ((sto_ap_row_lift_resultproductinner * sto_bp_row_lift_resultproductinner + sto_an_row_lift_resultproductinner * sto_bn_row_lift_resultproductinner) + sto_cn_row_lift_resultproductinner = (sto_ap_row_lift_resultproductinner * sto_bn_row_lift_resultproductinner + sto_an_row_lift_resultproductinner * sto_bp_row_lift_resultproductinner) + sto_cp_row_lift_resultproductinner))))))) /\ (exists sto_ap_row_lift_resultproductouter sto_an_row_lift_resultproductouter sto_bp_row_lift_resultproductouter sto_bn_row_lift_resultproductouter sto_cp_row_lift_resultproductouter sto_cn_row_lift_resultproductouter. (((((dfg_first_row_lift_result) = 2 * (sto_ap_row_lift_resultproductouter) /\ (sto_an_row_lift_resultproductouter) = 0) \/ exists ge_signed_half_row_lift_resultproductouterleft. (((dfg_first_row_lift_result) = 2 * ge_signed_half_row_lift_resultproductouterleft + 1 /\ (sto_ap_row_lift_resultproductouter) = 0) /\ (sto_an_row_lift_resultproductouter) = S ge_signed_half_row_lift_resultproductouterleft))) /\ ((((((dfg_inner_row_lift_resultproduct) = 2 * (sto_bp_row_lift_resultproductouter) /\ (sto_bn_row_lift_resultproductouter) = 0) \/ exists ge_signed_half_row_lift_resultproductouterright. (((dfg_inner_row_lift_resultproduct) = 2 * ge_signed_half_row_lift_resultproductouterright + 1 /\ (sto_bp_row_lift_resultproductouter) = 0) /\ (sto_bn_row_lift_resultproductouter) = S ge_signed_half_row_lift_resultproductouterright))) /\ ((((((z) = 2 * (sto_cp_row_lift_resultproductouter) /\ (sto_cn_row_lift_resultproductouter) = 0) \/ exists ge_signed_half_row_lift_resultproductouteroutput. (((z) = 2 * ge_signed_half_row_lift_resultproductouteroutput + 1 /\ (sto_cp_row_lift_resultproductouter) = 0) /\ (sto_cn_row_lift_resultproductouter) = S ge_signed_half_row_lift_resultproductouteroutput))) /\ ((sto_ap_row_lift_resultproductouter * sto_bp_row_lift_resultproductouter + sto_an_row_lift_resultproductouter * sto_bn_row_lift_resultproductouter) + sto_cn_row_lift_resultproductouter = (sto_ap_row_lift_resultproductouter * sto_bn_row_lift_resultproductouter + sto_an_row_lift_resultproductouter * sto_bp_row_lift_resultproductouter) + sto_cp_row_lift_resultproductouter))))))))))))))))))))) \/ ((((a)=0 \/ ((e)=0 \/ ~(exists pvs_factor_row_lift_resultomittednondivisor. (n) = ((a)*(e)) * pvs_factor_row_lift_resultomittednondivisor))) /\ ((z)=0))))Constructive proof overview
Generated structural guide
Multiplying an actual inner convolution summand gives the exact factor cell, including zero and omitted inner divisors.
The unchanged tactic script uses 6 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
DF0002 dirichlet_grid_entry_from_factorization mul_assoc Stable theorem; checked-use authorized signed_mul_functional Alpha theorem; checked-use authorized signed_mul_zero_right Alpha theorem; checked-use authorized DF0001 dirichlet_grid_entry_omitted DF0010 dirichlet_grid_middle_factor_equationDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (3)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–15
03Separate the logical casesL16–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Use earlier factsL24–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
specialize dirichlet_grid_entry_from_factorization (F) - L25
specialize dirichlet_grid_entry_from_factorization (G) - L26
specialize dirichlet_grid_entry_from_factorization (H) - L27
specialize dirichlet_grid_entry_from_factorization (n) - L28
specialize dirichlet_grid_entry_from_factorization (a) - L29
specialize dirichlet_grid_entry_from_factorization (e) - L30
specialize dirichlet_grid_entry_from_factorization (x) - L31
specialize dirichlet_grid_entry_from_factorization (u) - L32
specialize dirichlet_grid_entry_from_factorization (x1) - L33
specialize dirichlet_grid_entry_from_factorization (x2)
05Use earlier factsL34–38
06Calculate and transport equalitiesL39–39
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L39
trans a*q
07Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hq
08Calculate and transport equalitiesL41–42
09Use earlier factsL43–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
10Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases hv_right
11Calculate and transport equalitiesL50–51
12Establish hz0L52–61
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply signed mul functional.
13Calculate and transport equalitiesL62–63
14Use earlier factsL64–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
specialize dirichlet_grid_entry_omitted (F) - L65
specialize dirichlet_grid_entry_omitted (G) - L66
specialize dirichlet_grid_entry_omitted (H) - L67
specialize dirichlet_grid_entry_omitted (n) - L68
specialize dirichlet_grid_entry_omitted (a) - L69
specialize dirichlet_grid_entry_omitted (e) - L70
apply dirichlet_grid_entry_omitted
15Separate the logical casesL71–73
16Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hv_right_left_left
17Separate the logical casesL75–76
18Fix variables and assumptionsL77–77
Work with arbitrary variables or the premises of the current implication.
- L77
intro hdiv
19Separate the logical casesL78–78
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L78
cases hdiv
20Use earlier factsL79–79
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L79
apply hv_right_left_right
21Construct an explicit witnessL80–80
Supply the displayed value, then prove that it has the required property.
- L80
exists x
22Use earlier factsL81–89
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
specialize dirichlet_grid_middle_factor_equation (n) - L82
specialize dirichlet_grid_middle_factor_equation (a) - L83
specialize dirichlet_grid_middle_factor_equation (e) - L84
specialize dirichlet_grid_middle_factor_equation (x) - L85
specialize dirichlet_grid_middle_factor_equation (q) - L86
apply dirichlet_grid_middle_factor_equation - L87
exact ha - L88
exact hq - L89
exact hdiv_witness
Original exact command ledger · 89 lines
- 0001
intro F - 0002
intro G - 0003
intro H - 0004
intro n - 0005
intro a - 0006
intro q - 0007
intro u - 0008
intro e - 0009
intro v - 0010
intro z - 0011
intro ha - 0012
intro hq - 0013
intro hu - 0014
intro hv - 0015
intro hz - 0016
cases hv - 0017
cases hv_left - 0018
cases hv_left_right - 0019
cases hv_left_right_witness - 0020
cases hv_left_right_witness_witness - 0021
cases hv_left_right_witness_witness_witness - 0022
cases hv_left_right_witness_witness_witness_right - 0023
cases hv_left_right_witness_witness_witness_right_right - 0024
specialize dirichlet_grid_entry_from_factorization (F) - 0025
specialize dirichlet_grid_entry_from_factorization (G) - 0026
specialize dirichlet_grid_entry_from_factorization (H) - 0027
specialize dirichlet_grid_entry_from_factorization (n) - 0028
specialize dirichlet_grid_entry_from_factorization (a) - 0029
specialize dirichlet_grid_entry_from_factorization (e) - 0030
specialize dirichlet_grid_entry_from_factorization (x) - 0031
specialize dirichlet_grid_entry_from_factorization (u) - 0032
specialize dirichlet_grid_entry_from_factorization (x1) - 0033
specialize dirichlet_grid_entry_from_factorization (x2) - 0034
specialize dirichlet_grid_entry_from_factorization (v) - 0035
specialize dirichlet_grid_entry_from_factorization (z) - 0036
apply dirichlet_grid_entry_from_factorization - 0037
exact ha - 0038
exact hv_left_left - 0039
trans a*q - 0040
exact hq - 0041
rewrite hv_left_right_witness_witness_witness_left - 0042
symm - 0043
apply mul_assoc - 0044
exact hu - 0045
exact hv_left_right_witness_witness_witness_right_left - 0046
exact hv_left_right_witness_witness_witness_right_right_left - 0047
exact hv_left_right_witness_witness_witness_right_right_right - 0048
exact hz - 0049
cases hv_right - 0050
rewrite hv_right_right at hz - 0051
rewrite hv_right_right at hz - 0052
have hz0 : z=0 - 0053
specialize signed_mul_functional (u) - 0054
specialize signed_mul_functional (0) - 0055
specialize signed_mul_functional (z) - 0056
specialize signed_mul_functional (0) - 0057
apply signed_mul_functional - 0058
exact hz - 0059
specialize signed_mul_zero_right (u) - 0060
apply signed_mul_zero_right - 0061
rewrite hz0 - 0062
rewrite hz0 - 0063
rewrite hz0 - 0064
specialize dirichlet_grid_entry_omitted (F) - 0065
specialize dirichlet_grid_entry_omitted (G) - 0066
specialize dirichlet_grid_entry_omitted (H) - 0067
specialize dirichlet_grid_entry_omitted (n) - 0068
specialize dirichlet_grid_entry_omitted (a) - 0069
specialize dirichlet_grid_entry_omitted (e) - 0070
apply dirichlet_grid_entry_omitted - 0071
cases hv_right_left - 0072
right - 0073
left - 0074
exact hv_right_left_left - 0075
right - 0076
right - 0077
intro hdiv - 0078
cases hdiv - 0079
apply hv_right_left_right - 0080
exists x - 0081
specialize dirichlet_grid_middle_factor_equation (n) - 0082
specialize dirichlet_grid_middle_factor_equation (a) - 0083
specialize dirichlet_grid_middle_factor_equation (e) - 0084
specialize dirichlet_grid_middle_factor_equation (x) - 0085
specialize dirichlet_grid_middle_factor_equation (q) - 0086
apply dirichlet_grid_middle_factor_equation - 0087
exact ha - 0088
exact hq - 0089
exact hdiv_witness