Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
All products and sums use actual beta-coded coefficients; equality is formal coefficient equivalence, not equality of evaluations or raw codes. The zero gcd is included. Uniqueness is up to formal equivalence, not unique Bézout coefficients. This proves the polynomial gcd component, not G091 irreducible-polynomial existence or arbitrary prime-power-field construction.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ rb. ∀ rc. ∀ N. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ tb. ∀ tc. ∀ K. Prime(p) → FpPolynomialAlignedAdd(p,ab,ac,L,bb,bc,M,rb,rc,N) → BetaPrefixInto(ub,uc,K,p) → BetaPrefixInto(vb,vc,K,p) → BetaPrefixInto(tb,tc,K,p) → CommonRepresentatives(ab,ac,L,bb,bc,M,ub,uc,vb,vc,K) → PolynomialEquivalent(rb,rc,N,tb,tc,K) → FpPolyAdd(p,ub,uc,vb,vc,tb,tc,K)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG BetaPrefixInto(b,c,l,B) · 3 FpPolyAdd(p,ab,ac,bb,bc,cb,cc,l) · 2 PolynomialEquivalent(b,c,L,d,e,M) · 2 CommonRepresentatives(ab,ac,L,bb,bc,M,ub,uc,vb,vc,K) · 1 FpPolynomialAlignedAdd(p,ab,ac,L,bb,bc,M,rb,rc,N) · 3 Prime(p) · 1
Actual proof prerequisites
Original expanded first-order statement
forall p ab ac L bb bc M rb rc N ub uc vb vc tb tc K. (~((p) = 1) /\ forall pfa_factor_left_realize_prime pfa_factor_right_realize_prime. (p) = pfa_factor_left_realize_prime * pfa_factor_right_realize_prime -> pfa_factor_left_realize_prime = 1 \/ pfa_factor_right_realize_prime = 1) -> (((forall fom_index_pfp_realize_original_left_bounded. (exists fom_gap_pfp_realize_original_left_bounded_index_bound. fom_gap_pfp_realize_original_left_bounded_index_bound + S (fom_index_pfp_realize_original_left_bounded) = L) -> exists fom_value_pfp_realize_original_left_bounded. ((((exists fom_beta_height_pfp_realize_original_left_bounded_entry. fom_beta_height_pfp_realize_original_left_bounded_entry + S (fom_value_pfp_realize_original_left_bounded) = S ((S (fom_index_pfp_realize_original_left_bounded)) * ac)) /\ exists fom_beta_quotient_pfp_realize_original_left_bounded_entry. ab = fom_beta_quotient_pfp_realize_original_left_bounded_entry * S ((S (fom_index_pfp_realize_original_left_bounded)) * ac) + (fom_value_pfp_realize_original_left_bounded))) /\ (exists fom_gap_pfp_realize_original_left_bounded_value_bound. fom_gap_pfp_realize_original_left_bounded_value_bound + S (fom_value_pfp_realize_original_left_bounded) = p))) /\ (((forall fom_index_pfp_realize_original_right_bounded. (exists fom_gap_pfp_realize_original_right_bounded_index_bound. fom_gap_pfp_realize_original_right_bounded_index_bound + S (fom_index_pfp_realize_original_right_bounded) = M) -> exists fom_value_pfp_realize_original_right_bounded. ((((exists fom_beta_height_pfp_realize_original_right_bounded_entry. fom_beta_height_pfp_realize_original_right_bounded_entry + S (fom_value_pfp_realize_original_right_bounded) = S ((S (fom_index_pfp_realize_original_right_bounded)) * bc)) /\ exists fom_beta_quotient_pfp_realize_original_right_bounded_entry. bb = fom_beta_quotient_pfp_realize_original_right_bounded_entry * S ((S (fom_index_pfp_realize_original_right_bounded)) * bc) + (fom_value_pfp_realize_original_right_bounded))) /\ (exists fom_gap_pfp_realize_original_right_bounded_value_bound. fom_gap_pfp_realize_original_right_bounded_value_bound + S (fom_value_pfp_realize_original_right_bounded) = p))) /\ (((forall fom_index_pfp_realize_original_result_bounded. (exists fom_gap_pfp_realize_original_result_bounded_index_bound. fom_gap_pfp_realize_original_result_bounded_index_bound + S (fom_index_pfp_realize_original_result_bounded) = N) -> exists fom_value_pfp_realize_original_result_bounded. ((((exists fom_beta_height_pfp_realize_original_result_bounded_entry. fom_beta_height_pfp_realize_original_result_bounded_entry + S (fom_value_pfp_realize_original_result_bounded) = S ((S (fom_index_pfp_realize_original_result_bounded)) * rc)) /\ exists fom_beta_quotient_pfp_realize_original_result_bounded_entry. rb = fom_beta_quotient_pfp_realize_original_result_bounded_entry * S ((S (fom_index_pfp_realize_original_result_bounded)) * rc) + (fom_value_pfp_realize_original_result_bounded))) /\ (exists fom_gap_pfp_realize_original_result_bounded_value_bound. fom_gap_pfp_realize_original_result_bounded_value_bound + S (fom_value_pfp_realize_original_result_bounded) = p))) /\ ((exists pfaa_left_b_realize_original pfaa_left_c_realize_original pfaa_right_b_realize_original pfaa_right_c_realize_original pfaa_sum_b_realize_original pfaa_sum_c_realize_original pfaa_length_realize_original. ((((forall pfrep_power_realize_original_witness_common_left pfrep_left_realize_original_witness_common_left pfrep_right_realize_original_witness_common_left. ((exists pfrep_position_realize_original_witness_common_leftfirst. ((pfrep_position_realize_original_witness_common_leftfirst+S (pfrep_power_realize_original_witness_common_left)=(L)) /\ ((((exists ff_h_pfp_realize_original_witness_common_leftfirstentry. ff_h_pfp_realize_original_witness_common_leftfirstentry + S (pfrep_left_realize_original_witness_common_left) = S ((S (pfrep_position_realize_original_witness_common_leftfirst)) * ac)) /\ exists ff_q_pfp_realize_original_witness_common_leftfirstentry. ab = ff_q_pfp_realize_original_witness_common_leftfirstentry * S ((S (pfrep_position_realize_original_witness_common_leftfirst)) * ac) + (pfrep_left_realize_original_witness_common_left)))))) \/ (((exists pfrep_gap_realize_original_witness_common_leftfirstoutside. pfrep_gap_realize_original_witness_common_leftfirstoutside+(L)=(pfrep_power_realize_original_witness_common_left)) /\ (((pfrep_left_realize_original_witness_common_left)=0))))) -> ((exists pfrep_position_realize_original_witness_common_leftsecond. ((pfrep_position_realize_original_witness_common_leftsecond+S (pfrep_power_realize_original_witness_common_left)=(pfaa_length_realize_original)) /\ ((((exists ff_h_pfp_realize_original_witness_common_leftsecondentry. ff_h_pfp_realize_original_witness_common_leftsecondentry + S (pfrep_right_realize_original_witness_common_left) = S ((S (pfrep_position_realize_original_witness_common_leftsecond)) * pfaa_left_c_realize_original)) /\ exists ff_q_pfp_realize_original_witness_common_leftsecondentry. pfaa_left_b_realize_original = ff_q_pfp_realize_original_witness_common_leftsecondentry * S ((S (pfrep_position_realize_original_witness_common_leftsecond)) * pfaa_left_c_realize_original) + (pfrep_right_realize_original_witness_common_left)))))) \/ (((exists pfrep_gap_realize_original_witness_common_leftsecondoutside. pfrep_gap_realize_original_witness_common_leftsecondoutside+(pfaa_length_realize_original)=(pfrep_power_realize_original_witness_common_left)) /\ (((pfrep_right_realize_original_witness_common_left)=0))))) -> pfrep_left_realize_original_witness_common_left=pfrep_right_realize_original_witness_common_left) /\ ((forall pfrep_power_realize_original_witness_common_right pfrep_left_realize_original_witness_common_right pfrep_right_realize_original_witness_common_right. ((exists pfrep_position_realize_original_witness_common_rightfirst. ((pfrep_position_realize_original_witness_common_rightfirst+S (pfrep_power_realize_original_witness_common_right)=(M)) /\ ((((exists ff_h_pfp_realize_original_witness_common_rightfirstentry. ff_h_pfp_realize_original_witness_common_rightfirstentry + S (pfrep_left_realize_original_witness_common_right) = S ((S (pfrep_position_realize_original_witness_common_rightfirst)) * bc)) /\ exists ff_q_pfp_realize_original_witness_common_rightfirstentry. bb = ff_q_pfp_realize_original_witness_common_rightfirstentry * S ((S (pfrep_position_realize_original_witness_common_rightfirst)) * bc) + (pfrep_left_realize_original_witness_common_right)))))) \/ (((exists pfrep_gap_realize_original_witness_common_rightfirstoutside. pfrep_gap_realize_original_witness_common_rightfirstoutside+(M)=(pfrep_power_realize_original_witness_common_right)) /\ (((pfrep_left_realize_original_witness_common_right)=0))))) -> ((exists pfrep_position_realize_original_witness_common_rightsecond. ((pfrep_position_realize_original_witness_common_rightsecond+S (pfrep_power_realize_original_witness_common_right)=(pfaa_length_realize_original)) /\ ((((exists ff_h_pfp_realize_original_witness_common_rightsecondentry. ff_h_pfp_realize_original_witness_common_rightsecondentry + S (pfrep_right_realize_original_witness_common_right) = S ((S (pfrep_position_realize_original_witness_common_rightsecond)) * pfaa_right_c_realize_original)) /\ exists ff_q_pfp_realize_original_witness_common_rightsecondentry. pfaa_right_b_realize_original = ff_q_pfp_realize_original_witness_common_rightsecondentry * S ((S (pfrep_position_realize_original_witness_common_rightsecond)) * pfaa_right_c_realize_original) + (pfrep_right_realize_original_witness_common_right)))))) \/ (((exists pfrep_gap_realize_original_witness_common_rightsecondoutside. pfrep_gap_realize_original_witness_common_rightsecondoutside+(pfaa_length_realize_original)=(pfrep_power_realize_original_witness_common_right)) /\ (((pfrep_right_realize_original_witness_common_right)=0))))) -> pfrep_left_realize_original_witness_common_right=pfrep_right_realize_original_witness_common_right)))) /\ (((forall pfp_index_realize_original_witness_operation. (exists pfa_gap_realize_original_witness_operationindex. pfa_gap_realize_original_witness_operationindex + S (pfp_index_realize_original_witness_operation) = (pfaa_length_realize_original)) -> exists pfp_left_realize_original_witness_operation pfp_right_realize_original_witness_operation pfp_value_realize_original_witness_operation. ((((exists ff_h_pfp_realize_original_witness_operationleft. ff_h_pfp_realize_original_witness_operationleft + S (pfp_left_realize_original_witness_operation) = S ((S (pfp_index_realize_original_witness_operation)) * pfaa_left_c_realize_original)) /\ exists ff_q_pfp_realize_original_witness_operationleft. pfaa_left_b_realize_original = ff_q_pfp_realize_original_witness_operationleft * S ((S (pfp_index_realize_original_witness_operation)) * pfaa_left_c_realize_original) + (pfp_left_realize_original_witness_operation))) /\ (((((exists ff_h_pfp_realize_original_witness_operationright. ff_h_pfp_realize_original_witness_operationright + S (pfp_right_realize_original_witness_operation) = S ((S (pfp_index_realize_original_witness_operation)) * pfaa_right_c_realize_original)) /\ exists ff_q_pfp_realize_original_witness_operationright. pfaa_right_b_realize_original = ff_q_pfp_realize_original_witness_operationright * S ((S (pfp_index_realize_original_witness_operation)) * pfaa_right_c_realize_original) + (pfp_right_realize_original_witness_operation))) /\ (((((exists ff_h_pfp_realize_original_witness_operationtarget. ff_h_pfp_realize_original_witness_operationtarget + S (pfp_value_realize_original_witness_operation) = S ((S (pfp_index_realize_original_witness_operation)) * pfaa_sum_c_realize_original)) /\ exists ff_q_pfp_realize_original_witness_operationtarget. pfaa_sum_b_realize_original = ff_q_pfp_realize_original_witness_operationtarget * S ((S (pfp_index_realize_original_witness_operation)) * pfaa_sum_c_realize_original) + (pfp_value_realize_original_witness_operation))) /\ ((((exists pfa_gap_realize_original_witness_operationoperationleft. pfa_gap_realize_original_witness_operationoperationleft + S (pfp_left_realize_original_witness_operation) = (p)) /\ (((exists pfa_gap_realize_original_witness_operationoperationright. pfa_gap_realize_original_witness_operationoperationright + S (pfp_right_realize_original_witness_operation) = (p)) /\ ((((exists pfa_gap_realize_original_witness_operationoperationresultbound. pfa_gap_realize_original_witness_operationoperationresultbound + S (pfp_value_realize_original_witness_operation) = (p)) /\ ((exists pfa_offset_left_realize_original_witness_operationoperationresultcongruence pfa_offset_right_realize_original_witness_operationoperationresultcongruence. ((pfp_left_realize_original_witness_operation) + (pfp_right_realize_original_witness_operation)) + (p) * pfa_offset_left_realize_original_witness_operationoperationresultcongruence = (pfp_value_realize_original_witness_operation) + (p) * pfa_offset_right_realize_original_witness_operationoperationresultcongruence)))))))))))))))) /\ ((forall pfrep_power_realize_original_witness_output pfrep_left_realize_original_witness_output pfrep_right_realize_original_witness_output. ((exists pfrep_position_realize_original_witness_outputfirst. ((pfrep_position_realize_original_witness_outputfirst+S (pfrep_power_realize_original_witness_output)=(pfaa_length_realize_original)) /\ ((((exists ff_h_pfp_realize_original_witness_outputfirstentry. ff_h_pfp_realize_original_witness_outputfirstentry + S (pfrep_left_realize_original_witness_output) = S ((S (pfrep_position_realize_original_witness_outputfirst)) * pfaa_sum_c_realize_original)) /\ exists ff_q_pfp_realize_original_witness_outputfirstentry. pfaa_sum_b_realize_original = ff_q_pfp_realize_original_witness_outputfirstentry * S ((S (pfrep_position_realize_original_witness_outputfirst)) * pfaa_sum_c_realize_original) + (pfrep_left_realize_original_witness_output)))))) \/ (((exists pfrep_gap_realize_original_witness_outputfirstoutside. pfrep_gap_realize_original_witness_outputfirstoutside+(pfaa_length_realize_original)=(pfrep_power_realize_original_witness_output)) /\ (((pfrep_left_realize_original_witness_output)=0))))) -> ((exists pfrep_position_realize_original_witness_outputsecond. ((pfrep_position_realize_original_witness_outputsecond+S (pfrep_power_realize_original_witness_output)=(N)) /\ ((((exists ff_h_pfp_realize_original_witness_outputsecondentry. ff_h_pfp_realize_original_witness_outputsecondentry + S (pfrep_right_realize_original_witness_output) = S ((S (pfrep_position_realize_original_witness_outputsecond)) * rc)) /\ exists ff_q_pfp_realize_original_witness_outputsecondentry. rb = ff_q_pfp_realize_original_witness_outputsecondentry * S ((S (pfrep_position_realize_original_witness_outputsecond)) * rc) + (pfrep_right_realize_original_witness_output)))))) \/ (((exists pfrep_gap_realize_original_witness_outputsecondoutside. pfrep_gap_realize_original_witness_outputsecondoutside+(N)=(pfrep_power_realize_original_witness_output)) /\ (((pfrep_right_realize_original_witness_output)=0))))) -> pfrep_left_realize_original_witness_output=pfrep_right_realize_original_witness_output))))))))))))) -> (forall fom_index_pfp_realize_bound_0. (exists fom_gap_pfp_realize_bound_0_index_bound. fom_gap_pfp_realize_bound_0_index_bound + S (fom_index_pfp_realize_bound_0) = K) -> exists fom_value_pfp_realize_bound_0. ((((exists fom_beta_height_pfp_realize_bound_0_entry. fom_beta_height_pfp_realize_bound_0_entry + S (fom_value_pfp_realize_bound_0) = S ((S (fom_index_pfp_realize_bound_0)) * uc)) /\ exists fom_beta_quotient_pfp_realize_bound_0_entry. ub = fom_beta_quotient_pfp_realize_bound_0_entry * S ((S (fom_index_pfp_realize_bound_0)) * uc) + (fom_value_pfp_realize_bound_0))) /\ (exists fom_gap_pfp_realize_bound_0_value_bound. fom_gap_pfp_realize_bound_0_value_bound + S (fom_value_pfp_realize_bound_0) = p))) -> (forall fom_index_pfp_realize_bound_1. (exists fom_gap_pfp_realize_bound_1_index_bound. fom_gap_pfp_realize_bound_1_index_bound + S (fom_index_pfp_realize_bound_1) = K) -> exists fom_value_pfp_realize_bound_1. ((((exists fom_beta_height_pfp_realize_bound_1_entry. fom_beta_height_pfp_realize_bound_1_entry + S (fom_value_pfp_realize_bound_1) = S ((S (fom_index_pfp_realize_bound_1)) * vc)) /\ exists fom_beta_quotient_pfp_realize_bound_1_entry. vb = fom_beta_quotient_pfp_realize_bound_1_entry * S ((S (fom_index_pfp_realize_bound_1)) * vc) + (fom_value_pfp_realize_bound_1))) /\ (exists fom_gap_pfp_realize_bound_1_value_bound. fom_gap_pfp_realize_bound_1_value_bound + S (fom_value_pfp_realize_bound_1) = p))) -> (forall fom_index_pfp_realize_bound_2. (exists fom_gap_pfp_realize_bound_2_index_bound. fom_gap_pfp_realize_bound_2_index_bound + S (fom_index_pfp_realize_bound_2) = K) -> exists fom_value_pfp_realize_bound_2. ((((exists fom_beta_height_pfp_realize_bound_2_entry. fom_beta_height_pfp_realize_bound_2_entry + S (fom_value_pfp_realize_bound_2) = S ((S (fom_index_pfp_realize_bound_2)) * tc)) /\ exists fom_beta_quotient_pfp_realize_bound_2_entry. tb = fom_beta_quotient_pfp_realize_bound_2_entry * S ((S (fom_index_pfp_realize_bound_2)) * tc) + (fom_value_pfp_realize_bound_2))) /\ (exists fom_gap_pfp_realize_bound_2_value_bound. fom_gap_pfp_realize_bound_2_value_bound + S (fom_value_pfp_realize_bound_2) = p))) -> (((forall pfrep_power_realize_common_left pfrep_left_realize_common_left pfrep_right_realize_common_left. ((exists pfrep_position_realize_common_leftfirst. ((pfrep_position_realize_common_leftfirst+S (pfrep_power_realize_common_left)=(L)) /\ ((((exists ff_h_pfp_realize_common_leftfirstentry. ff_h_pfp_realize_common_leftfirstentry + S (pfrep_left_realize_common_left) = S ((S (pfrep_position_realize_common_leftfirst)) * ac)) /\ exists ff_q_pfp_realize_common_leftfirstentry. ab = ff_q_pfp_realize_common_leftfirstentry * S ((S (pfrep_position_realize_common_leftfirst)) * ac) + (pfrep_left_realize_common_left)))))) \/ (((exists pfrep_gap_realize_common_leftfirstoutside. pfrep_gap_realize_common_leftfirstoutside+(L)=(pfrep_power_realize_common_left)) /\ (((pfrep_left_realize_common_left)=0))))) -> ((exists pfrep_position_realize_common_leftsecond. ((pfrep_position_realize_common_leftsecond+S (pfrep_power_realize_common_left)=(K)) /\ ((((exists ff_h_pfp_realize_common_leftsecondentry. ff_h_pfp_realize_common_leftsecondentry + S (pfrep_right_realize_common_left) = S ((S (pfrep_position_realize_common_leftsecond)) * uc)) /\ exists ff_q_pfp_realize_common_leftsecondentry. ub = ff_q_pfp_realize_common_leftsecondentry * S ((S (pfrep_position_realize_common_leftsecond)) * uc) + (pfrep_right_realize_common_left)))))) \/ (((exists pfrep_gap_realize_common_leftsecondoutside. pfrep_gap_realize_common_leftsecondoutside+(K)=(pfrep_power_realize_common_left)) /\ (((pfrep_right_realize_common_left)=0))))) -> pfrep_left_realize_common_left=pfrep_right_realize_common_left) /\ ((forall pfrep_power_realize_common_right pfrep_left_realize_common_right pfrep_right_realize_common_right. ((exists pfrep_position_realize_common_rightfirst. ((pfrep_position_realize_common_rightfirst+S (pfrep_power_realize_common_right)=(M)) /\ ((((exists ff_h_pfp_realize_common_rightfirstentry. ff_h_pfp_realize_common_rightfirstentry + S (pfrep_left_realize_common_right) = S ((S (pfrep_position_realize_common_rightfirst)) * bc)) /\ exists ff_q_pfp_realize_common_rightfirstentry. bb = ff_q_pfp_realize_common_rightfirstentry * S ((S (pfrep_position_realize_common_rightfirst)) * bc) + (pfrep_left_realize_common_right)))))) \/ (((exists pfrep_gap_realize_common_rightfirstoutside. pfrep_gap_realize_common_rightfirstoutside+(M)=(pfrep_power_realize_common_right)) /\ (((pfrep_left_realize_common_right)=0))))) -> ((exists pfrep_position_realize_common_rightsecond. ((pfrep_position_realize_common_rightsecond+S (pfrep_power_realize_common_right)=(K)) /\ ((((exists ff_h_pfp_realize_common_rightsecondentry. ff_h_pfp_realize_common_rightsecondentry + S (pfrep_right_realize_common_right) = S ((S (pfrep_position_realize_common_rightsecond)) * vc)) /\ exists ff_q_pfp_realize_common_rightsecondentry. vb = ff_q_pfp_realize_common_rightsecondentry * S ((S (pfrep_position_realize_common_rightsecond)) * vc) + (pfrep_right_realize_common_right)))))) \/ (((exists pfrep_gap_realize_common_rightsecondoutside. pfrep_gap_realize_common_rightsecondoutside+(K)=(pfrep_power_realize_common_right)) /\ (((pfrep_right_realize_common_right)=0))))) -> pfrep_left_realize_common_right=pfrep_right_realize_common_right)))) -> (forall pfrep_power_realize_output pfrep_left_realize_output pfrep_right_realize_output. ((exists pfrep_position_realize_outputfirst. ((pfrep_position_realize_outputfirst+S (pfrep_power_realize_output)=(N)) /\ ((((exists ff_h_pfp_realize_outputfirstentry. ff_h_pfp_realize_outputfirstentry + S (pfrep_left_realize_output) = S ((S (pfrep_position_realize_outputfirst)) * rc)) /\ exists ff_q_pfp_realize_outputfirstentry. rb = ff_q_pfp_realize_outputfirstentry * S ((S (pfrep_position_realize_outputfirst)) * rc) + (pfrep_left_realize_output)))))) \/ (((exists pfrep_gap_realize_outputfirstoutside. pfrep_gap_realize_outputfirstoutside+(N)=(pfrep_power_realize_output)) /\ (((pfrep_left_realize_output)=0))))) -> ((exists pfrep_position_realize_outputsecond. ((pfrep_position_realize_outputsecond+S (pfrep_power_realize_output)=(K)) /\ ((((exists ff_h_pfp_realize_outputsecondentry. ff_h_pfp_realize_outputsecondentry + S (pfrep_right_realize_output) = S ((S (pfrep_position_realize_outputsecond)) * tc)) /\ exists ff_q_pfp_realize_outputsecondentry. tb = ff_q_pfp_realize_outputsecondentry * S ((S (pfrep_position_realize_outputsecond)) * tc) + (pfrep_right_realize_output)))))) \/ (((exists pfrep_gap_realize_outputsecondoutside. pfrep_gap_realize_outputsecondoutside+(K)=(pfrep_power_realize_output)) /\ (((pfrep_right_realize_output)=0))))) -> pfrep_left_realize_output=pfrep_right_realize_output) -> (forall pfp_index_realize_actual_operation. (exists pfa_gap_realize_actual_operationindex. pfa_gap_realize_actual_operationindex + S (pfp_index_realize_actual_operation) = (K)) -> exists pfp_left_realize_actual_operation pfp_right_realize_actual_operation pfp_value_realize_actual_operation. ((((exists ff_h_pfp_realize_actual_operationleft. ff_h_pfp_realize_actual_operationleft + S (pfp_left_realize_actual_operation) = S ((S (pfp_index_realize_actual_operation)) * uc)) /\ exists ff_q_pfp_realize_actual_operationleft. ub = ff_q_pfp_realize_actual_operationleft * S ((S (pfp_index_realize_actual_operation)) * uc) + (pfp_left_realize_actual_operation))) /\ (((((exists ff_h_pfp_realize_actual_operationright. ff_h_pfp_realize_actual_operationright + S (pfp_right_realize_actual_operation) = S ((S (pfp_index_realize_actual_operation)) * vc)) /\ exists ff_q_pfp_realize_actual_operationright. vb = ff_q_pfp_realize_actual_operationright * S ((S (pfp_index_realize_actual_operation)) * vc) + (pfp_right_realize_actual_operation))) /\ (((((exists ff_h_pfp_realize_actual_operationtarget. ff_h_pfp_realize_actual_operationtarget + S (pfp_value_realize_actual_operation) = S ((S (pfp_index_realize_actual_operation)) * tc)) /\ exists ff_q_pfp_realize_actual_operationtarget. tb = ff_q_pfp_realize_actual_operationtarget * S ((S (pfp_index_realize_actual_operation)) * tc) + (pfp_value_realize_actual_operation))) /\ ((((exists pfa_gap_realize_actual_operationoperationleft. pfa_gap_realize_actual_operationoperationleft + S (pfp_left_realize_actual_operation) = (p)) /\ (((exists pfa_gap_realize_actual_operationoperationright. pfa_gap_realize_actual_operationoperationright + S (pfp_right_realize_actual_operation) = (p)) /\ ((((exists pfa_gap_realize_actual_operationoperationresultbound. pfa_gap_realize_actual_operationoperationresultbound + S (pfp_value_realize_actual_operation) = (p)) /\ ((exists pfa_offset_left_realize_actual_operationoperationresultcongruence pfa_offset_right_realize_actual_operationoperationresultcongruence. ((pfp_left_realize_actual_operation) + (pfp_right_realize_actual_operation)) + (p) * pfa_offset_left_realize_actual_operationoperationresultcongruence = (pfp_value_realize_actual_operation) + (p) * pfa_offset_right_realize_actual_operationoperationresultcongruence))))))))))))))))
Complete tactic proof in conservative notation
All 146 original proof lines are preserved. Only local proposition formulas are abbreviated; every abbreviation has an exact binder-safe expansion check. The linked exact edition contains the unchanged replay script.
Read the argument
Proof checkpoints 146 script commands · 22 reading checkpoints · 4 local claims
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Definition notation is shown below. Open the paired exact edition for the original native formulas. Source pairing is not a new equivalence certificate.
Named ingredients (3) Expand checkpoints Collapse checkpoints Show original steps Find a step
01 Fix variables and assumptions L1–10 Work with arbitrary variables or the premises of the current implication.
L1 intro p
L2 intro ab
L3 intro ac
L4 intro L
L5 intro bb
L6 intro bc
L7 intro M
L8 intro rb
L9 intro rc
L10 intro N
02 Fix variables and assumptions L11–20 Work with arbitrary variables or the premises of the current implication.
L11 intro ub
L12 intro uc
L13 intro vb
L14 intro vc
L15 intro tb
L16 intro tc
L17 intro K
L18 intro hp
L19 intro h
L20 intro hu
03 Fix variables and assumptions L21–24 Work with arbitrary variables or the premises of the current implication.
L21 intro hv
L22 intro ht
L23 intro hc
L24 intro hr
04 Separate the logical cases L25–25 Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
L25 cases hc
05 Establish hz L26–35 Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial add exists.
L26 have hz : ∃ zb. ∃ zc. FpPolyAdd(p,ub,uc,vb,vc,zb,zc,K)Definitions: FpPolyAdd(p,ub,uc,vb,vc,zb,zc,K) Original native command in the exact edition L27 specialize prime_field_polynomial_add_exists (p)
L28 specialize prime_field_polynomial_add_exists (ub)
L29 specialize prime_field_polynomial_add_exists (uc)
L30 specialize prime_field_polynomial_add_exists (vb)
L31 specialize prime_field_polynomial_add_exists (vc)
L32 specialize prime_field_polynomial_add_exists (K)
L33 apply prime_field_polynomial_add_exists
L34 intro hpzero
L35 specialize prime_nonzero (p)
06 Use earlier facts L36–40 Instantiate or apply named facts and discharge the corresponding proof obligations.
L36 apply prime_nonzero
L37 exact hp
L38 exact hpzero
L39 exact hu
L40 exact hv
07 Separate the logical cases L41–42 Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
L41 cases hz
L42 cases hz_witness
08 Establish hzgraph L43–52 Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial aligned add from fixed.
L43 have hzgraph : FpPolynomialAlignedAdd(p,ub,uc,K,vb,vc,K,x,x1,K)Definitions: FpPolynomialAlignedAdd(p,ub,uc,K,vb,vc,K,x,x1,K) Original native command in the exact edition L44 specialize prime_field_polynomial_aligned_add_from_fixed (p)
L45 specialize prime_field_polynomial_aligned_add_from_fixed (ub)
L46 specialize prime_field_polynomial_aligned_add_from_fixed (uc)
L47 specialize prime_field_polynomial_aligned_add_from_fixed (vb)
L48 specialize prime_field_polynomial_aligned_add_from_fixed (vc)
L49 specialize prime_field_polynomial_aligned_add_from_fixed (x)
L50 specialize prime_field_polynomial_aligned_add_from_fixed (x1)
L51 specialize prime_field_polynomial_aligned_add_from_fixed (K)
L52 apply prime_field_polynomial_aligned_add_from_fixed
09 Use earlier facts L53–53 Instantiate or apply named facts and discharge the corresponding proof obligations.
L53 exact hz_witness_witness
10 Establish htgraph L54–63 Establish this local claim before using it. It is not an additional assumption.
L54 have htgraph : FpPolynomialAlignedAdd(p,ub,uc,K,vb,vc,K,tb,tc,K)Definitions: FpPolynomialAlignedAdd(p,ub,uc,K,vb,vc,K,tb,tc,K) Original native command in the exact edition L55 specialize prime_field_polynomial_aligned_add_transport (p)
L56 specialize prime_field_polynomial_aligned_add_transport (ab)
L57 specialize prime_field_polynomial_aligned_add_transport (ac)
L58 specialize prime_field_polynomial_aligned_add_transport (L)
L59 specialize prime_field_polynomial_aligned_add_transport (bb)
L60 specialize prime_field_polynomial_aligned_add_transport (bc)
L61 specialize prime_field_polynomial_aligned_add_transport (M)
L62 specialize prime_field_polynomial_aligned_add_transport (rb)
L63 specialize prime_field_polynomial_aligned_add_transport (rc)
11 Use earlier facts L64–73 Instantiate or apply named facts and discharge the corresponding proof obligations.
L64 specialize prime_field_polynomial_aligned_add_transport (N)
L65 specialize prime_field_polynomial_aligned_add_transport (ub)
L66 specialize prime_field_polynomial_aligned_add_transport (uc)
L67 specialize prime_field_polynomial_aligned_add_transport (K)
L68 specialize prime_field_polynomial_aligned_add_transport (vb)
L69 specialize prime_field_polynomial_aligned_add_transport (vc)
L70 specialize prime_field_polynomial_aligned_add_transport (K)
L71 specialize prime_field_polynomial_aligned_add_transport (tb)
L72 specialize prime_field_polynomial_aligned_add_transport (tc)
L73 specialize prime_field_polynomial_aligned_add_transport (K)
12 Use earlier facts L74–83 Instantiate or apply named facts and discharge the corresponding proof obligations.
L74 apply prime_field_polynomial_aligned_add_transport
L75 exact hu
L76 exact hv
L77 exact ht
L78 specialize prime_field_polynomial_equivalent_symmetric (ab)
L79 specialize prime_field_polynomial_equivalent_symmetric (ac)
L80 specialize prime_field_polynomial_equivalent_symmetric (L)
L81 specialize prime_field_polynomial_equivalent_symmetric (ub)
L82 specialize prime_field_polynomial_equivalent_symmetric (uc)
L83 specialize prime_field_polynomial_equivalent_symmetric (K)
13 Use earlier facts L84–93 Instantiate or apply named facts and discharge the corresponding proof obligations.
L84 apply prime_field_polynomial_equivalent_symmetric
L85 exact hc_left
L86 specialize prime_field_polynomial_equivalent_symmetric (bb)
L87 specialize prime_field_polynomial_equivalent_symmetric (bc)
L88 specialize prime_field_polynomial_equivalent_symmetric (M)
L89 specialize prime_field_polynomial_equivalent_symmetric (vb)
L90 specialize prime_field_polynomial_equivalent_symmetric (vc)
L91 specialize prime_field_polynomial_equivalent_symmetric (K)
L92 apply prime_field_polynomial_equivalent_symmetric
L93 exact hc_right
14 Use earlier facts L94–95 Instantiate or apply named facts and discharge the corresponding proof obligations.
L94 exact hr
L95 exact h
15 Establish he L96–105 Establish this local claim before using it. It is not an additional assumption.
L96 have he : PolynomialEquivalent(x,x1,K,tb,tc,K)Definitions: PolynomialEquivalent(x,x1,K,tb,tc,K) Original native command in the exact edition L97 specialize prime_field_polynomial_aligned_add_functional (p)
L98 specialize prime_field_polynomial_aligned_add_functional (ub)
L99 specialize prime_field_polynomial_aligned_add_functional (uc)
L100 specialize prime_field_polynomial_aligned_add_functional (K)
L101 specialize prime_field_polynomial_aligned_add_functional (vb)
L102 specialize prime_field_polynomial_aligned_add_functional (vc)
L103 specialize prime_field_polynomial_aligned_add_functional (K)
L104 specialize prime_field_polynomial_aligned_add_functional (x)
L105 specialize prime_field_polynomial_aligned_add_functional (x1)
16 Use earlier facts L106–115 Instantiate or apply named facts and discharge the corresponding proof obligations.
L106 specialize prime_field_polynomial_aligned_add_functional (K)
L107 specialize prime_field_polynomial_aligned_add_functional (tb)
L108 specialize prime_field_polynomial_aligned_add_functional (tc)
L109 specialize prime_field_polynomial_aligned_add_functional (K)
L110 apply prime_field_polynomial_aligned_add_functional
L111 exact hp
L112 exact hzgraph
L113 exact htgraph
L114 specialize prime_field_polynomial_add_transport (p)
L115 specialize prime_field_polynomial_add_transport (ub)
17 Use earlier facts L116–125 Instantiate or apply named facts and discharge the corresponding proof obligations.
L116 specialize prime_field_polynomial_add_transport (uc)
L117 specialize prime_field_polynomial_add_transport (vb)
L118 specialize prime_field_polynomial_add_transport (vc)
L119 specialize prime_field_polynomial_add_transport (x)
L120 specialize prime_field_polynomial_add_transport (x1)
L121 specialize prime_field_polynomial_add_transport (ub)
L122 specialize prime_field_polynomial_add_transport (uc)
L123 specialize prime_field_polynomial_add_transport (vb)
L124 specialize prime_field_polynomial_add_transport (vc)
L125 specialize prime_field_polynomial_add_transport (tb)
18 Use earlier facts L126–128 Instantiate or apply named facts and discharge the corresponding proof obligations.
L126 specialize prime_field_polynomial_add_transport (tc)
L127 specialize prime_field_polynomial_add_transport (K)
L128 apply prime_field_polynomial_add_transport
19 Fix variables and assumptions L129–132 Work with arbitrary variables or the premises of the current implication.
L129 intro i
L130 intro a
L131 intro hi
L132 intro ha
20 Use earlier facts L133–133 Instantiate or apply named facts and discharge the corresponding proof obligations.
L133 exact ha
21 Fix variables and assumptions L134–137 Work with arbitrary variables or the premises of the current implication.
L134 intro i
L135 intro a
L136 intro hi
L137 intro ha
22 Use earlier facts L138–146 Instantiate or apply named facts and discharge the corresponding proof obligations.
L138 exact ha
L139 specialize prime_field_polynomial_equivalent_implies_equal_same_length (x)
L140 specialize prime_field_polynomial_equivalent_implies_equal_same_length (x1)
L141 specialize prime_field_polynomial_equivalent_implies_equal_same_length (tb)
L142 specialize prime_field_polynomial_equivalent_implies_equal_same_length (tc)
L143 specialize prime_field_polynomial_equivalent_implies_equal_same_length (K)
L144 apply prime_field_polynomial_equivalent_implies_equal_same_length
L145 exact he
L146 exact hz_witness_witness
Library-wide reading audit
Original defined command ledger · 146 lines 0001 intro p0002 intro ab0003 intro ac0004 intro L0005 intro bb0006 intro bc0007 intro M0008 intro rb0009 intro rc0010 intro N0011 intro ub0012 intro uc0013 intro vb0014 intro vc0015 intro tb0016 intro tc0017 intro K0018 intro hp0019 intro h0020 intro hu0021 intro hv0022 intro ht0023 intro hc0024 intro hr0025 cases hc0026 have hz : ∃ zb. ∃ zc. FpPolyAdd(p,ub,uc,vb,vc,zb,zc,K) 0027 specialize prime_field_polynomial_add_exists (p)0028 specialize prime_field_polynomial_add_exists (ub)0029 specialize prime_field_polynomial_add_exists (uc)0030 specialize prime_field_polynomial_add_exists (vb)0031 specialize prime_field_polynomial_add_exists (vc)0032 specialize prime_field_polynomial_add_exists (K)0033 apply prime_field_polynomial_add_exists0034 intro hpzero0035 specialize prime_nonzero (p)0036 apply prime_nonzero0037 exact hp0038 exact hpzero0039 exact hu0040 exact hv0041 cases hz0042 cases hz_witness0043 have hzgraph : FpPolynomialAlignedAdd(p,ub,uc,K,vb,vc,K,x,x1,K) 0044 specialize prime_field_polynomial_aligned_add_from_fixed (p)0045 specialize prime_field_polynomial_aligned_add_from_fixed (ub)0046 specialize prime_field_polynomial_aligned_add_from_fixed (uc)0047 specialize prime_field_polynomial_aligned_add_from_fixed (vb)0048 specialize prime_field_polynomial_aligned_add_from_fixed (vc)0049 specialize prime_field_polynomial_aligned_add_from_fixed (x)0050 specialize prime_field_polynomial_aligned_add_from_fixed (x1)0051 specialize prime_field_polynomial_aligned_add_from_fixed (K)0052 apply prime_field_polynomial_aligned_add_from_fixed 0053 exact hz_witness_witness0054 have htgraph : FpPolynomialAlignedAdd(p,ub,uc,K,vb,vc,K,tb,tc,K) 0055 specialize prime_field_polynomial_aligned_add_transport (p)0056 specialize prime_field_polynomial_aligned_add_transport (ab)0057 specialize prime_field_polynomial_aligned_add_transport (ac)0058 specialize prime_field_polynomial_aligned_add_transport (L)0059 specialize prime_field_polynomial_aligned_add_transport (bb)0060 specialize prime_field_polynomial_aligned_add_transport (bc)0061 specialize prime_field_polynomial_aligned_add_transport (M)0062 specialize prime_field_polynomial_aligned_add_transport (rb)0063 specialize prime_field_polynomial_aligned_add_transport (rc)0064 specialize prime_field_polynomial_aligned_add_transport (N)0065 specialize prime_field_polynomial_aligned_add_transport (ub)0066 specialize prime_field_polynomial_aligned_add_transport (uc)0067 specialize prime_field_polynomial_aligned_add_transport (K)0068 specialize prime_field_polynomial_aligned_add_transport (vb)0069 specialize prime_field_polynomial_aligned_add_transport (vc)0070 specialize prime_field_polynomial_aligned_add_transport (K)0071 specialize prime_field_polynomial_aligned_add_transport (tb)0072 specialize prime_field_polynomial_aligned_add_transport (tc)0073 specialize prime_field_polynomial_aligned_add_transport (K)0074 apply prime_field_polynomial_aligned_add_transport 0075 exact hu0076 exact hv0077 exact ht0078 specialize prime_field_polynomial_equivalent_symmetric (ab)0079 specialize prime_field_polynomial_equivalent_symmetric (ac)0080 specialize prime_field_polynomial_equivalent_symmetric (L)0081 specialize prime_field_polynomial_equivalent_symmetric (ub)0082 specialize prime_field_polynomial_equivalent_symmetric (uc)0083 specialize prime_field_polynomial_equivalent_symmetric (K)0084 apply prime_field_polynomial_equivalent_symmetric0085 exact hc_left0086 specialize prime_field_polynomial_equivalent_symmetric (bb)0087 specialize prime_field_polynomial_equivalent_symmetric (bc)0088 specialize prime_field_polynomial_equivalent_symmetric (M)0089 specialize prime_field_polynomial_equivalent_symmetric (vb)0090 specialize prime_field_polynomial_equivalent_symmetric (vc)0091 specialize prime_field_polynomial_equivalent_symmetric (K)0092 apply prime_field_polynomial_equivalent_symmetric0093 exact hc_right0094 exact hr0095 exact h0096 have he : PolynomialEquivalent(x,x1,K,tb,tc,K) 0097 specialize prime_field_polynomial_aligned_add_functional (p)0098 specialize prime_field_polynomial_aligned_add_functional (ub)0099 specialize prime_field_polynomial_aligned_add_functional (uc)0100 specialize prime_field_polynomial_aligned_add_functional (K)0101 specialize prime_field_polynomial_aligned_add_functional (vb)0102 specialize prime_field_polynomial_aligned_add_functional (vc)0103 specialize prime_field_polynomial_aligned_add_functional (K)0104 specialize prime_field_polynomial_aligned_add_functional (x)0105 specialize prime_field_polynomial_aligned_add_functional (x1)0106 specialize prime_field_polynomial_aligned_add_functional (K)0107 specialize prime_field_polynomial_aligned_add_functional (tb)0108 specialize prime_field_polynomial_aligned_add_functional (tc)0109 specialize prime_field_polynomial_aligned_add_functional (K)0110 apply prime_field_polynomial_aligned_add_functional 0111 exact hp0112 exact hzgraph0113 exact htgraph0114 specialize prime_field_polynomial_add_transport (p)0115 specialize prime_field_polynomial_add_transport (ub)0116 specialize prime_field_polynomial_add_transport (uc)0117 specialize prime_field_polynomial_add_transport (vb)0118 specialize prime_field_polynomial_add_transport (vc)0119 specialize prime_field_polynomial_add_transport (x)0120 specialize prime_field_polynomial_add_transport (x1)0121 specialize prime_field_polynomial_add_transport (ub)0122 specialize prime_field_polynomial_add_transport (uc)0123 specialize prime_field_polynomial_add_transport (vb)0124 specialize prime_field_polynomial_add_transport (vc)0125 specialize prime_field_polynomial_add_transport (tb)0126 specialize prime_field_polynomial_add_transport (tc)0127 specialize prime_field_polynomial_add_transport (K)0128 apply prime_field_polynomial_add_transport0129 intro i0130 intro a0131 intro hi0132 intro ha0133 exact ha0134 intro i0135 intro a0136 intro hi0137 intro ha0138 exact ha0139 specialize prime_field_polynomial_equivalent_implies_equal_same_length (x)0140 specialize prime_field_polynomial_equivalent_implies_equal_same_length (x1)0141 specialize prime_field_polynomial_equivalent_implies_equal_same_length (tb)0142 specialize prime_field_polynomial_equivalent_implies_equal_same_length (tc)0143 specialize prime_field_polynomial_equivalent_implies_equal_same_length (K)0144 apply prime_field_polynomial_equivalent_implies_equal_same_length0145 exact he0146 exact hz_witness_witness