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 original first-admission records.
Exact expanded first-order arithmetic statement
forall b c l Q. (exists gr_product_trace_successor_product gr_product_scale_successor_product. ((((exists ff_h_gprod_successor_productstart. ff_h_gprod_successor_productstart + S (6) = S ((S (0)) * gr_product_scale_successor_product)) /\ exists ff_q_gprod_successor_productstart. gr_product_trace_successor_product = ff_q_gprod_successor_productstart * S ((S (0)) * gr_product_scale_successor_product) + (6))) /\ ((((exists ff_h_gprod_successor_productend. ff_h_gprod_successor_productend + S (Q) = S ((S (S l)) * gr_product_scale_successor_product)) /\ exists ff_q_gprod_successor_productend. gr_product_trace_successor_product = ff_q_gprod_successor_productend * S ((S (S l)) * gr_product_scale_successor_product) + (Q))) /\ (forall gr_product_index_successor_productsteps. (exists ge_gap_successor_productstepsindex_bound. ge_gap_successor_productstepsindex_bound + S (gr_product_index_successor_productsteps) = (S l)) -> exists gr_product_factor_successor_productsteps gr_product_before_successor_productsteps gr_product_after_successor_productsteps. ((((exists ff_h_gprod_successor_productstepsfactor. ff_h_gprod_successor_productstepsfactor + S (gr_product_factor_successor_productsteps) = S ((S (gr_product_index_successor_productsteps)) * c)) /\ exists ff_q_gprod_successor_productstepsfactor. b = ff_q_gprod_successor_productstepsfactor * S ((S (gr_product_index_successor_productsteps)) * c) + (gr_product_factor_successor_productsteps))) /\ ((((exists ff_h_gprod_successor_productstepsbefore. ff_h_gprod_successor_productstepsbefore + S (gr_product_before_successor_productsteps) = S ((S (gr_product_index_successor_productsteps)) * gr_product_scale_successor_product)) /\ exists ff_q_gprod_successor_productstepsbefore. gr_product_trace_successor_product = ff_q_gprod_successor_productstepsbefore * S ((S (gr_product_index_successor_productsteps)) * gr_product_scale_successor_product) + (gr_product_before_successor_productsteps))) /\ ((((exists ff_h_gprod_successor_productstepsafter. ff_h_gprod_successor_productstepsafter + S (gr_product_after_successor_productsteps) = S ((S (S (gr_product_index_successor_productsteps))) * gr_product_scale_successor_product)) /\ exists ff_q_gprod_successor_productstepsafter. gr_product_trace_successor_product = ff_q_gprod_successor_productstepsafter * S ((S (S (gr_product_index_successor_productsteps))) * gr_product_scale_successor_product) + (gr_product_after_successor_productsteps))) /\ (exists ge_first_rp_successor_productstepsmultiply ge_first_rn_successor_productstepsmultiply ge_first_ip_successor_productstepsmultiply ge_first_in_successor_productstepsmultiply ge_second_rp_successor_productstepsmultiply ge_second_rn_successor_productstepsmultiply ge_second_ip_successor_productstepsmultiply ge_second_in_successor_productstepsmultiply. ((exists ge_representation_real_code_successor_productstepsmultiplyfirst ge_representation_imaginary_code_successor_productstepsmultiplyfirst. (((gr_product_before_successor_productsteps) = ((ge_representation_real_code_successor_productstepsmultiplyfirst) + (ge_representation_imaginary_code_successor_productstepsmultiplyfirst)) * S ((ge_representation_real_code_successor_productstepsmultiplyfirst) + (ge_representation_imaginary_code_successor_productstepsmultiplyfirst)) + ((ge_representation_imaginary_code_successor_productstepsmultiplyfirst) + (ge_representation_imaginary_code_successor_productstepsmultiplyfirst))) /\ ((exists ge_balance_positive_successor_productstepsmultiplyfirstreal ge_balance_negative_successor_productstepsmultiplyfirstreal. (((((ge_representation_real_code_successor_productstepsmultiplyfirst) = 2 * (ge_balance_positive_successor_productstepsmultiplyfirstreal) /\ (ge_balance_negative_successor_productstepsmultiplyfirstreal) = 0) \/ exists ge_signed_half_successor_productstepsmultiplyfirstrealdecode. (((ge_representation_real_code_successor_productstepsmultiplyfirst) = 2 * ge_signed_half_successor_productstepsmultiplyfirstrealdecode + 1 /\ (ge_balance_positive_successor_productstepsmultiplyfirstreal) = 0) /\ (ge_balance_negative_successor_productstepsmultiplyfirstreal) = S ge_signed_half_successor_productstepsmultiplyfirstrealdecode))) /\ ((ge_first_rp_successor_productstepsmultiply) + ge_balance_negative_successor_productstepsmultiplyfirstreal = (ge_first_rn_successor_productstepsmultiply) + ge_balance_positive_successor_productstepsmultiplyfirstreal))) /\ (exists ge_balance_positive_successor_productstepsmultiplyfirstimaginary ge_balance_negative_successor_productstepsmultiplyfirstimaginary. (((((ge_representation_imaginary_code_successor_productstepsmultiplyfirst) = 2 * (ge_balance_positive_successor_productstepsmultiplyfirstimaginary) /\ (ge_balance_negative_successor_productstepsmultiplyfirstimaginary) = 0) \/ exists ge_signed_half_successor_productstepsmultiplyfirstimaginarydecode. (((ge_representation_imaginary_code_successor_productstepsmultiplyfirst) = 2 * ge_signed_half_successor_productstepsmultiplyfirstimaginarydecode + 1 /\ (ge_balance_positive_successor_productstepsmultiplyfirstimaginary) = 0) /\ (ge_balance_negative_successor_productstepsmultiplyfirstimaginary) = S ge_signed_half_successor_productstepsmultiplyfirstimaginarydecode))) /\ ((ge_first_ip_successor_productstepsmultiply) + ge_balance_negative_successor_productstepsmultiplyfirstimaginary = (ge_first_in_successor_productstepsmultiply) + ge_balance_positive_successor_productstepsmultiplyfirstimaginary)))))) /\ ((exists ge_representation_real_code_successor_productstepsmultiplysecond ge_representation_imaginary_code_successor_productstepsmultiplysecond. (((gr_product_factor_successor_productsteps) = ((ge_representation_real_code_successor_productstepsmultiplysecond) + (ge_representation_imaginary_code_successor_productstepsmultiplysecond)) * S ((ge_representation_real_code_successor_productstepsmultiplysecond) + (ge_representation_imaginary_code_successor_productstepsmultiplysecond)) + ((ge_representation_imaginary_code_successor_productstepsmultiplysecond) + (ge_representation_imaginary_code_successor_productstepsmultiplysecond))) /\ ((exists ge_balance_positive_successor_productstepsmultiplysecondreal ge_balance_negative_successor_productstepsmultiplysecondreal. (((((ge_representation_real_code_successor_productstepsmultiplysecond) = 2 * (ge_balance_positive_successor_productstepsmultiplysecondreal) /\ (ge_balance_negative_successor_productstepsmultiplysecondreal) = 0) \/ exists ge_signed_half_successor_productstepsmultiplysecondrealdecode. (((ge_representation_real_code_successor_productstepsmultiplysecond) = 2 * ge_signed_half_successor_productstepsmultiplysecondrealdecode + 1 /\ (ge_balance_positive_successor_productstepsmultiplysecondreal) = 0) /\ (ge_balance_negative_successor_productstepsmultiplysecondreal) = S ge_signed_half_successor_productstepsmultiplysecondrealdecode))) /\ ((ge_second_rp_successor_productstepsmultiply) + ge_balance_negative_successor_productstepsmultiplysecondreal = (ge_second_rn_successor_productstepsmultiply) + ge_balance_positive_successor_productstepsmultiplysecondreal))) /\ (exists ge_balance_positive_successor_productstepsmultiplysecondimaginary ge_balance_negative_successor_productstepsmultiplysecondimaginary. (((((ge_representation_imaginary_code_successor_productstepsmultiplysecond) = 2 * (ge_balance_positive_successor_productstepsmultiplysecondimaginary) /\ (ge_balance_negative_successor_productstepsmultiplysecondimaginary) = 0) \/ exists ge_signed_half_successor_productstepsmultiplysecondimaginarydecode. (((ge_representation_imaginary_code_successor_productstepsmultiplysecond) = 2 * ge_signed_half_successor_productstepsmultiplysecondimaginarydecode + 1 /\ (ge_balance_positive_successor_productstepsmultiplysecondimaginary) = 0) /\ (ge_balance_negative_successor_productstepsmultiplysecondimaginary) = S ge_signed_half_successor_productstepsmultiplysecondimaginarydecode))) /\ ((ge_second_ip_successor_productstepsmultiply) + ge_balance_negative_successor_productstepsmultiplysecondimaginary = (ge_second_in_successor_productstepsmultiply) + ge_balance_positive_successor_productstepsmultiplysecondimaginary)))))) /\ (exists ge_representation_real_code_successor_productstepsmultiplyoutput ge_representation_imaginary_code_successor_productstepsmultiplyoutput. (((gr_product_after_successor_productsteps) = ((ge_representation_real_code_successor_productstepsmultiplyoutput) + (ge_representation_imaginary_code_successor_productstepsmultiplyoutput)) * S ((ge_representation_real_code_successor_productstepsmultiplyoutput) + (ge_representation_imaginary_code_successor_productstepsmultiplyoutput)) + ((ge_representation_imaginary_code_successor_productstepsmultiplyoutput) + (ge_representation_imaginary_code_successor_productstepsmultiplyoutput))) /\ ((exists ge_balance_positive_successor_productstepsmultiplyoutputreal ge_balance_negative_successor_productstepsmultiplyoutputreal. (((((ge_representation_real_code_successor_productstepsmultiplyoutput) = 2 * (ge_balance_positive_successor_productstepsmultiplyoutputreal) /\ (ge_balance_negative_successor_productstepsmultiplyoutputreal) = 0) \/ exists ge_signed_half_successor_productstepsmultiplyoutputrealdecode. (((ge_representation_real_code_successor_productstepsmultiplyoutput) = 2 * ge_signed_half_successor_productstepsmultiplyoutputrealdecode + 1 /\ (ge_balance_positive_successor_productstepsmultiplyoutputreal) = 0) /\ (ge_balance_negative_successor_productstepsmultiplyoutputreal) = S ge_signed_half_successor_productstepsmultiplyoutputrealdecode))) /\ ((((((((ge_first_rp_successor_productstepsmultiply) * (ge_second_rp_successor_productstepsmultiply))) + (((ge_first_rn_successor_productstepsmultiply) * (ge_second_rn_successor_productstepsmultiply))))) + (((((ge_first_ip_successor_productstepsmultiply) * (ge_second_in_successor_productstepsmultiply))) + (((ge_first_in_successor_productstepsmultiply) * (ge_second_ip_successor_productstepsmultiply))))))) + ge_balance_negative_successor_productstepsmultiplyoutputreal = (((((((ge_first_rp_successor_productstepsmultiply) * (ge_second_rn_successor_productstepsmultiply))) + (((ge_first_rn_successor_productstepsmultiply) * (ge_second_rp_successor_productstepsmultiply))))) + (((((ge_first_ip_successor_productstepsmultiply) * (ge_second_ip_successor_productstepsmultiply))) + (((ge_first_in_successor_productstepsmultiply) * (ge_second_in_successor_productstepsmultiply))))))) + ge_balance_positive_successor_productstepsmultiplyoutputreal))) /\ (exists ge_balance_positive_successor_productstepsmultiplyoutputimaginary ge_balance_negative_successor_productstepsmultiplyoutputimaginary. (((((ge_representation_imaginary_code_successor_productstepsmultiplyoutput) = 2 * (ge_balance_positive_successor_productstepsmultiplyoutputimaginary) /\ (ge_balance_negative_successor_productstepsmultiplyoutputimaginary) = 0) \/ exists ge_signed_half_successor_productstepsmultiplyoutputimaginarydecode. (((ge_representation_imaginary_code_successor_productstepsmultiplyoutput) = 2 * ge_signed_half_successor_productstepsmultiplyoutputimaginarydecode + 1 /\ (ge_balance_positive_successor_productstepsmultiplyoutputimaginary) = 0) /\ (ge_balance_negative_successor_productstepsmultiplyoutputimaginary) = S ge_signed_half_successor_productstepsmultiplyoutputimaginarydecode))) /\ ((((((((ge_first_rp_successor_productstepsmultiply) * (ge_second_ip_successor_productstepsmultiply))) + (((ge_first_rn_successor_productstepsmultiply) * (ge_second_in_successor_productstepsmultiply))))) + (((((ge_first_ip_successor_productstepsmultiply) * (ge_second_rp_successor_productstepsmultiply))) + (((ge_first_in_successor_productstepsmultiply) * (ge_second_rn_successor_productstepsmultiply))))))) + ge_balance_negative_successor_productstepsmultiplyoutputimaginary = (((((((ge_first_rp_successor_productstepsmultiply) * (ge_second_in_successor_productstepsmultiply))) + (((ge_first_rn_successor_productstepsmultiply) * (ge_second_ip_successor_productstepsmultiply))))) + (((((ge_first_ip_successor_productstepsmultiply) * (ge_second_rn_successor_productstepsmultiply))) + (((ge_first_in_successor_productstepsmultiply) * (ge_second_rp_successor_productstepsmultiply))))))) + ge_balance_positive_successor_productstepsmultiplyoutputimaginary)))))))))))))))) -> exists a P. ((((exists ff_h_gprod_successor_factor. ff_h_gprod_successor_factor + S (a) = S ((S (l)) * c)) /\ exists ff_q_gprod_successor_factor. b = ff_q_gprod_successor_factor * S ((S (l)) * c) + (a))) /\ ((exists gr_product_trace_successor_prefix gr_product_scale_successor_prefix. ((((exists ff_h_gprod_successor_prefixstart. ff_h_gprod_successor_prefixstart + S (6) = S ((S (0)) * gr_product_scale_successor_prefix)) /\ exists ff_q_gprod_successor_prefixstart. gr_product_trace_successor_prefix = ff_q_gprod_successor_prefixstart * S ((S (0)) * gr_product_scale_successor_prefix) + (6))) /\ ((((exists ff_h_gprod_successor_prefixend. ff_h_gprod_successor_prefixend + S (P) = S ((S (l)) * gr_product_scale_successor_prefix)) /\ exists ff_q_gprod_successor_prefixend. gr_product_trace_successor_prefix = ff_q_gprod_successor_prefixend * S ((S (l)) * gr_product_scale_successor_prefix) + (P))) /\ (forall gr_product_index_successor_prefixsteps. (exists ge_gap_successor_prefixstepsindex_bound. ge_gap_successor_prefixstepsindex_bound + S (gr_product_index_successor_prefixsteps) = (l)) -> exists gr_product_factor_successor_prefixsteps gr_product_before_successor_prefixsteps gr_product_after_successor_prefixsteps. ((((exists ff_h_gprod_successor_prefixstepsfactor. ff_h_gprod_successor_prefixstepsfactor + S (gr_product_factor_successor_prefixsteps) = S ((S (gr_product_index_successor_prefixsteps)) * c)) /\ exists ff_q_gprod_successor_prefixstepsfactor. b = ff_q_gprod_successor_prefixstepsfactor * S ((S (gr_product_index_successor_prefixsteps)) * c) + (gr_product_factor_successor_prefixsteps))) /\ ((((exists ff_h_gprod_successor_prefixstepsbefore. ff_h_gprod_successor_prefixstepsbefore + S (gr_product_before_successor_prefixsteps) = S ((S (gr_product_index_successor_prefixsteps)) * gr_product_scale_successor_prefix)) /\ exists ff_q_gprod_successor_prefixstepsbefore. gr_product_trace_successor_prefix = ff_q_gprod_successor_prefixstepsbefore * S ((S (gr_product_index_successor_prefixsteps)) * gr_product_scale_successor_prefix) + (gr_product_before_successor_prefixsteps))) /\ ((((exists ff_h_gprod_successor_prefixstepsafter. ff_h_gprod_successor_prefixstepsafter + S (gr_product_after_successor_prefixsteps) = S ((S (S (gr_product_index_successor_prefixsteps))) * gr_product_scale_successor_prefix)) /\ exists ff_q_gprod_successor_prefixstepsafter. gr_product_trace_successor_prefix = ff_q_gprod_successor_prefixstepsafter * S ((S (S (gr_product_index_successor_prefixsteps))) * gr_product_scale_successor_prefix) + (gr_product_after_successor_prefixsteps))) /\ (exists ge_first_rp_successor_prefixstepsmultiply ge_first_rn_successor_prefixstepsmultiply ge_first_ip_successor_prefixstepsmultiply ge_first_in_successor_prefixstepsmultiply ge_second_rp_successor_prefixstepsmultiply ge_second_rn_successor_prefixstepsmultiply ge_second_ip_successor_prefixstepsmultiply ge_second_in_successor_prefixstepsmultiply. ((exists ge_representation_real_code_successor_prefixstepsmultiplyfirst ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst. (((gr_product_before_successor_prefixsteps) = ((ge_representation_real_code_successor_prefixstepsmultiplyfirst) + (ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst)) * S ((ge_representation_real_code_successor_prefixstepsmultiplyfirst) + (ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst)) + ((ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst) + (ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst))) /\ ((exists ge_balance_positive_successor_prefixstepsmultiplyfirstreal ge_balance_negative_successor_prefixstepsmultiplyfirstreal. (((((ge_representation_real_code_successor_prefixstepsmultiplyfirst) = 2 * (ge_balance_positive_successor_prefixstepsmultiplyfirstreal) /\ (ge_balance_negative_successor_prefixstepsmultiplyfirstreal) = 0) \/ exists ge_signed_half_successor_prefixstepsmultiplyfirstrealdecode. (((ge_representation_real_code_successor_prefixstepsmultiplyfirst) = 2 * ge_signed_half_successor_prefixstepsmultiplyfirstrealdecode + 1 /\ (ge_balance_positive_successor_prefixstepsmultiplyfirstreal) = 0) /\ (ge_balance_negative_successor_prefixstepsmultiplyfirstreal) = S ge_signed_half_successor_prefixstepsmultiplyfirstrealdecode))) /\ ((ge_first_rp_successor_prefixstepsmultiply) + ge_balance_negative_successor_prefixstepsmultiplyfirstreal = (ge_first_rn_successor_prefixstepsmultiply) + ge_balance_positive_successor_prefixstepsmultiplyfirstreal))) /\ (exists ge_balance_positive_successor_prefixstepsmultiplyfirstimaginary ge_balance_negative_successor_prefixstepsmultiplyfirstimaginary. (((((ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst) = 2 * (ge_balance_positive_successor_prefixstepsmultiplyfirstimaginary) /\ (ge_balance_negative_successor_prefixstepsmultiplyfirstimaginary) = 0) \/ exists ge_signed_half_successor_prefixstepsmultiplyfirstimaginarydecode. (((ge_representation_imaginary_code_successor_prefixstepsmultiplyfirst) = 2 * ge_signed_half_successor_prefixstepsmultiplyfirstimaginarydecode + 1 /\ (ge_balance_positive_successor_prefixstepsmultiplyfirstimaginary) = 0) /\ (ge_balance_negative_successor_prefixstepsmultiplyfirstimaginary) = S ge_signed_half_successor_prefixstepsmultiplyfirstimaginarydecode))) /\ ((ge_first_ip_successor_prefixstepsmultiply) + ge_balance_negative_successor_prefixstepsmultiplyfirstimaginary = (ge_first_in_successor_prefixstepsmultiply) + ge_balance_positive_successor_prefixstepsmultiplyfirstimaginary)))))) /\ ((exists ge_representation_real_code_successor_prefixstepsmultiplysecond ge_representation_imaginary_code_successor_prefixstepsmultiplysecond. (((gr_product_factor_successor_prefixsteps) = ((ge_representation_real_code_successor_prefixstepsmultiplysecond) + (ge_representation_imaginary_code_successor_prefixstepsmultiplysecond)) * S ((ge_representation_real_code_successor_prefixstepsmultiplysecond) + (ge_representation_imaginary_code_successor_prefixstepsmultiplysecond)) + ((ge_representation_imaginary_code_successor_prefixstepsmultiplysecond) + (ge_representation_imaginary_code_successor_prefixstepsmultiplysecond))) /\ ((exists ge_balance_positive_successor_prefixstepsmultiplysecondreal ge_balance_negative_successor_prefixstepsmultiplysecondreal. (((((ge_representation_real_code_successor_prefixstepsmultiplysecond) = 2 * (ge_balance_positive_successor_prefixstepsmultiplysecondreal) /\ (ge_balance_negative_successor_prefixstepsmultiplysecondreal) = 0) \/ exists ge_signed_half_successor_prefixstepsmultiplysecondrealdecode. (((ge_representation_real_code_successor_prefixstepsmultiplysecond) = 2 * ge_signed_half_successor_prefixstepsmultiplysecondrealdecode + 1 /\ (ge_balance_positive_successor_prefixstepsmultiplysecondreal) = 0) /\ (ge_balance_negative_successor_prefixstepsmultiplysecondreal) = S ge_signed_half_successor_prefixstepsmultiplysecondrealdecode))) /\ ((ge_second_rp_successor_prefixstepsmultiply) + ge_balance_negative_successor_prefixstepsmultiplysecondreal = (ge_second_rn_successor_prefixstepsmultiply) + ge_balance_positive_successor_prefixstepsmultiplysecondreal))) /\ (exists ge_balance_positive_successor_prefixstepsmultiplysecondimaginary ge_balance_negative_successor_prefixstepsmultiplysecondimaginary. (((((ge_representation_imaginary_code_successor_prefixstepsmultiplysecond) = 2 * (ge_balance_positive_successor_prefixstepsmultiplysecondimaginary) /\ (ge_balance_negative_successor_prefixstepsmultiplysecondimaginary) = 0) \/ exists ge_signed_half_successor_prefixstepsmultiplysecondimaginarydecode. (((ge_representation_imaginary_code_successor_prefixstepsmultiplysecond) = 2 * ge_signed_half_successor_prefixstepsmultiplysecondimaginarydecode + 1 /\ (ge_balance_positive_successor_prefixstepsmultiplysecondimaginary) = 0) /\ (ge_balance_negative_successor_prefixstepsmultiplysecondimaginary) = S ge_signed_half_successor_prefixstepsmultiplysecondimaginarydecode))) /\ ((ge_second_ip_successor_prefixstepsmultiply) + ge_balance_negative_successor_prefixstepsmultiplysecondimaginary = (ge_second_in_successor_prefixstepsmultiply) + ge_balance_positive_successor_prefixstepsmultiplysecondimaginary)))))) /\ (exists ge_representation_real_code_successor_prefixstepsmultiplyoutput ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput. (((gr_product_after_successor_prefixsteps) = ((ge_representation_real_code_successor_prefixstepsmultiplyoutput) + (ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput)) * S ((ge_representation_real_code_successor_prefixstepsmultiplyoutput) + (ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput)) + ((ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput) + (ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput))) /\ ((exists ge_balance_positive_successor_prefixstepsmultiplyoutputreal ge_balance_negative_successor_prefixstepsmultiplyoutputreal. (((((ge_representation_real_code_successor_prefixstepsmultiplyoutput) = 2 * (ge_balance_positive_successor_prefixstepsmultiplyoutputreal) /\ (ge_balance_negative_successor_prefixstepsmultiplyoutputreal) = 0) \/ exists ge_signed_half_successor_prefixstepsmultiplyoutputrealdecode. (((ge_representation_real_code_successor_prefixstepsmultiplyoutput) = 2 * ge_signed_half_successor_prefixstepsmultiplyoutputrealdecode + 1 /\ (ge_balance_positive_successor_prefixstepsmultiplyoutputreal) = 0) /\ (ge_balance_negative_successor_prefixstepsmultiplyoutputreal) = S ge_signed_half_successor_prefixstepsmultiplyoutputrealdecode))) /\ ((((((((ge_first_rp_successor_prefixstepsmultiply) * (ge_second_rp_successor_prefixstepsmultiply))) + (((ge_first_rn_successor_prefixstepsmultiply) * (ge_second_rn_successor_prefixstepsmultiply))))) + (((((ge_first_ip_successor_prefixstepsmultiply) * (ge_second_in_successor_prefixstepsmultiply))) + (((ge_first_in_successor_prefixstepsmultiply) * (ge_second_ip_successor_prefixstepsmultiply))))))) + ge_balance_negative_successor_prefixstepsmultiplyoutputreal = (((((((ge_first_rp_successor_prefixstepsmultiply) * (ge_second_rn_successor_prefixstepsmultiply))) + (((ge_first_rn_successor_prefixstepsmultiply) * (ge_second_rp_successor_prefixstepsmultiply))))) + (((((ge_first_ip_successor_prefixstepsmultiply) * (ge_second_ip_successor_prefixstepsmultiply))) + (((ge_first_in_successor_prefixstepsmultiply) * (ge_second_in_successor_prefixstepsmultiply))))))) + ge_balance_positive_successor_prefixstepsmultiplyoutputreal))) /\ (exists ge_balance_positive_successor_prefixstepsmultiplyoutputimaginary ge_balance_negative_successor_prefixstepsmultiplyoutputimaginary. (((((ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput) = 2 * (ge_balance_positive_successor_prefixstepsmultiplyoutputimaginary) /\ (ge_balance_negative_successor_prefixstepsmultiplyoutputimaginary) = 0) \/ exists ge_signed_half_successor_prefixstepsmultiplyoutputimaginarydecode. (((ge_representation_imaginary_code_successor_prefixstepsmultiplyoutput) = 2 * ge_signed_half_successor_prefixstepsmultiplyoutputimaginarydecode + 1 /\ (ge_balance_positive_successor_prefixstepsmultiplyoutputimaginary) = 0) /\ (ge_balance_negative_successor_prefixstepsmultiplyoutputimaginary) = S ge_signed_half_successor_prefixstepsmultiplyoutputimaginarydecode))) /\ ((((((((ge_first_rp_successor_prefixstepsmultiply) * (ge_second_ip_successor_prefixstepsmultiply))) + (((ge_first_rn_successor_prefixstepsmultiply) * (ge_second_in_successor_prefixstepsmultiply))))) + (((((ge_first_ip_successor_prefixstepsmultiply) * (ge_second_rp_successor_prefixstepsmultiply))) + (((ge_first_in_successor_prefixstepsmultiply) * (ge_second_rn_successor_prefixstepsmultiply))))))) + ge_balance_negative_successor_prefixstepsmultiplyoutputimaginary = (((((((ge_first_rp_successor_prefixstepsmultiply) * (ge_second_in_successor_prefixstepsmultiply))) + (((ge_first_rn_successor_prefixstepsmultiply) * (ge_second_ip_successor_prefixstepsmultiply))))) + (((((ge_first_ip_successor_prefixstepsmultiply) * (ge_second_rn_successor_prefixstepsmultiply))) + (((ge_first_in_successor_prefixstepsmultiply) * (ge_second_rp_successor_prefixstepsmultiply))))))) + ge_balance_positive_successor_prefixstepsmultiplyoutputimaginary)))))))))))))))) /\ (exists ge_first_rp_successor_multiply ge_first_rn_successor_multiply ge_first_ip_successor_multiply ge_first_in_successor_multiply ge_second_rp_successor_multiply ge_second_rn_successor_multiply ge_second_ip_successor_multiply ge_second_in_successor_multiply. ((exists ge_representation_real_code_successor_multiplyfirst ge_representation_imaginary_code_successor_multiplyfirst. (((P) = ((ge_representation_real_code_successor_multiplyfirst) + (ge_representation_imaginary_code_successor_multiplyfirst)) * S ((ge_representation_real_code_successor_multiplyfirst) + (ge_representation_imaginary_code_successor_multiplyfirst)) + ((ge_representation_imaginary_code_successor_multiplyfirst) + (ge_representation_imaginary_code_successor_multiplyfirst))) /\ ((exists ge_balance_positive_successor_multiplyfirstreal ge_balance_negative_successor_multiplyfirstreal. (((((ge_representation_real_code_successor_multiplyfirst) = 2 * (ge_balance_positive_successor_multiplyfirstreal) /\ (ge_balance_negative_successor_multiplyfirstreal) = 0) \/ exists ge_signed_half_successor_multiplyfirstrealdecode. (((ge_representation_real_code_successor_multiplyfirst) = 2 * ge_signed_half_successor_multiplyfirstrealdecode + 1 /\ (ge_balance_positive_successor_multiplyfirstreal) = 0) /\ (ge_balance_negative_successor_multiplyfirstreal) = S ge_signed_half_successor_multiplyfirstrealdecode))) /\ ((ge_first_rp_successor_multiply) + ge_balance_negative_successor_multiplyfirstreal = (ge_first_rn_successor_multiply) + ge_balance_positive_successor_multiplyfirstreal))) /\ (exists ge_balance_positive_successor_multiplyfirstimaginary ge_balance_negative_successor_multiplyfirstimaginary. (((((ge_representation_imaginary_code_successor_multiplyfirst) = 2 * (ge_balance_positive_successor_multiplyfirstimaginary) /\ (ge_balance_negative_successor_multiplyfirstimaginary) = 0) \/ exists ge_signed_half_successor_multiplyfirstimaginarydecode. (((ge_representation_imaginary_code_successor_multiplyfirst) = 2 * ge_signed_half_successor_multiplyfirstimaginarydecode + 1 /\ (ge_balance_positive_successor_multiplyfirstimaginary) = 0) /\ (ge_balance_negative_successor_multiplyfirstimaginary) = S ge_signed_half_successor_multiplyfirstimaginarydecode))) /\ ((ge_first_ip_successor_multiply) + ge_balance_negative_successor_multiplyfirstimaginary = (ge_first_in_successor_multiply) + ge_balance_positive_successor_multiplyfirstimaginary)))))) /\ ((exists ge_representation_real_code_successor_multiplysecond ge_representation_imaginary_code_successor_multiplysecond. (((a) = ((ge_representation_real_code_successor_multiplysecond) + (ge_representation_imaginary_code_successor_multiplysecond)) * S ((ge_representation_real_code_successor_multiplysecond) + (ge_representation_imaginary_code_successor_multiplysecond)) + ((ge_representation_imaginary_code_successor_multiplysecond) + (ge_representation_imaginary_code_successor_multiplysecond))) /\ ((exists ge_balance_positive_successor_multiplysecondreal ge_balance_negative_successor_multiplysecondreal. (((((ge_representation_real_code_successor_multiplysecond) = 2 * (ge_balance_positive_successor_multiplysecondreal) /\ (ge_balance_negative_successor_multiplysecondreal) = 0) \/ exists ge_signed_half_successor_multiplysecondrealdecode. (((ge_representation_real_code_successor_multiplysecond) = 2 * ge_signed_half_successor_multiplysecondrealdecode + 1 /\ (ge_balance_positive_successor_multiplysecondreal) = 0) /\ (ge_balance_negative_successor_multiplysecondreal) = S ge_signed_half_successor_multiplysecondrealdecode))) /\ ((ge_second_rp_successor_multiply) + ge_balance_negative_successor_multiplysecondreal = (ge_second_rn_successor_multiply) + ge_balance_positive_successor_multiplysecondreal))) /\ (exists ge_balance_positive_successor_multiplysecondimaginary ge_balance_negative_successor_multiplysecondimaginary. (((((ge_representation_imaginary_code_successor_multiplysecond) = 2 * (ge_balance_positive_successor_multiplysecondimaginary) /\ (ge_balance_negative_successor_multiplysecondimaginary) = 0) \/ exists ge_signed_half_successor_multiplysecondimaginarydecode. (((ge_representation_imaginary_code_successor_multiplysecond) = 2 * ge_signed_half_successor_multiplysecondimaginarydecode + 1 /\ (ge_balance_positive_successor_multiplysecondimaginary) = 0) /\ (ge_balance_negative_successor_multiplysecondimaginary) = S ge_signed_half_successor_multiplysecondimaginarydecode))) /\ ((ge_second_ip_successor_multiply) + ge_balance_negative_successor_multiplysecondimaginary = (ge_second_in_successor_multiply) + ge_balance_positive_successor_multiplysecondimaginary)))))) /\ (exists ge_representation_real_code_successor_multiplyoutput ge_representation_imaginary_code_successor_multiplyoutput. (((Q) = ((ge_representation_real_code_successor_multiplyoutput) + (ge_representation_imaginary_code_successor_multiplyoutput)) * S ((ge_representation_real_code_successor_multiplyoutput) + (ge_representation_imaginary_code_successor_multiplyoutput)) + ((ge_representation_imaginary_code_successor_multiplyoutput) + (ge_representation_imaginary_code_successor_multiplyoutput))) /\ ((exists ge_balance_positive_successor_multiplyoutputreal ge_balance_negative_successor_multiplyoutputreal. (((((ge_representation_real_code_successor_multiplyoutput) = 2 * (ge_balance_positive_successor_multiplyoutputreal) /\ (ge_balance_negative_successor_multiplyoutputreal) = 0) \/ exists ge_signed_half_successor_multiplyoutputrealdecode. (((ge_representation_real_code_successor_multiplyoutput) = 2 * ge_signed_half_successor_multiplyoutputrealdecode + 1 /\ (ge_balance_positive_successor_multiplyoutputreal) = 0) /\ (ge_balance_negative_successor_multiplyoutputreal) = S ge_signed_half_successor_multiplyoutputrealdecode))) /\ ((((((((ge_first_rp_successor_multiply) * (ge_second_rp_successor_multiply))) + (((ge_first_rn_successor_multiply) * (ge_second_rn_successor_multiply))))) + (((((ge_first_ip_successor_multiply) * (ge_second_in_successor_multiply))) + (((ge_first_in_successor_multiply) * (ge_second_ip_successor_multiply))))))) + ge_balance_negative_successor_multiplyoutputreal = (((((((ge_first_rp_successor_multiply) * (ge_second_rn_successor_multiply))) + (((ge_first_rn_successor_multiply) * (ge_second_rp_successor_multiply))))) + (((((ge_first_ip_successor_multiply) * (ge_second_ip_successor_multiply))) + (((ge_first_in_successor_multiply) * (ge_second_in_successor_multiply))))))) + ge_balance_positive_successor_multiplyoutputreal))) /\ (exists ge_balance_positive_successor_multiplyoutputimaginary ge_balance_negative_successor_multiplyoutputimaginary. (((((ge_representation_imaginary_code_successor_multiplyoutput) = 2 * (ge_balance_positive_successor_multiplyoutputimaginary) /\ (ge_balance_negative_successor_multiplyoutputimaginary) = 0) \/ exists ge_signed_half_successor_multiplyoutputimaginarydecode. (((ge_representation_imaginary_code_successor_multiplyoutput) = 2 * ge_signed_half_successor_multiplyoutputimaginarydecode + 1 /\ (ge_balance_positive_successor_multiplyoutputimaginary) = 0) /\ (ge_balance_negative_successor_multiplyoutputimaginary) = S ge_signed_half_successor_multiplyoutputimaginarydecode))) /\ ((((((((ge_first_rp_successor_multiply) * (ge_second_ip_successor_multiply))) + (((ge_first_rn_successor_multiply) * (ge_second_in_successor_multiply))))) + (((((ge_first_ip_successor_multiply) * (ge_second_rp_successor_multiply))) + (((ge_first_in_successor_multiply) * (ge_second_rn_successor_multiply))))))) + ge_balance_negative_successor_multiplyoutputimaginary = (((((((ge_first_rp_successor_multiply) * (ge_second_in_successor_multiply))) + (((ge_first_rn_successor_multiply) * (ge_second_ip_successor_multiply))))) + (((((ge_first_ip_successor_multiply) * (ge_second_rn_successor_multiply))) + (((ge_first_in_successor_multiply) * (ge_second_rp_successor_multiply))))))) + ge_balance_positive_successor_multiplyoutputimaginary)))))))))))Constructive proof overview
Generated structural guide
Every nonempty actual Gaussian product exposes its final factor, the actual shorter prefix product, and the genuine final multiplication.
The unchanged tactic script uses 5 declared prerequisites and contains 58 exact native proof lines.
Alpha v34 checked-use · first admitted v30 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
le_refl Stable theorem; checked-use authorized beta_at_unique Stable theorem; checked-use authorized GF002F gaussian_multiply_output_transport lt_of_lt_of_le Stable theorem; checked-use authorized le_succ_self Stable theorem; checked-use authorizedDirect dependents
GF008D gaussian_product_functional GF008E gaussian_product_result_valid GF009B gaussian_all_irreducible_product_nonzero GF009C gaussian_all_irreducible_product_unit_length_zero GF009F gaussian_irreducible_divisor_product_member GF00A0 gaussian_product_replace_balance GF00A2 gaussian_product_swap_last_invariant GF00A6 gaussian_product_decompose_at_last GF00AF gaussian_irreducible_products_associate_uniqueFormal 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 (1)
01Fix variables and assumptionsL1–5
02Separate the logical casesL6–9
03Establish hsL10–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hp witness witness right right.
04Separate the logical casesL15–20
05Establish heqL21–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
06Construct an explicit witnessL30–31
07Separate the logical casesL32–32
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L32
split
08Use earlier factsL33–33
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
exact hs_witness_witness_witness_left
09Separate the logical casesL34–34
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L34
split
10Construct an explicit witnessL35–36
11Separate the logical casesL37–37
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L37
split
12Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact hp_witness_witness_left
13Separate the logical casesL39–39
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L39
split
14Use earlier factsL40–40
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L40
exact hs_witness_witness_witness_right_left
15Fix variables and assumptionsL41–42
16Use earlier factsL43–52
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
specialize hp_witness_witness_right_right (i) - L44
apply hp_witness_witness_right_right - L45
specialize lt_of_lt_of_le (i) - L46
specialize lt_of_lt_of_le (l) - L47
specialize lt_of_lt_of_le (S l) - L48
apply lt_of_lt_of_le - L49
exact hi - L50
specialize le_succ_self (l) - L51
apply le_succ_self - L52
specialize gaussian_multiply_output_transport (x3)
17Use earlier factsL53–58
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 58 lines
- 0001
intro b - 0002
intro c - 0003
intro l - 0004
intro Q - 0005
intro hp - 0006
cases hp - 0007
cases hp_witness - 0008
cases hp_witness_witness - 0009
cases hp_witness_witness_right - 0010
have hs : exists a P T. ((((exists ff_h_gprod_decompose_factor. ff_h_gprod_decompose_factor + S (a) = S ((S (l)) * c)) /\ exists ff_q_gprod_decompose_factor. b = ff_q_gprod_decompose_factor * S ((S (l)) * c) + (a))) /\ ((((exists ff_h_gprod_decompose_before. ff_h_gprod_decompose_before + S (P) = S ((S (l)) * x1)) /\ exists ff_q_gprod_decompose_before. x = ff_q_gprod_decompose_before * S ((S (l)) * x1) + (P))) /\ ((((exists ff_h_gprod_decompose_after. ff_h_gprod_decompose_after + S (T) = S ((S (S l)) * x1)) /\ exists ff_q_gprod_decompose_after. x = ff_q_gprod_decompose_after * S ((S (S l)) * x1) + (T))) /\ (exists ge_first_rp_decompose_multiply ge_first_rn_decompose_multiply ge_first_ip_decompose_multiply ge_first_in_decompose_multiply ge_second_rp_decompose_multiply ge_second_rn_decompose_multiply ge_second_ip_decompose_multiply ge_second_in_decompose_multiply. ((exists ge_representation_real_code_decompose_multiplyfirst ge_representation_imaginary_code_decompose_multiplyfirst. (((P) = ((ge_representation_real_code_decompose_multiplyfirst) + (ge_representation_imaginary_code_decompose_multiplyfirst)) * S ((ge_representation_real_code_decompose_multiplyfirst) + (ge_representation_imaginary_code_decompose_multiplyfirst)) + ((ge_representation_imaginary_code_decompose_multiplyfirst) + (ge_representation_imaginary_code_decompose_multiplyfirst))) /\ ((exists ge_balance_positive_decompose_multiplyfirstreal ge_balance_negative_decompose_multiplyfirstreal. (((((ge_representation_real_code_decompose_multiplyfirst) = 2 * (ge_balance_positive_decompose_multiplyfirstreal) /\ (ge_balance_negative_decompose_multiplyfirstreal) = 0) \/ exists ge_signed_half_decompose_multiplyfirstrealdecode. (((ge_representation_real_code_decompose_multiplyfirst) = 2 * ge_signed_half_decompose_multiplyfirstrealdecode + 1 /\ (ge_balance_positive_decompose_multiplyfirstreal) = 0) /\ (ge_balance_negative_decompose_multiplyfirstreal) = S ge_signed_half_decompose_multiplyfirstrealdecode))) /\ ((ge_first_rp_decompose_multiply) + ge_balance_negative_decompose_multiplyfirstreal = (ge_first_rn_decompose_multiply) + ge_balance_positive_decompose_multiplyfirstreal))) /\ (exists ge_balance_positive_decompose_multiplyfirstimaginary ge_balance_negative_decompose_multiplyfirstimaginary. (((((ge_representation_imaginary_code_decompose_multiplyfirst) = 2 * (ge_balance_positive_decompose_multiplyfirstimaginary) /\ (ge_balance_negative_decompose_multiplyfirstimaginary) = 0) \/ exists ge_signed_half_decompose_multiplyfirstimaginarydecode. (((ge_representation_imaginary_code_decompose_multiplyfirst) = 2 * ge_signed_half_decompose_multiplyfirstimaginarydecode + 1 /\ (ge_balance_positive_decompose_multiplyfirstimaginary) = 0) /\ (ge_balance_negative_decompose_multiplyfirstimaginary) = S ge_signed_half_decompose_multiplyfirstimaginarydecode))) /\ ((ge_first_ip_decompose_multiply) + ge_balance_negative_decompose_multiplyfirstimaginary = (ge_first_in_decompose_multiply) + ge_balance_positive_decompose_multiplyfirstimaginary)))))) /\ ((exists ge_representation_real_code_decompose_multiplysecond ge_representation_imaginary_code_decompose_multiplysecond. (((a) = ((ge_representation_real_code_decompose_multiplysecond) + (ge_representation_imaginary_code_decompose_multiplysecond)) * S ((ge_representation_real_code_decompose_multiplysecond) + (ge_representation_imaginary_code_decompose_multiplysecond)) + ((ge_representation_imaginary_code_decompose_multiplysecond) + (ge_representation_imaginary_code_decompose_multiplysecond))) /\ ((exists ge_balance_positive_decompose_multiplysecondreal ge_balance_negative_decompose_multiplysecondreal. (((((ge_representation_real_code_decompose_multiplysecond) = 2 * (ge_balance_positive_decompose_multiplysecondreal) /\ (ge_balance_negative_decompose_multiplysecondreal) = 0) \/ exists ge_signed_half_decompose_multiplysecondrealdecode. (((ge_representation_real_code_decompose_multiplysecond) = 2 * ge_signed_half_decompose_multiplysecondrealdecode + 1 /\ (ge_balance_positive_decompose_multiplysecondreal) = 0) /\ (ge_balance_negative_decompose_multiplysecondreal) = S ge_signed_half_decompose_multiplysecondrealdecode))) /\ ((ge_second_rp_decompose_multiply) + ge_balance_negative_decompose_multiplysecondreal = (ge_second_rn_decompose_multiply) + ge_balance_positive_decompose_multiplysecondreal))) /\ (exists ge_balance_positive_decompose_multiplysecondimaginary ge_balance_negative_decompose_multiplysecondimaginary. (((((ge_representation_imaginary_code_decompose_multiplysecond) = 2 * (ge_balance_positive_decompose_multiplysecondimaginary) /\ (ge_balance_negative_decompose_multiplysecondimaginary) = 0) \/ exists ge_signed_half_decompose_multiplysecondimaginarydecode. (((ge_representation_imaginary_code_decompose_multiplysecond) = 2 * ge_signed_half_decompose_multiplysecondimaginarydecode + 1 /\ (ge_balance_positive_decompose_multiplysecondimaginary) = 0) /\ (ge_balance_negative_decompose_multiplysecondimaginary) = S ge_signed_half_decompose_multiplysecondimaginarydecode))) /\ ((ge_second_ip_decompose_multiply) + ge_balance_negative_decompose_multiplysecondimaginary = (ge_second_in_decompose_multiply) + ge_balance_positive_decompose_multiplysecondimaginary)))))) /\ (exists ge_representation_real_code_decompose_multiplyoutput ge_representation_imaginary_code_decompose_multiplyoutput. (((T) = ((ge_representation_real_code_decompose_multiplyoutput) + (ge_representation_imaginary_code_decompose_multiplyoutput)) * S ((ge_representation_real_code_decompose_multiplyoutput) + (ge_representation_imaginary_code_decompose_multiplyoutput)) + ((ge_representation_imaginary_code_decompose_multiplyoutput) + (ge_representation_imaginary_code_decompose_multiplyoutput))) /\ ((exists ge_balance_positive_decompose_multiplyoutputreal ge_balance_negative_decompose_multiplyoutputreal. (((((ge_representation_real_code_decompose_multiplyoutput) = 2 * (ge_balance_positive_decompose_multiplyoutputreal) /\ (ge_balance_negative_decompose_multiplyoutputreal) = 0) \/ exists ge_signed_half_decompose_multiplyoutputrealdecode. (((ge_representation_real_code_decompose_multiplyoutput) = 2 * ge_signed_half_decompose_multiplyoutputrealdecode + 1 /\ (ge_balance_positive_decompose_multiplyoutputreal) = 0) /\ (ge_balance_negative_decompose_multiplyoutputreal) = S ge_signed_half_decompose_multiplyoutputrealdecode))) /\ ((((((((ge_first_rp_decompose_multiply) * (ge_second_rp_decompose_multiply))) + (((ge_first_rn_decompose_multiply) * (ge_second_rn_decompose_multiply))))) + (((((ge_first_ip_decompose_multiply) * (ge_second_in_decompose_multiply))) + (((ge_first_in_decompose_multiply) * (ge_second_ip_decompose_multiply))))))) + ge_balance_negative_decompose_multiplyoutputreal = (((((((ge_first_rp_decompose_multiply) * (ge_second_rn_decompose_multiply))) + (((ge_first_rn_decompose_multiply) * (ge_second_rp_decompose_multiply))))) + (((((ge_first_ip_decompose_multiply) * (ge_second_ip_decompose_multiply))) + (((ge_first_in_decompose_multiply) * (ge_second_in_decompose_multiply))))))) + ge_balance_positive_decompose_multiplyoutputreal))) /\ (exists ge_balance_positive_decompose_multiplyoutputimaginary ge_balance_negative_decompose_multiplyoutputimaginary. (((((ge_representation_imaginary_code_decompose_multiplyoutput) = 2 * (ge_balance_positive_decompose_multiplyoutputimaginary) /\ (ge_balance_negative_decompose_multiplyoutputimaginary) = 0) \/ exists ge_signed_half_decompose_multiplyoutputimaginarydecode. (((ge_representation_imaginary_code_decompose_multiplyoutput) = 2 * ge_signed_half_decompose_multiplyoutputimaginarydecode + 1 /\ (ge_balance_positive_decompose_multiplyoutputimaginary) = 0) /\ (ge_balance_negative_decompose_multiplyoutputimaginary) = S ge_signed_half_decompose_multiplyoutputimaginarydecode))) /\ ((((((((ge_first_rp_decompose_multiply) * (ge_second_ip_decompose_multiply))) + (((ge_first_rn_decompose_multiply) * (ge_second_in_decompose_multiply))))) + (((((ge_first_ip_decompose_multiply) * (ge_second_rp_decompose_multiply))) + (((ge_first_in_decompose_multiply) * (ge_second_rn_decompose_multiply))))))) + ge_balance_negative_decompose_multiplyoutputimaginary = (((((((ge_first_rp_decompose_multiply) * (ge_second_in_decompose_multiply))) + (((ge_first_rn_decompose_multiply) * (ge_second_ip_decompose_multiply))))) + (((((ge_first_ip_decompose_multiply) * (ge_second_rn_decompose_multiply))) + (((ge_first_in_decompose_multiply) * (ge_second_rp_decompose_multiply))))))) + ge_balance_positive_decompose_multiplyoutputimaginary)))))))))))) - 0011
specialize hp_witness_witness_right_right (l) - 0012
apply hp_witness_witness_right_right - 0013
specialize le_refl (S l) - 0014
apply le_refl - 0015
cases hs - 0016
cases hs_witness - 0017
cases hs_witness_witness - 0018
cases hs_witness_witness_witness - 0019
cases hs_witness_witness_witness_right - 0020
cases hs_witness_witness_witness_right_right - 0021
have heq : x4=Q - 0022
specialize beta_at_unique (x) - 0023
specialize beta_at_unique (x1) - 0024
specialize beta_at_unique (S l) - 0025
specialize beta_at_unique (x4) - 0026
specialize beta_at_unique (Q) - 0027
apply beta_at_unique - 0028
exact hs_witness_witness_witness_right_right_left - 0029
exact hp_witness_witness_right_left - 0030
exists (x2) - 0031
exists (x3) - 0032
split - 0033
exact hs_witness_witness_witness_left - 0034
split - 0035
exists (x) - 0036
exists (x1) - 0037
split - 0038
exact hp_witness_witness_left - 0039
split - 0040
exact hs_witness_witness_witness_right_left - 0041
intro i - 0042
intro hi - 0043
specialize hp_witness_witness_right_right (i) - 0044
apply hp_witness_witness_right_right - 0045
specialize lt_of_lt_of_le (i) - 0046
specialize lt_of_lt_of_le (l) - 0047
specialize lt_of_lt_of_le (S l) - 0048
apply lt_of_lt_of_le - 0049
exact hi - 0050
specialize le_succ_self (l) - 0051
apply le_succ_self - 0052
specialize gaussian_multiply_output_transport (x3) - 0053
specialize gaussian_multiply_output_transport (x2) - 0054
specialize gaussian_multiply_output_transport (x4) - 0055
specialize gaussian_multiply_output_transport (Q) - 0056
apply gaussian_multiply_output_transport - 0057
exact heq - 0058
exact hs_witness_witness_witness_right_right_right