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 n a b z. ~(n=0) -> (exists dst_positive_code_endpoint_first dst_positive_scale_endpoint_first dst_negative_code_endpoint_first dst_negative_scale_endpoint_first dst_positive_endpoint_first dst_negative_endpoint_first. (((F) = (((((dst_positive_code_endpoint_first) + (dst_positive_scale_endpoint_first)) * S ((dst_positive_code_endpoint_first) + (dst_positive_scale_endpoint_first)) + ((dst_positive_scale_endpoint_first) + (dst_positive_scale_endpoint_first))) + (((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) * S ((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) + ((dst_negative_scale_endpoint_first) + (dst_negative_scale_endpoint_first)))) * S ((((dst_positive_code_endpoint_first) + (dst_positive_scale_endpoint_first)) * S ((dst_positive_code_endpoint_first) + (dst_positive_scale_endpoint_first)) + ((dst_positive_scale_endpoint_first) + (dst_positive_scale_endpoint_first))) + (((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) * S ((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) + ((dst_negative_scale_endpoint_first) + (dst_negative_scale_endpoint_first)))) + ((((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) * S ((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) + ((dst_negative_scale_endpoint_first) + (dst_negative_scale_endpoint_first))) + (((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) * S ((dst_negative_code_endpoint_first) + (dst_negative_scale_endpoint_first)) + ((dst_negative_scale_endpoint_first) + (dst_negative_scale_endpoint_first)))))) /\ (((((exists ff_h_pvs_endpoint_firstpositive. ff_h_pvs_endpoint_firstpositive + S (dst_positive_endpoint_first) = S ((S (n)) * dst_positive_scale_endpoint_first)) /\ exists ff_q_pvs_endpoint_firstpositive. dst_positive_code_endpoint_first = ff_q_pvs_endpoint_firstpositive * S ((S (n)) * dst_positive_scale_endpoint_first) + (dst_positive_endpoint_first))) /\ (((((exists ff_h_pvs_endpoint_firstnegative. ff_h_pvs_endpoint_firstnegative + S (dst_negative_endpoint_first) = S ((S (n)) * dst_negative_scale_endpoint_first)) /\ exists ff_q_pvs_endpoint_firstnegative. dst_negative_code_endpoint_first = ff_q_pvs_endpoint_firstnegative * S ((S (n)) * dst_negative_scale_endpoint_first) + (dst_negative_endpoint_first))) /\ (exists ge_balance_positive_endpoint_firstvalue ge_balance_negative_endpoint_firstvalue. (((((a) = 2 * (ge_balance_positive_endpoint_firstvalue) /\ (ge_balance_negative_endpoint_firstvalue) = 0) \/ exists ge_signed_half_endpoint_firstvaluedecode. (((a) = 2 * ge_signed_half_endpoint_firstvaluedecode + 1 /\ (ge_balance_positive_endpoint_firstvalue) = 0) /\ (ge_balance_negative_endpoint_firstvalue) = S ge_signed_half_endpoint_firstvaluedecode))) /\ ((dst_positive_endpoint_first) + ge_balance_negative_endpoint_firstvalue = (dst_negative_endpoint_first) + ge_balance_positive_endpoint_firstvalue))))))))) -> (exists dst_positive_code_endpoint_second dst_positive_scale_endpoint_second dst_negative_code_endpoint_second dst_negative_scale_endpoint_second dst_positive_endpoint_second dst_negative_endpoint_second. (((G) = (((((dst_positive_code_endpoint_second) + (dst_positive_scale_endpoint_second)) * S ((dst_positive_code_endpoint_second) + (dst_positive_scale_endpoint_second)) + ((dst_positive_scale_endpoint_second) + (dst_positive_scale_endpoint_second))) + (((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) * S ((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) + ((dst_negative_scale_endpoint_second) + (dst_negative_scale_endpoint_second)))) * S ((((dst_positive_code_endpoint_second) + (dst_positive_scale_endpoint_second)) * S ((dst_positive_code_endpoint_second) + (dst_positive_scale_endpoint_second)) + ((dst_positive_scale_endpoint_second) + (dst_positive_scale_endpoint_second))) + (((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) * S ((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) + ((dst_negative_scale_endpoint_second) + (dst_negative_scale_endpoint_second)))) + ((((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) * S ((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) + ((dst_negative_scale_endpoint_second) + (dst_negative_scale_endpoint_second))) + (((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) * S ((dst_negative_code_endpoint_second) + (dst_negative_scale_endpoint_second)) + ((dst_negative_scale_endpoint_second) + (dst_negative_scale_endpoint_second)))))) /\ (((((exists ff_h_pvs_endpoint_secondpositive. ff_h_pvs_endpoint_secondpositive + S (dst_positive_endpoint_second) = S ((S (1)) * dst_positive_scale_endpoint_second)) /\ exists ff_q_pvs_endpoint_secondpositive. dst_positive_code_endpoint_second = ff_q_pvs_endpoint_secondpositive * S ((S (1)) * dst_positive_scale_endpoint_second) + (dst_positive_endpoint_second))) /\ (((((exists ff_h_pvs_endpoint_secondnegative. ff_h_pvs_endpoint_secondnegative + S (dst_negative_endpoint_second) = S ((S (1)) * dst_negative_scale_endpoint_second)) /\ exists ff_q_pvs_endpoint_secondnegative. dst_negative_code_endpoint_second = ff_q_pvs_endpoint_secondnegative * S ((S (1)) * dst_negative_scale_endpoint_second) + (dst_negative_endpoint_second))) /\ (exists ge_balance_positive_endpoint_secondvalue ge_balance_negative_endpoint_secondvalue. (((((b) = 2 * (ge_balance_positive_endpoint_secondvalue) /\ (ge_balance_negative_endpoint_secondvalue) = 0) \/ exists ge_signed_half_endpoint_secondvaluedecode. (((b) = 2 * ge_signed_half_endpoint_secondvaluedecode + 1 /\ (ge_balance_positive_endpoint_secondvalue) = 0) /\ (ge_balance_negative_endpoint_secondvalue) = S ge_signed_half_endpoint_secondvaluedecode))) /\ ((dst_positive_endpoint_second) + ge_balance_negative_endpoint_secondvalue = (dst_negative_endpoint_second) + ge_balance_positive_endpoint_secondvalue))))))))) -> ((((((~((n)=0)) /\ (exists dc_quotient_endpoint_summand dc_left_endpoint_summand dc_right_endpoint_summand. (((n)=(n)*dc_quotient_endpoint_summand) /\ (((exists dst_positive_code_endpoint_summandleft dst_positive_scale_endpoint_summandleft dst_negative_code_endpoint_summandleft dst_negative_scale_endpoint_summandleft dst_positive_endpoint_summandleft dst_negative_endpoint_summandleft. (((F) = (((((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) * S ((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) + ((dst_positive_scale_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft))) + (((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)))) * S ((((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) * S ((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) + ((dst_positive_scale_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft))) + (((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)))) + ((((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft))) + (((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)))))) /\ (((((exists ff_h_pvs_endpoint_summandleftpositive. ff_h_pvs_endpoint_summandleftpositive + S (dst_positive_endpoint_summandleft) = S ((S (n)) * dst_positive_scale_endpoint_summandleft)) /\ exists ff_q_pvs_endpoint_summandleftpositive. dst_positive_code_endpoint_summandleft = ff_q_pvs_endpoint_summandleftpositive * S ((S (n)) * dst_positive_scale_endpoint_summandleft) + (dst_positive_endpoint_summandleft))) /\ (((((exists ff_h_pvs_endpoint_summandleftnegative. ff_h_pvs_endpoint_summandleftnegative + S (dst_negative_endpoint_summandleft) = S ((S (n)) * dst_negative_scale_endpoint_summandleft)) /\ exists ff_q_pvs_endpoint_summandleftnegative. dst_negative_code_endpoint_summandleft = ff_q_pvs_endpoint_summandleftnegative * S ((S (n)) * dst_negative_scale_endpoint_summandleft) + (dst_negative_endpoint_summandleft))) /\ (exists ge_balance_positive_endpoint_summandleftvalue ge_balance_negative_endpoint_summandleftvalue. (((((dc_left_endpoint_summand) = 2 * (ge_balance_positive_endpoint_summandleftvalue) /\ (ge_balance_negative_endpoint_summandleftvalue) = 0) \/ exists ge_signed_half_endpoint_summandleftvaluedecode. (((dc_left_endpoint_summand) = 2 * ge_signed_half_endpoint_summandleftvaluedecode + 1 /\ (ge_balance_positive_endpoint_summandleftvalue) = 0) /\ (ge_balance_negative_endpoint_summandleftvalue) = S ge_signed_half_endpoint_summandleftvaluedecode))) /\ ((dst_positive_endpoint_summandleft) + ge_balance_negative_endpoint_summandleftvalue = (dst_negative_endpoint_summandleft) + ge_balance_positive_endpoint_summandleftvalue))))))))) /\ (((exists dst_positive_code_endpoint_summandright dst_positive_scale_endpoint_summandright dst_negative_code_endpoint_summandright dst_negative_scale_endpoint_summandright dst_positive_endpoint_summandright dst_negative_endpoint_summandright. (((G) = (((((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) * S ((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) + ((dst_positive_scale_endpoint_summandright) + (dst_positive_scale_endpoint_summandright))) + (((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)))) * S ((((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) * S ((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) + ((dst_positive_scale_endpoint_summandright) + (dst_positive_scale_endpoint_summandright))) + (((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)))) + ((((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright))) + (((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)))))) /\ (((((exists ff_h_pvs_endpoint_summandrightpositive. ff_h_pvs_endpoint_summandrightpositive + S (dst_positive_endpoint_summandright) = S ((S (dc_quotient_endpoint_summand)) * dst_positive_scale_endpoint_summandright)) /\ exists ff_q_pvs_endpoint_summandrightpositive. dst_positive_code_endpoint_summandright = ff_q_pvs_endpoint_summandrightpositive * S ((S (dc_quotient_endpoint_summand)) * dst_positive_scale_endpoint_summandright) + (dst_positive_endpoint_summandright))) /\ (((((exists ff_h_pvs_endpoint_summandrightnegative. ff_h_pvs_endpoint_summandrightnegative + S (dst_negative_endpoint_summandright) = S ((S (dc_quotient_endpoint_summand)) * dst_negative_scale_endpoint_summandright)) /\ exists ff_q_pvs_endpoint_summandrightnegative. dst_negative_code_endpoint_summandright = ff_q_pvs_endpoint_summandrightnegative * S ((S (dc_quotient_endpoint_summand)) * dst_negative_scale_endpoint_summandright) + (dst_negative_endpoint_summandright))) /\ (exists ge_balance_positive_endpoint_summandrightvalue ge_balance_negative_endpoint_summandrightvalue. (((((dc_right_endpoint_summand) = 2 * (ge_balance_positive_endpoint_summandrightvalue) /\ (ge_balance_negative_endpoint_summandrightvalue) = 0) \/ exists ge_signed_half_endpoint_summandrightvaluedecode. (((dc_right_endpoint_summand) = 2 * ge_signed_half_endpoint_summandrightvaluedecode + 1 /\ (ge_balance_positive_endpoint_summandrightvalue) = 0) /\ (ge_balance_negative_endpoint_summandrightvalue) = S ge_signed_half_endpoint_summandrightvaluedecode))) /\ ((dst_positive_endpoint_summandright) + ge_balance_negative_endpoint_summandrightvalue = (dst_negative_endpoint_summandright) + ge_balance_positive_endpoint_summandrightvalue))))))))) /\ (exists sto_ap_endpoint_summandproduct sto_an_endpoint_summandproduct sto_bp_endpoint_summandproduct sto_bn_endpoint_summandproduct sto_cp_endpoint_summandproduct sto_cn_endpoint_summandproduct. (((((dc_left_endpoint_summand) = 2 * (sto_ap_endpoint_summandproduct) /\ (sto_an_endpoint_summandproduct) = 0) \/ exists ge_signed_half_endpoint_summandproductleft. (((dc_left_endpoint_summand) = 2 * ge_signed_half_endpoint_summandproductleft + 1 /\ (sto_ap_endpoint_summandproduct) = 0) /\ (sto_an_endpoint_summandproduct) = S ge_signed_half_endpoint_summandproductleft))) /\ ((((((dc_right_endpoint_summand) = 2 * (sto_bp_endpoint_summandproduct) /\ (sto_bn_endpoint_summandproduct) = 0) \/ exists ge_signed_half_endpoint_summandproductright. (((dc_right_endpoint_summand) = 2 * ge_signed_half_endpoint_summandproductright + 1 /\ (sto_bp_endpoint_summandproduct) = 0) /\ (sto_bn_endpoint_summandproduct) = S ge_signed_half_endpoint_summandproductright))) /\ ((((((z) = 2 * (sto_cp_endpoint_summandproduct) /\ (sto_cn_endpoint_summandproduct) = 0) \/ exists ge_signed_half_endpoint_summandproductoutput. (((z) = 2 * ge_signed_half_endpoint_summandproductoutput + 1 /\ (sto_cp_endpoint_summandproduct) = 0) /\ (sto_cn_endpoint_summandproduct) = S ge_signed_half_endpoint_summandproductoutput))) /\ ((sto_ap_endpoint_summandproduct * sto_bp_endpoint_summandproduct + sto_an_endpoint_summandproduct * sto_bn_endpoint_summandproduct) + sto_cn_endpoint_summandproduct = (sto_ap_endpoint_summandproduct * sto_bn_endpoint_summandproduct + sto_an_endpoint_summandproduct * sto_bp_endpoint_summandproduct) + sto_cp_endpoint_summandproduct))))))))))))))) \/ ((((n)=0 \/ ~(exists pvs_factor_endpoint_summandnondivisor. (n) = (n) * pvs_factor_endpoint_summandnondivisor)) /\ ((z)=0)))) -> (exists sto_ap_endpoint_product sto_an_endpoint_product sto_bp_endpoint_product sto_bn_endpoint_product sto_cp_endpoint_product sto_cn_endpoint_product. (((((a) = 2 * (sto_ap_endpoint_product) /\ (sto_an_endpoint_product) = 0) \/ exists ge_signed_half_endpoint_productleft. (((a) = 2 * ge_signed_half_endpoint_productleft + 1 /\ (sto_ap_endpoint_product) = 0) /\ (sto_an_endpoint_product) = S ge_signed_half_endpoint_productleft))) /\ ((((((b) = 2 * (sto_bp_endpoint_product) /\ (sto_bn_endpoint_product) = 0) \/ exists ge_signed_half_endpoint_productright. (((b) = 2 * ge_signed_half_endpoint_productright + 1 /\ (sto_bp_endpoint_product) = 0) /\ (sto_bn_endpoint_product) = S ge_signed_half_endpoint_productright))) /\ ((((((z) = 2 * (sto_cp_endpoint_product) /\ (sto_cn_endpoint_product) = 0) \/ exists ge_signed_half_endpoint_productoutput. (((z) = 2 * ge_signed_half_endpoint_productoutput + 1 /\ (sto_cp_endpoint_product) = 0) /\ (sto_cn_endpoint_product) = S ge_signed_half_endpoint_productoutput))) /\ ((sto_ap_endpoint_product * sto_bp_endpoint_product + sto_an_endpoint_product * sto_bn_endpoint_product) + sto_cn_endpoint_product = (sto_ap_endpoint_product * sto_bn_endpoint_product + sto_an_endpoint_product * sto_bp_endpoint_product) + sto_cp_endpoint_product)))))))) /\ ((exists sto_ap_endpoint_product sto_an_endpoint_product sto_bp_endpoint_product sto_bn_endpoint_product sto_cp_endpoint_product sto_cn_endpoint_product. (((((a) = 2 * (sto_ap_endpoint_product) /\ (sto_an_endpoint_product) = 0) \/ exists ge_signed_half_endpoint_productleft. (((a) = 2 * ge_signed_half_endpoint_productleft + 1 /\ (sto_ap_endpoint_product) = 0) /\ (sto_an_endpoint_product) = S ge_signed_half_endpoint_productleft))) /\ ((((((b) = 2 * (sto_bp_endpoint_product) /\ (sto_bn_endpoint_product) = 0) \/ exists ge_signed_half_endpoint_productright. (((b) = 2 * ge_signed_half_endpoint_productright + 1 /\ (sto_bp_endpoint_product) = 0) /\ (sto_bn_endpoint_product) = S ge_signed_half_endpoint_productright))) /\ ((((((z) = 2 * (sto_cp_endpoint_product) /\ (sto_cn_endpoint_product) = 0) \/ exists ge_signed_half_endpoint_productoutput. (((z) = 2 * ge_signed_half_endpoint_productoutput + 1 /\ (sto_cp_endpoint_product) = 0) /\ (sto_cn_endpoint_product) = S ge_signed_half_endpoint_productoutput))) /\ ((sto_ap_endpoint_product * sto_bp_endpoint_product + sto_an_endpoint_product * sto_bn_endpoint_product) + sto_cn_endpoint_product = (sto_ap_endpoint_product * sto_bn_endpoint_product + sto_an_endpoint_product * sto_bp_endpoint_product) + sto_cp_endpoint_product))))))) -> ((((~((n)=0)) /\ (exists dc_quotient_endpoint_summand dc_left_endpoint_summand dc_right_endpoint_summand. (((n)=(n)*dc_quotient_endpoint_summand) /\ (((exists dst_positive_code_endpoint_summandleft dst_positive_scale_endpoint_summandleft dst_negative_code_endpoint_summandleft dst_negative_scale_endpoint_summandleft dst_positive_endpoint_summandleft dst_negative_endpoint_summandleft. (((F) = (((((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) * S ((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) + ((dst_positive_scale_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft))) + (((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)))) * S ((((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) * S ((dst_positive_code_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft)) + ((dst_positive_scale_endpoint_summandleft) + (dst_positive_scale_endpoint_summandleft))) + (((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)))) + ((((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft))) + (((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) * S ((dst_negative_code_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)) + ((dst_negative_scale_endpoint_summandleft) + (dst_negative_scale_endpoint_summandleft)))))) /\ (((((exists ff_h_pvs_endpoint_summandleftpositive. ff_h_pvs_endpoint_summandleftpositive + S (dst_positive_endpoint_summandleft) = S ((S (n)) * dst_positive_scale_endpoint_summandleft)) /\ exists ff_q_pvs_endpoint_summandleftpositive. dst_positive_code_endpoint_summandleft = ff_q_pvs_endpoint_summandleftpositive * S ((S (n)) * dst_positive_scale_endpoint_summandleft) + (dst_positive_endpoint_summandleft))) /\ (((((exists ff_h_pvs_endpoint_summandleftnegative. ff_h_pvs_endpoint_summandleftnegative + S (dst_negative_endpoint_summandleft) = S ((S (n)) * dst_negative_scale_endpoint_summandleft)) /\ exists ff_q_pvs_endpoint_summandleftnegative. dst_negative_code_endpoint_summandleft = ff_q_pvs_endpoint_summandleftnegative * S ((S (n)) * dst_negative_scale_endpoint_summandleft) + (dst_negative_endpoint_summandleft))) /\ (exists ge_balance_positive_endpoint_summandleftvalue ge_balance_negative_endpoint_summandleftvalue. (((((dc_left_endpoint_summand) = 2 * (ge_balance_positive_endpoint_summandleftvalue) /\ (ge_balance_negative_endpoint_summandleftvalue) = 0) \/ exists ge_signed_half_endpoint_summandleftvaluedecode. (((dc_left_endpoint_summand) = 2 * ge_signed_half_endpoint_summandleftvaluedecode + 1 /\ (ge_balance_positive_endpoint_summandleftvalue) = 0) /\ (ge_balance_negative_endpoint_summandleftvalue) = S ge_signed_half_endpoint_summandleftvaluedecode))) /\ ((dst_positive_endpoint_summandleft) + ge_balance_negative_endpoint_summandleftvalue = (dst_negative_endpoint_summandleft) + ge_balance_positive_endpoint_summandleftvalue))))))))) /\ (((exists dst_positive_code_endpoint_summandright dst_positive_scale_endpoint_summandright dst_negative_code_endpoint_summandright dst_negative_scale_endpoint_summandright dst_positive_endpoint_summandright dst_negative_endpoint_summandright. (((G) = (((((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) * S ((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) + ((dst_positive_scale_endpoint_summandright) + (dst_positive_scale_endpoint_summandright))) + (((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)))) * S ((((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) * S ((dst_positive_code_endpoint_summandright) + (dst_positive_scale_endpoint_summandright)) + ((dst_positive_scale_endpoint_summandright) + (dst_positive_scale_endpoint_summandright))) + (((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)))) + ((((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright))) + (((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) * S ((dst_negative_code_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)) + ((dst_negative_scale_endpoint_summandright) + (dst_negative_scale_endpoint_summandright)))))) /\ (((((exists ff_h_pvs_endpoint_summandrightpositive. ff_h_pvs_endpoint_summandrightpositive + S (dst_positive_endpoint_summandright) = S ((S (dc_quotient_endpoint_summand)) * dst_positive_scale_endpoint_summandright)) /\ exists ff_q_pvs_endpoint_summandrightpositive. dst_positive_code_endpoint_summandright = ff_q_pvs_endpoint_summandrightpositive * S ((S (dc_quotient_endpoint_summand)) * dst_positive_scale_endpoint_summandright) + (dst_positive_endpoint_summandright))) /\ (((((exists ff_h_pvs_endpoint_summandrightnegative. ff_h_pvs_endpoint_summandrightnegative + S (dst_negative_endpoint_summandright) = S ((S (dc_quotient_endpoint_summand)) * dst_negative_scale_endpoint_summandright)) /\ exists ff_q_pvs_endpoint_summandrightnegative. dst_negative_code_endpoint_summandright = ff_q_pvs_endpoint_summandrightnegative * S ((S (dc_quotient_endpoint_summand)) * dst_negative_scale_endpoint_summandright) + (dst_negative_endpoint_summandright))) /\ (exists ge_balance_positive_endpoint_summandrightvalue ge_balance_negative_endpoint_summandrightvalue. (((((dc_right_endpoint_summand) = 2 * (ge_balance_positive_endpoint_summandrightvalue) /\ (ge_balance_negative_endpoint_summandrightvalue) = 0) \/ exists ge_signed_half_endpoint_summandrightvaluedecode. (((dc_right_endpoint_summand) = 2 * ge_signed_half_endpoint_summandrightvaluedecode + 1 /\ (ge_balance_positive_endpoint_summandrightvalue) = 0) /\ (ge_balance_negative_endpoint_summandrightvalue) = S ge_signed_half_endpoint_summandrightvaluedecode))) /\ ((dst_positive_endpoint_summandright) + ge_balance_negative_endpoint_summandrightvalue = (dst_negative_endpoint_summandright) + ge_balance_positive_endpoint_summandrightvalue))))))))) /\ (exists sto_ap_endpoint_summandproduct sto_an_endpoint_summandproduct sto_bp_endpoint_summandproduct sto_bn_endpoint_summandproduct sto_cp_endpoint_summandproduct sto_cn_endpoint_summandproduct. (((((dc_left_endpoint_summand) = 2 * (sto_ap_endpoint_summandproduct) /\ (sto_an_endpoint_summandproduct) = 0) \/ exists ge_signed_half_endpoint_summandproductleft. (((dc_left_endpoint_summand) = 2 * ge_signed_half_endpoint_summandproductleft + 1 /\ (sto_ap_endpoint_summandproduct) = 0) /\ (sto_an_endpoint_summandproduct) = S ge_signed_half_endpoint_summandproductleft))) /\ ((((((dc_right_endpoint_summand) = 2 * (sto_bp_endpoint_summandproduct) /\ (sto_bn_endpoint_summandproduct) = 0) \/ exists ge_signed_half_endpoint_summandproductright. (((dc_right_endpoint_summand) = 2 * ge_signed_half_endpoint_summandproductright + 1 /\ (sto_bp_endpoint_summandproduct) = 0) /\ (sto_bn_endpoint_summandproduct) = S ge_signed_half_endpoint_summandproductright))) /\ ((((((z) = 2 * (sto_cp_endpoint_summandproduct) /\ (sto_cn_endpoint_summandproduct) = 0) \/ exists ge_signed_half_endpoint_summandproductoutput. (((z) = 2 * ge_signed_half_endpoint_summandproductoutput + 1 /\ (sto_cp_endpoint_summandproduct) = 0) /\ (sto_cn_endpoint_summandproduct) = S ge_signed_half_endpoint_summandproductoutput))) /\ ((sto_ap_endpoint_summandproduct * sto_bp_endpoint_summandproduct + sto_an_endpoint_summandproduct * sto_bn_endpoint_summandproduct) + sto_cn_endpoint_summandproduct = (sto_ap_endpoint_summandproduct * sto_bn_endpoint_summandproduct + sto_an_endpoint_summandproduct * sto_bp_endpoint_summandproduct) + sto_cp_endpoint_summandproduct))))))))))))))) \/ ((((n)=0 \/ ~(exists pvs_factor_endpoint_summandnondivisor. (n) = (n) * pvs_factor_endpoint_summandnondivisor)) /\ ((z)=0))))))Constructive proof overview
Generated structural guide
For n>0 the final divisor entry is exactly F(n)*G(1), using the actual quotient witness n=n*1 in both directions.
The unchanged tactic script uses 3 declared prerequisites and contains 42 exact native proof lines.
Alpha v34 checked-use · first admitted v31 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
dirichlet_convolution_entry_quotient_product Alpha theorem; checked-use authorized mul_one Stable theorem; checked-use authorized dirichlet_convolution_entry_from_quotient Alpha theorem; checked-use authorizedDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
01Fix variables and assumptionsL1–9
02Separate the logical casesL10–10
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L10
split
03Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro he
04Use earlier factsL12–21
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
specialize dirichlet_convolution_entry_quotient_product (F) - L13
specialize dirichlet_convolution_entry_quotient_product (G) - L14
specialize dirichlet_convolution_entry_quotient_product (n) - L15
specialize dirichlet_convolution_entry_quotient_product (n) - L16
specialize dirichlet_convolution_entry_quotient_product (1) - L17
specialize dirichlet_convolution_entry_quotient_product (a) - L18
specialize dirichlet_convolution_entry_quotient_product (b) - L19
specialize dirichlet_convolution_entry_quotient_product (z) - L20
apply dirichlet_convolution_entry_quotient_product - L21
exact hn
05Calculate and transport equalitiesL22–22
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L22
symm
06Use earlier factsL23–26
07Fix variables and assumptionsL27–27
Work with arbitrary variables or the premises of the current implication.
- L27
intro hp
08Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize dirichlet_convolution_entry_from_quotient (F) - L29
specialize dirichlet_convolution_entry_from_quotient (G) - L30
specialize dirichlet_convolution_entry_from_quotient (n) - L31
specialize dirichlet_convolution_entry_from_quotient (n) - L32
specialize dirichlet_convolution_entry_from_quotient (1) - L33
specialize dirichlet_convolution_entry_from_quotient (a) - L34
specialize dirichlet_convolution_entry_from_quotient (b) - L35
specialize dirichlet_convolution_entry_from_quotient (z) - L36
apply dirichlet_convolution_entry_from_quotient - L37
exact hn
09Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
symm
Original exact command ledger · 42 lines
- 0001
intro F - 0002
intro G - 0003
intro n - 0004
intro a - 0005
intro b - 0006
intro z - 0007
intro hn - 0008
intro ha - 0009
intro hb - 0010
split - 0011
intro he - 0012
specialize dirichlet_convolution_entry_quotient_product (F) - 0013
specialize dirichlet_convolution_entry_quotient_product (G) - 0014
specialize dirichlet_convolution_entry_quotient_product (n) - 0015
specialize dirichlet_convolution_entry_quotient_product (n) - 0016
specialize dirichlet_convolution_entry_quotient_product (1) - 0017
specialize dirichlet_convolution_entry_quotient_product (a) - 0018
specialize dirichlet_convolution_entry_quotient_product (b) - 0019
specialize dirichlet_convolution_entry_quotient_product (z) - 0020
apply dirichlet_convolution_entry_quotient_product - 0021
exact hn - 0022
symm - 0023
apply mul_one - 0024
exact ha - 0025
exact hb - 0026
exact he - 0027
intro hp - 0028
specialize dirichlet_convolution_entry_from_quotient (F) - 0029
specialize dirichlet_convolution_entry_from_quotient (G) - 0030
specialize dirichlet_convolution_entry_from_quotient (n) - 0031
specialize dirichlet_convolution_entry_from_quotient (n) - 0032
specialize dirichlet_convolution_entry_from_quotient (1) - 0033
specialize dirichlet_convolution_entry_from_quotient (a) - 0034
specialize dirichlet_convolution_entry_from_quotient (b) - 0035
specialize dirichlet_convolution_entry_from_quotient (z) - 0036
apply dirichlet_convolution_entry_from_quotient - 0037
exact hn - 0038
symm - 0039
apply mul_one - 0040
exact ha - 0041
exact hb - 0042
exact hp