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 p pb pc N xb xc ub uc ab ac L t rb rc R. (forall fom_index_pfp_trim_aligned_product_bounded. (exists fom_gap_pfp_trim_aligned_product_bounded_index_bound. fom_gap_pfp_trim_aligned_product_bounded_index_bound + S (fom_index_pfp_trim_aligned_product_bounded) = N) -> exists fom_value_pfp_trim_aligned_product_bounded. ((((exists fom_beta_height_pfp_trim_aligned_product_bounded_entry. fom_beta_height_pfp_trim_aligned_product_bounded_entry + S (fom_value_pfp_trim_aligned_product_bounded) = S ((S (fom_index_pfp_trim_aligned_product_bounded)) * pc)) /\ exists fom_beta_quotient_pfp_trim_aligned_product_bounded_entry. pb = fom_beta_quotient_pfp_trim_aligned_product_bounded_entry * S ((S (fom_index_pfp_trim_aligned_product_bounded)) * pc) + (fom_value_pfp_trim_aligned_product_bounded))) /\ (exists fom_gap_pfp_trim_aligned_product_bounded_value_bound. fom_gap_pfp_trim_aligned_product_bounded_value_bound + S (fom_value_pfp_trim_aligned_product_bounded) = p))) -> (forall pfrep_power_trim_aligned_product pfrep_left_trim_aligned_product pfrep_right_trim_aligned_product. ((exists pfrep_position_trim_aligned_productfirst. ((pfrep_position_trim_aligned_productfirst+S (pfrep_power_trim_aligned_product)=(N)) /\ ((((exists ff_h_pfp_trim_aligned_productfirstentry. ff_h_pfp_trim_aligned_productfirstentry + S (pfrep_left_trim_aligned_product) = S ((S (pfrep_position_trim_aligned_productfirst)) * pc)) /\ exists ff_q_pfp_trim_aligned_productfirstentry. pb = ff_q_pfp_trim_aligned_productfirstentry * S ((S (pfrep_position_trim_aligned_productfirst)) * pc) + (pfrep_left_trim_aligned_product)))))) \/ (((exists pfrep_gap_trim_aligned_productfirstoutside. pfrep_gap_trim_aligned_productfirstoutside+(N)=(pfrep_power_trim_aligned_product)) /\ (((pfrep_left_trim_aligned_product)=0))))) -> ((exists pfrep_position_trim_aligned_productsecond. ((pfrep_position_trim_aligned_productsecond+S (pfrep_power_trim_aligned_product)=(L)) /\ ((((exists ff_h_pfp_trim_aligned_productsecondentry. ff_h_pfp_trim_aligned_productsecondentry + S (pfrep_right_trim_aligned_product) = S ((S (pfrep_position_trim_aligned_productsecond)) * xc)) /\ exists ff_q_pfp_trim_aligned_productsecondentry. xb = ff_q_pfp_trim_aligned_productsecondentry * S ((S (pfrep_position_trim_aligned_productsecond)) * xc) + (pfrep_right_trim_aligned_product)))))) \/ (((exists pfrep_gap_trim_aligned_productsecondoutside. pfrep_gap_trim_aligned_productsecondoutside+(L)=(pfrep_power_trim_aligned_product)) /\ (((pfrep_right_trim_aligned_product)=0))))) -> pfrep_left_trim_aligned_product=pfrep_right_trim_aligned_product) -> (forall pfp_index_trim_aligned_sum. (exists pfa_gap_trim_aligned_sumindex. pfa_gap_trim_aligned_sumindex + S (pfp_index_trim_aligned_sum) = (L)) -> exists pfp_left_trim_aligned_sum pfp_right_trim_aligned_sum pfp_value_trim_aligned_sum. ((((exists ff_h_pfp_trim_aligned_sumleft. ff_h_pfp_trim_aligned_sumleft + S (pfp_left_trim_aligned_sum) = S ((S (pfp_index_trim_aligned_sum)) * xc)) /\ exists ff_q_pfp_trim_aligned_sumleft. xb = ff_q_pfp_trim_aligned_sumleft * S ((S (pfp_index_trim_aligned_sum)) * xc) + (pfp_left_trim_aligned_sum))) /\ (((((exists ff_h_pfp_trim_aligned_sumright. ff_h_pfp_trim_aligned_sumright + S (pfp_right_trim_aligned_sum) = S ((S (pfp_index_trim_aligned_sum)) * uc)) /\ exists ff_q_pfp_trim_aligned_sumright. ub = ff_q_pfp_trim_aligned_sumright * S ((S (pfp_index_trim_aligned_sum)) * uc) + (pfp_right_trim_aligned_sum))) /\ (((((exists ff_h_pfp_trim_aligned_sumtarget. ff_h_pfp_trim_aligned_sumtarget + S (pfp_value_trim_aligned_sum) = S ((S (pfp_index_trim_aligned_sum)) * ac)) /\ exists ff_q_pfp_trim_aligned_sumtarget. ab = ff_q_pfp_trim_aligned_sumtarget * S ((S (pfp_index_trim_aligned_sum)) * ac) + (pfp_value_trim_aligned_sum))) /\ ((((exists pfa_gap_trim_aligned_sumoperationleft. pfa_gap_trim_aligned_sumoperationleft + S (pfp_left_trim_aligned_sum) = (p)) /\ (((exists pfa_gap_trim_aligned_sumoperationright. pfa_gap_trim_aligned_sumoperationright + S (pfp_right_trim_aligned_sum) = (p)) /\ ((((exists pfa_gap_trim_aligned_sumoperationresultbound. pfa_gap_trim_aligned_sumoperationresultbound + S (pfp_value_trim_aligned_sum) = (p)) /\ ((exists pfa_offset_left_trim_aligned_sumoperationresultcongruence pfa_offset_right_trim_aligned_sumoperationresultcongruence. ((pfp_left_trim_aligned_sum) + (pfp_right_trim_aligned_sum)) + (p) * pfa_offset_left_trim_aligned_sumoperationresultcongruence = (pfp_value_trim_aligned_sum) + (p) * pfa_offset_right_trim_aligned_sumoperationresultcongruence)))))))))))))))) -> ((((L)=(t)+(R)) /\ (((forall fom_index_pfp_trim_aligned_triminput. (exists fom_gap_pfp_trim_aligned_triminput_index_bound. fom_gap_pfp_trim_aligned_triminput_index_bound + S (fom_index_pfp_trim_aligned_triminput) = L) -> exists fom_value_pfp_trim_aligned_triminput. ((((exists fom_beta_height_pfp_trim_aligned_triminput_entry. fom_beta_height_pfp_trim_aligned_triminput_entry + S (fom_value_pfp_trim_aligned_triminput) = S ((S (fom_index_pfp_trim_aligned_triminput)) * uc)) /\ exists fom_beta_quotient_pfp_trim_aligned_triminput_entry. ub = fom_beta_quotient_pfp_trim_aligned_triminput_entry * S ((S (fom_index_pfp_trim_aligned_triminput)) * uc) + (fom_value_pfp_trim_aligned_triminput))) /\ (exists fom_gap_pfp_trim_aligned_triminput_value_bound. fom_gap_pfp_trim_aligned_triminput_value_bound + S (fom_value_pfp_trim_aligned_triminput) = p))) /\ (((forall pfp_repeat_index_trim_aligned_trimremoved. (exists pfa_gap_trim_aligned_trimremovedindex. pfa_gap_trim_aligned_trimremovedindex + S (pfp_repeat_index_trim_aligned_trimremoved) = (t)) -> (((exists ff_h_pfp_trim_aligned_trimremovedentry. ff_h_pfp_trim_aligned_trimremovedentry + S (0) = S ((S (pfp_repeat_index_trim_aligned_trimremoved)) * uc)) /\ exists ff_q_pfp_trim_aligned_trimremovedentry. ub = ff_q_pfp_trim_aligned_trimremovedentry * S ((S (pfp_repeat_index_trim_aligned_trimremoved)) * uc) + (0)))) /\ (((forall pftrim_index_trim_aligned_trimsuffix pftrim_value_trim_aligned_trimsuffix. (exists pfa_gap_trim_aligned_trimsuffixbound. pfa_gap_trim_aligned_trimsuffixbound + S (pftrim_index_trim_aligned_trimsuffix) = (R)) -> (((exists ff_h_pfp_trim_aligned_trimsuffixsource. ff_h_pfp_trim_aligned_trimsuffixsource + S (pftrim_value_trim_aligned_trimsuffix) = S ((S ((t)+pftrim_index_trim_aligned_trimsuffix)) * uc)) /\ exists ff_q_pfp_trim_aligned_trimsuffixsource. ub = ff_q_pfp_trim_aligned_trimsuffixsource * S ((S ((t)+pftrim_index_trim_aligned_trimsuffix)) * uc) + (pftrim_value_trim_aligned_trimsuffix))) -> (((exists ff_h_pfp_trim_aligned_trimsuffixoutput. ff_h_pfp_trim_aligned_trimsuffixoutput + S (pftrim_value_trim_aligned_trimsuffix) = S ((S (pftrim_index_trim_aligned_trimsuffix)) * rc)) /\ exists ff_q_pfp_trim_aligned_trimsuffixoutput. rb = ff_q_pfp_trim_aligned_trimsuffixoutput * S ((S (pftrim_index_trim_aligned_trimsuffix)) * rc) + (pftrim_value_trim_aligned_trimsuffix)))) /\ (((R)=0 \/ (exists pftrim_leading_trim_aligned_trimnormal. ((((exists ff_h_pfp_trim_aligned_trimnormalentry. ff_h_pfp_trim_aligned_trimnormalentry + S (pftrim_leading_trim_aligned_trimnormal) = S ((S (0)) * rc)) /\ exists ff_q_pfp_trim_aligned_trimnormalentry. rb = ff_q_pfp_trim_aligned_trimnormalentry * S ((S (0)) * rc) + (pftrim_leading_trim_aligned_trimnormal))) /\ ((~(pftrim_leading_trim_aligned_trimnormal=0))))))))))))))) -> (((forall fom_index_pfp_trim_aligned_result_left_bounded. (exists fom_gap_pfp_trim_aligned_result_left_bounded_index_bound. fom_gap_pfp_trim_aligned_result_left_bounded_index_bound + S (fom_index_pfp_trim_aligned_result_left_bounded) = N) -> exists fom_value_pfp_trim_aligned_result_left_bounded. ((((exists fom_beta_height_pfp_trim_aligned_result_left_bounded_entry. fom_beta_height_pfp_trim_aligned_result_left_bounded_entry + S (fom_value_pfp_trim_aligned_result_left_bounded) = S ((S (fom_index_pfp_trim_aligned_result_left_bounded)) * pc)) /\ exists fom_beta_quotient_pfp_trim_aligned_result_left_bounded_entry. pb = fom_beta_quotient_pfp_trim_aligned_result_left_bounded_entry * S ((S (fom_index_pfp_trim_aligned_result_left_bounded)) * pc) + (fom_value_pfp_trim_aligned_result_left_bounded))) /\ (exists fom_gap_pfp_trim_aligned_result_left_bounded_value_bound. fom_gap_pfp_trim_aligned_result_left_bounded_value_bound + S (fom_value_pfp_trim_aligned_result_left_bounded) = p))) /\ (((forall fom_index_pfp_trim_aligned_result_right_bounded. (exists fom_gap_pfp_trim_aligned_result_right_bounded_index_bound. fom_gap_pfp_trim_aligned_result_right_bounded_index_bound + S (fom_index_pfp_trim_aligned_result_right_bounded) = R) -> exists fom_value_pfp_trim_aligned_result_right_bounded. ((((exists fom_beta_height_pfp_trim_aligned_result_right_bounded_entry. fom_beta_height_pfp_trim_aligned_result_right_bounded_entry + S (fom_value_pfp_trim_aligned_result_right_bounded) = S ((S (fom_index_pfp_trim_aligned_result_right_bounded)) * rc)) /\ exists fom_beta_quotient_pfp_trim_aligned_result_right_bounded_entry. rb = fom_beta_quotient_pfp_trim_aligned_result_right_bounded_entry * S ((S (fom_index_pfp_trim_aligned_result_right_bounded)) * rc) + (fom_value_pfp_trim_aligned_result_right_bounded))) /\ (exists fom_gap_pfp_trim_aligned_result_right_bounded_value_bound. fom_gap_pfp_trim_aligned_result_right_bounded_value_bound + S (fom_value_pfp_trim_aligned_result_right_bounded) = p))) /\ (((forall fom_index_pfp_trim_aligned_result_result_bounded. (exists fom_gap_pfp_trim_aligned_result_result_bounded_index_bound. fom_gap_pfp_trim_aligned_result_result_bounded_index_bound + S (fom_index_pfp_trim_aligned_result_result_bounded) = L) -> exists fom_value_pfp_trim_aligned_result_result_bounded. ((((exists fom_beta_height_pfp_trim_aligned_result_result_bounded_entry. fom_beta_height_pfp_trim_aligned_result_result_bounded_entry + S (fom_value_pfp_trim_aligned_result_result_bounded) = S ((S (fom_index_pfp_trim_aligned_result_result_bounded)) * ac)) /\ exists fom_beta_quotient_pfp_trim_aligned_result_result_bounded_entry. ab = fom_beta_quotient_pfp_trim_aligned_result_result_bounded_entry * S ((S (fom_index_pfp_trim_aligned_result_result_bounded)) * ac) + (fom_value_pfp_trim_aligned_result_result_bounded))) /\ (exists fom_gap_pfp_trim_aligned_result_result_bounded_value_bound. fom_gap_pfp_trim_aligned_result_result_bounded_value_bound + S (fom_value_pfp_trim_aligned_result_result_bounded) = p))) /\ ((exists pfaa_left_b_trim_aligned_result pfaa_left_c_trim_aligned_result pfaa_right_b_trim_aligned_result pfaa_right_c_trim_aligned_result pfaa_sum_b_trim_aligned_result pfaa_sum_c_trim_aligned_result pfaa_length_trim_aligned_result. ((((forall pfrep_power_trim_aligned_result_witness_common_left pfrep_left_trim_aligned_result_witness_common_left pfrep_right_trim_aligned_result_witness_common_left. ((exists pfrep_position_trim_aligned_result_witness_common_leftfirst. ((pfrep_position_trim_aligned_result_witness_common_leftfirst+S (pfrep_power_trim_aligned_result_witness_common_left)=(N)) /\ ((((exists ff_h_pfp_trim_aligned_result_witness_common_leftfirstentry. ff_h_pfp_trim_aligned_result_witness_common_leftfirstentry + S (pfrep_left_trim_aligned_result_witness_common_left) = S ((S (pfrep_position_trim_aligned_result_witness_common_leftfirst)) * pc)) /\ exists ff_q_pfp_trim_aligned_result_witness_common_leftfirstentry. pb = ff_q_pfp_trim_aligned_result_witness_common_leftfirstentry * S ((S (pfrep_position_trim_aligned_result_witness_common_leftfirst)) * pc) + (pfrep_left_trim_aligned_result_witness_common_left)))))) \/ (((exists pfrep_gap_trim_aligned_result_witness_common_leftfirstoutside. pfrep_gap_trim_aligned_result_witness_common_leftfirstoutside+(N)=(pfrep_power_trim_aligned_result_witness_common_left)) /\ (((pfrep_left_trim_aligned_result_witness_common_left)=0))))) -> ((exists pfrep_position_trim_aligned_result_witness_common_leftsecond. ((pfrep_position_trim_aligned_result_witness_common_leftsecond+S (pfrep_power_trim_aligned_result_witness_common_left)=(pfaa_length_trim_aligned_result)) /\ ((((exists ff_h_pfp_trim_aligned_result_witness_common_leftsecondentry. ff_h_pfp_trim_aligned_result_witness_common_leftsecondentry + S (pfrep_right_trim_aligned_result_witness_common_left) = S ((S (pfrep_position_trim_aligned_result_witness_common_leftsecond)) * pfaa_left_c_trim_aligned_result)) /\ exists ff_q_pfp_trim_aligned_result_witness_common_leftsecondentry. pfaa_left_b_trim_aligned_result = ff_q_pfp_trim_aligned_result_witness_common_leftsecondentry * S ((S (pfrep_position_trim_aligned_result_witness_common_leftsecond)) * pfaa_left_c_trim_aligned_result) + (pfrep_right_trim_aligned_result_witness_common_left)))))) \/ (((exists pfrep_gap_trim_aligned_result_witness_common_leftsecondoutside. pfrep_gap_trim_aligned_result_witness_common_leftsecondoutside+(pfaa_length_trim_aligned_result)=(pfrep_power_trim_aligned_result_witness_common_left)) /\ (((pfrep_right_trim_aligned_result_witness_common_left)=0))))) -> pfrep_left_trim_aligned_result_witness_common_left=pfrep_right_trim_aligned_result_witness_common_left) /\ ((forall pfrep_power_trim_aligned_result_witness_common_right pfrep_left_trim_aligned_result_witness_common_right pfrep_right_trim_aligned_result_witness_common_right. ((exists pfrep_position_trim_aligned_result_witness_common_rightfirst. ((pfrep_position_trim_aligned_result_witness_common_rightfirst+S (pfrep_power_trim_aligned_result_witness_common_right)=(R)) /\ ((((exists ff_h_pfp_trim_aligned_result_witness_common_rightfirstentry. ff_h_pfp_trim_aligned_result_witness_common_rightfirstentry + S (pfrep_left_trim_aligned_result_witness_common_right) = S ((S (pfrep_position_trim_aligned_result_witness_common_rightfirst)) * rc)) /\ exists ff_q_pfp_trim_aligned_result_witness_common_rightfirstentry. rb = ff_q_pfp_trim_aligned_result_witness_common_rightfirstentry * S ((S (pfrep_position_trim_aligned_result_witness_common_rightfirst)) * rc) + (pfrep_left_trim_aligned_result_witness_common_right)))))) \/ (((exists pfrep_gap_trim_aligned_result_witness_common_rightfirstoutside. pfrep_gap_trim_aligned_result_witness_common_rightfirstoutside+(R)=(pfrep_power_trim_aligned_result_witness_common_right)) /\ (((pfrep_left_trim_aligned_result_witness_common_right)=0))))) -> ((exists pfrep_position_trim_aligned_result_witness_common_rightsecond. ((pfrep_position_trim_aligned_result_witness_common_rightsecond+S (pfrep_power_trim_aligned_result_witness_common_right)=(pfaa_length_trim_aligned_result)) /\ ((((exists ff_h_pfp_trim_aligned_result_witness_common_rightsecondentry. ff_h_pfp_trim_aligned_result_witness_common_rightsecondentry + S (pfrep_right_trim_aligned_result_witness_common_right) = S ((S (pfrep_position_trim_aligned_result_witness_common_rightsecond)) * pfaa_right_c_trim_aligned_result)) /\ exists ff_q_pfp_trim_aligned_result_witness_common_rightsecondentry. pfaa_right_b_trim_aligned_result = ff_q_pfp_trim_aligned_result_witness_common_rightsecondentry * S ((S (pfrep_position_trim_aligned_result_witness_common_rightsecond)) * pfaa_right_c_trim_aligned_result) + (pfrep_right_trim_aligned_result_witness_common_right)))))) \/ (((exists pfrep_gap_trim_aligned_result_witness_common_rightsecondoutside. pfrep_gap_trim_aligned_result_witness_common_rightsecondoutside+(pfaa_length_trim_aligned_result)=(pfrep_power_trim_aligned_result_witness_common_right)) /\ (((pfrep_right_trim_aligned_result_witness_common_right)=0))))) -> pfrep_left_trim_aligned_result_witness_common_right=pfrep_right_trim_aligned_result_witness_common_right)))) /\ (((forall pfp_index_trim_aligned_result_witness_operation. (exists pfa_gap_trim_aligned_result_witness_operationindex. pfa_gap_trim_aligned_result_witness_operationindex + S (pfp_index_trim_aligned_result_witness_operation) = (pfaa_length_trim_aligned_result)) -> exists pfp_left_trim_aligned_result_witness_operation pfp_right_trim_aligned_result_witness_operation pfp_value_trim_aligned_result_witness_operation. ((((exists ff_h_pfp_trim_aligned_result_witness_operationleft. ff_h_pfp_trim_aligned_result_witness_operationleft + S (pfp_left_trim_aligned_result_witness_operation) = S ((S (pfp_index_trim_aligned_result_witness_operation)) * pfaa_left_c_trim_aligned_result)) /\ exists ff_q_pfp_trim_aligned_result_witness_operationleft. pfaa_left_b_trim_aligned_result = ff_q_pfp_trim_aligned_result_witness_operationleft * S ((S (pfp_index_trim_aligned_result_witness_operation)) * pfaa_left_c_trim_aligned_result) + (pfp_left_trim_aligned_result_witness_operation))) /\ (((((exists ff_h_pfp_trim_aligned_result_witness_operationright. ff_h_pfp_trim_aligned_result_witness_operationright + S (pfp_right_trim_aligned_result_witness_operation) = S ((S (pfp_index_trim_aligned_result_witness_operation)) * pfaa_right_c_trim_aligned_result)) /\ exists ff_q_pfp_trim_aligned_result_witness_operationright. pfaa_right_b_trim_aligned_result = ff_q_pfp_trim_aligned_result_witness_operationright * S ((S (pfp_index_trim_aligned_result_witness_operation)) * pfaa_right_c_trim_aligned_result) + (pfp_right_trim_aligned_result_witness_operation))) /\ (((((exists ff_h_pfp_trim_aligned_result_witness_operationtarget. ff_h_pfp_trim_aligned_result_witness_operationtarget + S (pfp_value_trim_aligned_result_witness_operation) = S ((S (pfp_index_trim_aligned_result_witness_operation)) * pfaa_sum_c_trim_aligned_result)) /\ exists ff_q_pfp_trim_aligned_result_witness_operationtarget. pfaa_sum_b_trim_aligned_result = ff_q_pfp_trim_aligned_result_witness_operationtarget * S ((S (pfp_index_trim_aligned_result_witness_operation)) * pfaa_sum_c_trim_aligned_result) + (pfp_value_trim_aligned_result_witness_operation))) /\ ((((exists pfa_gap_trim_aligned_result_witness_operationoperationleft. pfa_gap_trim_aligned_result_witness_operationoperationleft + S (pfp_left_trim_aligned_result_witness_operation) = (p)) /\ (((exists pfa_gap_trim_aligned_result_witness_operationoperationright. pfa_gap_trim_aligned_result_witness_operationoperationright + S (pfp_right_trim_aligned_result_witness_operation) = (p)) /\ ((((exists pfa_gap_trim_aligned_result_witness_operationoperationresultbound. pfa_gap_trim_aligned_result_witness_operationoperationresultbound + S (pfp_value_trim_aligned_result_witness_operation) = (p)) /\ ((exists pfa_offset_left_trim_aligned_result_witness_operationoperationresultcongruence pfa_offset_right_trim_aligned_result_witness_operationoperationresultcongruence. ((pfp_left_trim_aligned_result_witness_operation) + (pfp_right_trim_aligned_result_witness_operation)) + (p) * pfa_offset_left_trim_aligned_result_witness_operationoperationresultcongruence = (pfp_value_trim_aligned_result_witness_operation) + (p) * pfa_offset_right_trim_aligned_result_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_trim_aligned_result_witness_output pfrep_left_trim_aligned_result_witness_output pfrep_right_trim_aligned_result_witness_output. ((exists pfrep_position_trim_aligned_result_witness_outputfirst. ((pfrep_position_trim_aligned_result_witness_outputfirst+S (pfrep_power_trim_aligned_result_witness_output)=(pfaa_length_trim_aligned_result)) /\ ((((exists ff_h_pfp_trim_aligned_result_witness_outputfirstentry. ff_h_pfp_trim_aligned_result_witness_outputfirstentry + S (pfrep_left_trim_aligned_result_witness_output) = S ((S (pfrep_position_trim_aligned_result_witness_outputfirst)) * pfaa_sum_c_trim_aligned_result)) /\ exists ff_q_pfp_trim_aligned_result_witness_outputfirstentry. pfaa_sum_b_trim_aligned_result = ff_q_pfp_trim_aligned_result_witness_outputfirstentry * S ((S (pfrep_position_trim_aligned_result_witness_outputfirst)) * pfaa_sum_c_trim_aligned_result) + (pfrep_left_trim_aligned_result_witness_output)))))) \/ (((exists pfrep_gap_trim_aligned_result_witness_outputfirstoutside. pfrep_gap_trim_aligned_result_witness_outputfirstoutside+(pfaa_length_trim_aligned_result)=(pfrep_power_trim_aligned_result_witness_output)) /\ (((pfrep_left_trim_aligned_result_witness_output)=0))))) -> ((exists pfrep_position_trim_aligned_result_witness_outputsecond. ((pfrep_position_trim_aligned_result_witness_outputsecond+S (pfrep_power_trim_aligned_result_witness_output)=(L)) /\ ((((exists ff_h_pfp_trim_aligned_result_witness_outputsecondentry. ff_h_pfp_trim_aligned_result_witness_outputsecondentry + S (pfrep_right_trim_aligned_result_witness_output) = S ((S (pfrep_position_trim_aligned_result_witness_outputsecond)) * ac)) /\ exists ff_q_pfp_trim_aligned_result_witness_outputsecondentry. ab = ff_q_pfp_trim_aligned_result_witness_outputsecondentry * S ((S (pfrep_position_trim_aligned_result_witness_outputsecond)) * ac) + (pfrep_right_trim_aligned_result_witness_output)))))) \/ (((exists pfrep_gap_trim_aligned_result_witness_outputsecondoutside. pfrep_gap_trim_aligned_result_witness_outputsecondoutside+(L)=(pfrep_power_trim_aligned_result_witness_output)) /\ (((pfrep_right_trim_aligned_result_witness_output)=0))))) -> pfrep_left_trim_aligned_result_witness_output=pfrep_right_trim_aligned_result_witness_output)))))))))))))Constructive proof overview
Generated structural guide
An actual fixed-length sum and actual trim supply real common representatives for the canonical product and trimmed remainder; no prime premise or equality of unused beta entries is needed.
The unchanged tactic script uses 5 declared prerequisites and contains 84 exact native proof lines.
Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
prime_field_polynomial_add_bounded Alpha theorem; checked-use authorized prime_field_polynomial_trim_output_coefficients Alpha theorem; checked-use authorized prime_field_polynomial_equivalent_symmetric Alpha theorem; checked-use authorized prime_field_polynomial_trim_equivalent Alpha theorem; checked-use authorized prime_field_polynomial_power_coefficient_functional 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–10
02Fix variables and assumptionsL11–19
03Establish hboundsL20–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial add bounded.
- L20
have hbounds : BetaPrefixInto(xb,xc,L,p) ∧ (BetaPrefixInto(ub,uc,L,p) ∧ BetaPrefixInto(ab,ac,L,p))Definitions: BetaPrefixInto - L21
specialize prime_field_polynomial_add_bounded (p) - L22
specialize prime_field_polynomial_add_bounded (xb) - L23
specialize prime_field_polynomial_add_bounded (xc) - L24
specialize prime_field_polynomial_add_bounded (ub) - L25
specialize prime_field_polynomial_add_bounded (uc) - L26
specialize prime_field_polynomial_add_bounded (ab) - L27
specialize prime_field_polynomial_add_bounded (ac) - L28
specialize prime_field_polynomial_add_bounded (L) - L29
apply prime_field_polynomial_add_bounded
04Use earlier factsL30–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
exact hadd
05Separate the logical casesL31–32
06Establish hremainderL33–42
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial trim output coefficients.
- L33
have hremainder : BetaPrefixInto(rb,rc,R,p)Definitions: BetaPrefixInto - L34
specialize prime_field_polynomial_trim_output_coefficients (p) - L35
specialize prime_field_polynomial_trim_output_coefficients (ub) - L36
specialize prime_field_polynomial_trim_output_coefficients (uc) - L37
specialize prime_field_polynomial_trim_output_coefficients (L) - L38
specialize prime_field_polynomial_trim_output_coefficients (t) - L39
specialize prime_field_polynomial_trim_output_coefficients (rb) - L40
specialize prime_field_polynomial_trim_output_coefficients (rc) - L41
specialize prime_field_polynomial_trim_output_coefficients (R) - L42
apply prime_field_polynomial_trim_output_coefficients
07Use earlier factsL43–43
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L43
exact htrim
08Establish hreverseL44–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent symmetric.
- L44
have hreverse : PolynomialEquivalent(rb,rc,R,ub,uc,L)Definitions: PolynomialEquivalent - L45
specialize prime_field_polynomial_equivalent_symmetric (ub) - L46
specialize prime_field_polynomial_equivalent_symmetric (uc) - L47
specialize prime_field_polynomial_equivalent_symmetric (L) - L48
specialize prime_field_polynomial_equivalent_symmetric (rb) - L49
specialize prime_field_polynomial_equivalent_symmetric (rc) - L50
specialize prime_field_polynomial_equivalent_symmetric (R) - L51
apply prime_field_polynomial_equivalent_symmetric - L52
specialize prime_field_polynomial_trim_equivalent (p) - L53
specialize prime_field_polynomial_trim_equivalent (ub)
09Use earlier factsL54–61
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize prime_field_polynomial_trim_equivalent (uc) - L55
specialize prime_field_polynomial_trim_equivalent (L) - L56
specialize prime_field_polynomial_trim_equivalent (t) - L57
specialize prime_field_polynomial_trim_equivalent (rb) - L58
specialize prime_field_polynomial_trim_equivalent (rc) - L59
specialize prime_field_polynomial_trim_equivalent (R) - L60
apply prime_field_polynomial_trim_equivalent - L61
exact htrim
10Separate the logical casesL62–62
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L62
split
11Use earlier factsL63–63
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L63
exact hproduct
12Separate the logical casesL64–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L64
split
13Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hremainder
14Separate the logical casesL66–66
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L66
split
15Use earlier factsL67–67
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L67
exact hbounds_right_right
16Construct an explicit witnessL68–74
17Separate the logical casesL75–76
18Use earlier factsL77–78
19Separate the logical casesL79–79
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L79
split
20Use earlier factsL80–84
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original exact command ledger · 84 lines
- 0001
intro p - 0002
intro pb - 0003
intro pc - 0004
intro N - 0005
intro xb - 0006
intro xc - 0007
intro ub - 0008
intro uc - 0009
intro ab - 0010
intro ac - 0011
intro L - 0012
intro t - 0013
intro rb - 0014
intro rc - 0015
intro R - 0016
intro hproduct - 0017
intro hequivalent - 0018
intro hadd - 0019
intro htrim - 0020
have hbounds : ((forall fom_index_pfp_trim_aligned_left_bound. (exists fom_gap_pfp_trim_aligned_left_bound_index_bound. fom_gap_pfp_trim_aligned_left_bound_index_bound + S (fom_index_pfp_trim_aligned_left_bound) = L) -> exists fom_value_pfp_trim_aligned_left_bound. ((((exists fom_beta_height_pfp_trim_aligned_left_bound_entry. fom_beta_height_pfp_trim_aligned_left_bound_entry + S (fom_value_pfp_trim_aligned_left_bound) = S ((S (fom_index_pfp_trim_aligned_left_bound)) * xc)) /\ exists fom_beta_quotient_pfp_trim_aligned_left_bound_entry. xb = fom_beta_quotient_pfp_trim_aligned_left_bound_entry * S ((S (fom_index_pfp_trim_aligned_left_bound)) * xc) + (fom_value_pfp_trim_aligned_left_bound))) /\ (exists fom_gap_pfp_trim_aligned_left_bound_value_bound. fom_gap_pfp_trim_aligned_left_bound_value_bound + S (fom_value_pfp_trim_aligned_left_bound) = p))) /\ (((forall fom_index_pfp_trim_aligned_right_bound. (exists fom_gap_pfp_trim_aligned_right_bound_index_bound. fom_gap_pfp_trim_aligned_right_bound_index_bound + S (fom_index_pfp_trim_aligned_right_bound) = L) -> exists fom_value_pfp_trim_aligned_right_bound. ((((exists fom_beta_height_pfp_trim_aligned_right_bound_entry. fom_beta_height_pfp_trim_aligned_right_bound_entry + S (fom_value_pfp_trim_aligned_right_bound) = S ((S (fom_index_pfp_trim_aligned_right_bound)) * uc)) /\ exists fom_beta_quotient_pfp_trim_aligned_right_bound_entry. ub = fom_beta_quotient_pfp_trim_aligned_right_bound_entry * S ((S (fom_index_pfp_trim_aligned_right_bound)) * uc) + (fom_value_pfp_trim_aligned_right_bound))) /\ (exists fom_gap_pfp_trim_aligned_right_bound_value_bound. fom_gap_pfp_trim_aligned_right_bound_value_bound + S (fom_value_pfp_trim_aligned_right_bound) = p))) /\ ((forall fom_index_pfp_trim_aligned_sum_bound. (exists fom_gap_pfp_trim_aligned_sum_bound_index_bound. fom_gap_pfp_trim_aligned_sum_bound_index_bound + S (fom_index_pfp_trim_aligned_sum_bound) = L) -> exists fom_value_pfp_trim_aligned_sum_bound. ((((exists fom_beta_height_pfp_trim_aligned_sum_bound_entry. fom_beta_height_pfp_trim_aligned_sum_bound_entry + S (fom_value_pfp_trim_aligned_sum_bound) = S ((S (fom_index_pfp_trim_aligned_sum_bound)) * ac)) /\ exists fom_beta_quotient_pfp_trim_aligned_sum_bound_entry. ab = fom_beta_quotient_pfp_trim_aligned_sum_bound_entry * S ((S (fom_index_pfp_trim_aligned_sum_bound)) * ac) + (fom_value_pfp_trim_aligned_sum_bound))) /\ (exists fom_gap_pfp_trim_aligned_sum_bound_value_bound. fom_gap_pfp_trim_aligned_sum_bound_value_bound + S (fom_value_pfp_trim_aligned_sum_bound) = p))))))) - 0021
specialize prime_field_polynomial_add_bounded (p) - 0022
specialize prime_field_polynomial_add_bounded (xb) - 0023
specialize prime_field_polynomial_add_bounded (xc) - 0024
specialize prime_field_polynomial_add_bounded (ub) - 0025
specialize prime_field_polynomial_add_bounded (uc) - 0026
specialize prime_field_polynomial_add_bounded (ab) - 0027
specialize prime_field_polynomial_add_bounded (ac) - 0028
specialize prime_field_polynomial_add_bounded (L) - 0029
apply prime_field_polynomial_add_bounded - 0030
exact hadd - 0031
cases hbounds - 0032
cases hbounds_right - 0033
have hremainder : forall fom_index_pfp_trim_aligned_remainder_bound. (exists fom_gap_pfp_trim_aligned_remainder_bound_index_bound. fom_gap_pfp_trim_aligned_remainder_bound_index_bound + S (fom_index_pfp_trim_aligned_remainder_bound) = R) -> exists fom_value_pfp_trim_aligned_remainder_bound. ((((exists fom_beta_height_pfp_trim_aligned_remainder_bound_entry. fom_beta_height_pfp_trim_aligned_remainder_bound_entry + S (fom_value_pfp_trim_aligned_remainder_bound) = S ((S (fom_index_pfp_trim_aligned_remainder_bound)) * rc)) /\ exists fom_beta_quotient_pfp_trim_aligned_remainder_bound_entry. rb = fom_beta_quotient_pfp_trim_aligned_remainder_bound_entry * S ((S (fom_index_pfp_trim_aligned_remainder_bound)) * rc) + (fom_value_pfp_trim_aligned_remainder_bound))) /\ (exists fom_gap_pfp_trim_aligned_remainder_bound_value_bound. fom_gap_pfp_trim_aligned_remainder_bound_value_bound + S (fom_value_pfp_trim_aligned_remainder_bound) = p)) - 0034
specialize prime_field_polynomial_trim_output_coefficients (p) - 0035
specialize prime_field_polynomial_trim_output_coefficients (ub) - 0036
specialize prime_field_polynomial_trim_output_coefficients (uc) - 0037
specialize prime_field_polynomial_trim_output_coefficients (L) - 0038
specialize prime_field_polynomial_trim_output_coefficients (t) - 0039
specialize prime_field_polynomial_trim_output_coefficients (rb) - 0040
specialize prime_field_polynomial_trim_output_coefficients (rc) - 0041
specialize prime_field_polynomial_trim_output_coefficients (R) - 0042
apply prime_field_polynomial_trim_output_coefficients - 0043
exact htrim - 0044
have hreverse : forall pfrep_power_trim_aligned_reverse pfrep_left_trim_aligned_reverse pfrep_right_trim_aligned_reverse. ((exists pfrep_position_trim_aligned_reversefirst. ((pfrep_position_trim_aligned_reversefirst+S (pfrep_power_trim_aligned_reverse)=(R)) /\ ((((exists ff_h_pfp_trim_aligned_reversefirstentry. ff_h_pfp_trim_aligned_reversefirstentry + S (pfrep_left_trim_aligned_reverse) = S ((S (pfrep_position_trim_aligned_reversefirst)) * rc)) /\ exists ff_q_pfp_trim_aligned_reversefirstentry. rb = ff_q_pfp_trim_aligned_reversefirstentry * S ((S (pfrep_position_trim_aligned_reversefirst)) * rc) + (pfrep_left_trim_aligned_reverse)))))) \/ (((exists pfrep_gap_trim_aligned_reversefirstoutside. pfrep_gap_trim_aligned_reversefirstoutside+(R)=(pfrep_power_trim_aligned_reverse)) /\ (((pfrep_left_trim_aligned_reverse)=0))))) -> ((exists pfrep_position_trim_aligned_reversesecond. ((pfrep_position_trim_aligned_reversesecond+S (pfrep_power_trim_aligned_reverse)=(L)) /\ ((((exists ff_h_pfp_trim_aligned_reversesecondentry. ff_h_pfp_trim_aligned_reversesecondentry + S (pfrep_right_trim_aligned_reverse) = S ((S (pfrep_position_trim_aligned_reversesecond)) * uc)) /\ exists ff_q_pfp_trim_aligned_reversesecondentry. ub = ff_q_pfp_trim_aligned_reversesecondentry * S ((S (pfrep_position_trim_aligned_reversesecond)) * uc) + (pfrep_right_trim_aligned_reverse)))))) \/ (((exists pfrep_gap_trim_aligned_reversesecondoutside. pfrep_gap_trim_aligned_reversesecondoutside+(L)=(pfrep_power_trim_aligned_reverse)) /\ (((pfrep_right_trim_aligned_reverse)=0))))) -> pfrep_left_trim_aligned_reverse=pfrep_right_trim_aligned_reverse - 0045
specialize prime_field_polynomial_equivalent_symmetric (ub) - 0046
specialize prime_field_polynomial_equivalent_symmetric (uc) - 0047
specialize prime_field_polynomial_equivalent_symmetric (L) - 0048
specialize prime_field_polynomial_equivalent_symmetric (rb) - 0049
specialize prime_field_polynomial_equivalent_symmetric (rc) - 0050
specialize prime_field_polynomial_equivalent_symmetric (R) - 0051
apply prime_field_polynomial_equivalent_symmetric - 0052
specialize prime_field_polynomial_trim_equivalent (p) - 0053
specialize prime_field_polynomial_trim_equivalent (ub) - 0054
specialize prime_field_polynomial_trim_equivalent (uc) - 0055
specialize prime_field_polynomial_trim_equivalent (L) - 0056
specialize prime_field_polynomial_trim_equivalent (t) - 0057
specialize prime_field_polynomial_trim_equivalent (rb) - 0058
specialize prime_field_polynomial_trim_equivalent (rc) - 0059
specialize prime_field_polynomial_trim_equivalent (R) - 0060
apply prime_field_polynomial_trim_equivalent - 0061
exact htrim - 0062
split - 0063
exact hproduct - 0064
split - 0065
exact hremainder - 0066
split - 0067
exact hbounds_right_right - 0068
exists xb - 0069
exists xc - 0070
exists ub - 0071
exists uc - 0072
exists ab - 0073
exists ac - 0074
exists L - 0075
split - 0076
split - 0077
exact hequivalent - 0078
exact hreverse - 0079
split - 0080
exact hadd - 0081
specialize prime_field_polynomial_power_coefficient_functional (ab) - 0082
specialize prime_field_polynomial_power_coefficient_functional (ac) - 0083
specialize prime_field_polynomial_power_coefficient_functional (L) - 0084
apply prime_field_polynomial_power_coefficient_functional