PG0024

prime_field_polynomial_nested_empty_right_equivalent

At every nonzero modulus, actual Q=B*empty, R=P*empty and S=A*Q have formally equivalent all-zero outputs, for arbitrary actual P. The argument constructs the genuine empty zero-prefix fact and transports it through the real products; it assumes neither P=AB nor an output-length shortcut.

Alpha v34 checked-use · first admitted v34 · independently kernel and Lean verified; not Stable

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. ∀ pb. ∀ pc. ∀ N. ∀ cb. ∀ cc. ∀ qb. ∀ qc. ∀ K. ∀ rb. ∀ rc. ∀ U. ∀ sb. ∀ sc. ∀ V. ¬p = 0 → FpPolyProduct(p,bb,bc,M,cb,cc,0,qb,qc,K)FpPolyProduct(p,pb,pc,N,cb,cc,0,rb,rc,U)FpPolyProduct(p,ab,ac,L,qb,qc,K,sb,sc,V)PolynomialEquivalent(rb,rc,U,sb,sc,V)

Every linked abbreviation expands hygienically to the identical original native formula.

Definition DAG

Actual proof prerequisites

Original expanded first-order statement
forall p ab ac L bb bc M pb pc N cb cc qb qc K rb rc U sb sc V. (~(p=0)) -> (((forall fom_index_pfp_associativity_empty_Qleft. (exists fom_gap_pfp_associativity_empty_Qleft_index_bound. fom_gap_pfp_associativity_empty_Qleft_index_bound + S (fom_index_pfp_associativity_empty_Qleft) = M) -> exists fom_value_pfp_associativity_empty_Qleft. ((((exists fom_beta_height_pfp_associativity_empty_Qleft_entry. fom_beta_height_pfp_associativity_empty_Qleft_entry + S (fom_value_pfp_associativity_empty_Qleft) = S ((S (fom_index_pfp_associativity_empty_Qleft)) * bc)) /\ exists fom_beta_quotient_pfp_associativity_empty_Qleft_entry. bb = fom_beta_quotient_pfp_associativity_empty_Qleft_entry * S ((S (fom_index_pfp_associativity_empty_Qleft)) * bc) + (fom_value_pfp_associativity_empty_Qleft))) /\ (exists fom_gap_pfp_associativity_empty_Qleft_value_bound. fom_gap_pfp_associativity_empty_Qleft_value_bound + S (fom_value_pfp_associativity_empty_Qleft) = p))) /\ (((forall fom_index_pfp_associativity_empty_Qright. (exists fom_gap_pfp_associativity_empty_Qright_index_bound. fom_gap_pfp_associativity_empty_Qright_index_bound + S (fom_index_pfp_associativity_empty_Qright) = 0) -> exists fom_value_pfp_associativity_empty_Qright. ((((exists fom_beta_height_pfp_associativity_empty_Qright_entry. fom_beta_height_pfp_associativity_empty_Qright_entry + S (fom_value_pfp_associativity_empty_Qright) = S ((S (fom_index_pfp_associativity_empty_Qright)) * cc)) /\ exists fom_beta_quotient_pfp_associativity_empty_Qright_entry. cb = fom_beta_quotient_pfp_associativity_empty_Qright_entry * S ((S (fom_index_pfp_associativity_empty_Qright)) * cc) + (fom_value_pfp_associativity_empty_Qright))) /\ (exists fom_gap_pfp_associativity_empty_Qright_value_bound. fom_gap_pfp_associativity_empty_Qright_value_bound + S (fom_value_pfp_associativity_empty_Qright) = p))) /\ (((((((M)=0 \/ (0)=0) /\ (((K)=0)))) \/ (((~((M)=0)) /\ (((~((0)=0)) /\ (((M)+(0)=S (K)))))))) /\ ((forall pfc_index_associativity_empty_Qcoefficients. (exists pfa_gap_associativity_empty_Qcoefficientsbound. pfa_gap_associativity_empty_Qcoefficientsbound + S (pfc_index_associativity_empty_Qcoefficients) = (K)) -> exists pfc_value_associativity_empty_Qcoefficients. ((((exists ff_h_pfp_associativity_empty_Qcoefficientsentry. ff_h_pfp_associativity_empty_Qcoefficientsentry + S (pfc_value_associativity_empty_Qcoefficients) = S ((S (pfc_index_associativity_empty_Qcoefficients)) * qc)) /\ exists ff_q_pfp_associativity_empty_Qcoefficientsentry. qb = ff_q_pfp_associativity_empty_Qcoefficientsentry * S ((S (pfc_index_associativity_empty_Qcoefficients)) * qc) + (pfc_value_associativity_empty_Qcoefficients))) /\ ((exists pfc_terms_code_associativity_empty_Qcoefficientscoefficient pfc_terms_scale_associativity_empty_Qcoefficientscoefficient pfc_natural_sum_associativity_empty_Qcoefficientscoefficient. ((forall pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal. (exists pfa_gap_associativity_empty_Qcoefficientscoefficientdiagonalbound. pfa_gap_associativity_empty_Qcoefficientscoefficientdiagonalbound + S (pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal) = (S (pfc_index_associativity_empty_Qcoefficients))) -> exists pfc_value_associativity_empty_Qcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_associativity_empty_Qcoefficientscoefficientdiagonalentry. ff_h_pfp_associativity_empty_Qcoefficientscoefficientdiagonalentry + S (pfc_value_associativity_empty_Qcoefficientscoefficientdiagonal) = S ((S (pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal)) * pfc_terms_scale_associativity_empty_Qcoefficientscoefficient)) /\ exists ff_q_pfp_associativity_empty_Qcoefficientscoefficientdiagonalentry. pfc_terms_code_associativity_empty_Qcoefficientscoefficient = ff_q_pfp_associativity_empty_Qcoefficientscoefficientdiagonalentry * S ((S (pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal)) * pfc_terms_scale_associativity_empty_Qcoefficientscoefficient) + (pfc_value_associativity_empty_Qcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_associativity_empty_Qcoefficientscoefficientdiagonalterm pfc_left_associativity_empty_Qcoefficientscoefficientdiagonalterm pfc_right_associativity_empty_Qcoefficientscoefficientdiagonalterm. (((pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal)+pfc_complement_associativity_empty_Qcoefficientscoefficientdiagonalterm=(pfc_index_associativity_empty_Qcoefficients)) /\ ((((((exists pfa_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermleftinside. pfa_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal) = (M)) /\ ((((exists ff_h_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_associativity_empty_Qcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal)) * bc)) /\ exists ff_q_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermleftentry. bb = ff_q_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal)) * bc) + (pfc_left_associativity_empty_Qcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermleftoutside+(M)=(pfc_index_associativity_empty_Qcoefficientscoefficientdiagonal)) /\ (((pfc_left_associativity_empty_Qcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermrightinside. pfa_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_associativity_empty_Qcoefficientscoefficientdiagonalterm) = (0)) /\ ((((exists ff_h_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_associativity_empty_Qcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_associativity_empty_Qcoefficientscoefficientdiagonalterm)) * cc)) /\ exists ff_q_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermrightentry. cb = ff_q_pfp_associativity_empty_Qcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_associativity_empty_Qcoefficientscoefficientdiagonalterm)) * cc) + (pfc_right_associativity_empty_Qcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_associativity_empty_Qcoefficientscoefficientdiagonaltermrightoutside+(0)=(pfc_complement_associativity_empty_Qcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_associativity_empty_Qcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_associativity_empty_Qcoefficientscoefficientdiagonal)=pfc_left_associativity_empty_Qcoefficientscoefficientdiagonalterm*pfc_right_associativity_empty_Qcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_associativity_empty_Qcoefficientscoefficientsum fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum. ((((exists fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_start. fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_start. fs_u_pfc_associativity_empty_Qcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_terminal. fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_associativity_empty_Qcoefficientscoefficient) = S ((S (S (pfc_index_associativity_empty_Qcoefficients))) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_terminal. fs_u_pfc_associativity_empty_Qcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_associativity_empty_Qcoefficients))) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum) + (pfc_natural_sum_associativity_empty_Qcoefficientscoefficient))) /\ forall fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps = S (pfc_index_associativity_empty_Qcoefficients)) -> exists fs_a_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps fs_r_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps fs_s_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_associativity_empty_Qcoefficientscoefficient)) /\ exists fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_associativity_empty_Qcoefficientscoefficient = fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_associativity_empty_Qcoefficientscoefficient) + (fs_a_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_associativity_empty_Qcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum) + (fs_r_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_associativity_empty_Qcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Qcoefficientscoefficientsum) + (fs_s_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps = fs_r_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps + fs_a_pfc_associativity_empty_Qcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_associativity_empty_Qcoefficientscoefficientresiduebound. pfa_gap_associativity_empty_Qcoefficientscoefficientresiduebound + S (pfc_value_associativity_empty_Qcoefficients) = (p)) /\ ((exists pfa_offset_left_associativity_empty_Qcoefficientscoefficientresiduecongruence pfa_offset_right_associativity_empty_Qcoefficientscoefficientresiduecongruence. (pfc_natural_sum_associativity_empty_Qcoefficientscoefficient) + (p) * pfa_offset_left_associativity_empty_Qcoefficientscoefficientresiduecongruence = (pfc_value_associativity_empty_Qcoefficients) + (p) * pfa_offset_right_associativity_empty_Qcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_associativity_empty_Rleft. (exists fom_gap_pfp_associativity_empty_Rleft_index_bound. fom_gap_pfp_associativity_empty_Rleft_index_bound + S (fom_index_pfp_associativity_empty_Rleft) = N) -> exists fom_value_pfp_associativity_empty_Rleft. ((((exists fom_beta_height_pfp_associativity_empty_Rleft_entry. fom_beta_height_pfp_associativity_empty_Rleft_entry + S (fom_value_pfp_associativity_empty_Rleft) = S ((S (fom_index_pfp_associativity_empty_Rleft)) * pc)) /\ exists fom_beta_quotient_pfp_associativity_empty_Rleft_entry. pb = fom_beta_quotient_pfp_associativity_empty_Rleft_entry * S ((S (fom_index_pfp_associativity_empty_Rleft)) * pc) + (fom_value_pfp_associativity_empty_Rleft))) /\ (exists fom_gap_pfp_associativity_empty_Rleft_value_bound. fom_gap_pfp_associativity_empty_Rleft_value_bound + S (fom_value_pfp_associativity_empty_Rleft) = p))) /\ (((forall fom_index_pfp_associativity_empty_Rright. (exists fom_gap_pfp_associativity_empty_Rright_index_bound. fom_gap_pfp_associativity_empty_Rright_index_bound + S (fom_index_pfp_associativity_empty_Rright) = 0) -> exists fom_value_pfp_associativity_empty_Rright. ((((exists fom_beta_height_pfp_associativity_empty_Rright_entry. fom_beta_height_pfp_associativity_empty_Rright_entry + S (fom_value_pfp_associativity_empty_Rright) = S ((S (fom_index_pfp_associativity_empty_Rright)) * cc)) /\ exists fom_beta_quotient_pfp_associativity_empty_Rright_entry. cb = fom_beta_quotient_pfp_associativity_empty_Rright_entry * S ((S (fom_index_pfp_associativity_empty_Rright)) * cc) + (fom_value_pfp_associativity_empty_Rright))) /\ (exists fom_gap_pfp_associativity_empty_Rright_value_bound. fom_gap_pfp_associativity_empty_Rright_value_bound + S (fom_value_pfp_associativity_empty_Rright) = p))) /\ (((((((N)=0 \/ (0)=0) /\ (((U)=0)))) \/ (((~((N)=0)) /\ (((~((0)=0)) /\ (((N)+(0)=S (U)))))))) /\ ((forall pfc_index_associativity_empty_Rcoefficients. (exists pfa_gap_associativity_empty_Rcoefficientsbound. pfa_gap_associativity_empty_Rcoefficientsbound + S (pfc_index_associativity_empty_Rcoefficients) = (U)) -> exists pfc_value_associativity_empty_Rcoefficients. ((((exists ff_h_pfp_associativity_empty_Rcoefficientsentry. ff_h_pfp_associativity_empty_Rcoefficientsentry + S (pfc_value_associativity_empty_Rcoefficients) = S ((S (pfc_index_associativity_empty_Rcoefficients)) * rc)) /\ exists ff_q_pfp_associativity_empty_Rcoefficientsentry. rb = ff_q_pfp_associativity_empty_Rcoefficientsentry * S ((S (pfc_index_associativity_empty_Rcoefficients)) * rc) + (pfc_value_associativity_empty_Rcoefficients))) /\ ((exists pfc_terms_code_associativity_empty_Rcoefficientscoefficient pfc_terms_scale_associativity_empty_Rcoefficientscoefficient pfc_natural_sum_associativity_empty_Rcoefficientscoefficient. ((forall pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal. (exists pfa_gap_associativity_empty_Rcoefficientscoefficientdiagonalbound. pfa_gap_associativity_empty_Rcoefficientscoefficientdiagonalbound + S (pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal) = (S (pfc_index_associativity_empty_Rcoefficients))) -> exists pfc_value_associativity_empty_Rcoefficientscoefficientdiagonal. ((((exists ff_h_pfp_associativity_empty_Rcoefficientscoefficientdiagonalentry. ff_h_pfp_associativity_empty_Rcoefficientscoefficientdiagonalentry + S (pfc_value_associativity_empty_Rcoefficientscoefficientdiagonal) = S ((S (pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal)) * pfc_terms_scale_associativity_empty_Rcoefficientscoefficient)) /\ exists ff_q_pfp_associativity_empty_Rcoefficientscoefficientdiagonalentry. pfc_terms_code_associativity_empty_Rcoefficientscoefficient = ff_q_pfp_associativity_empty_Rcoefficientscoefficientdiagonalentry * S ((S (pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal)) * pfc_terms_scale_associativity_empty_Rcoefficientscoefficient) + (pfc_value_associativity_empty_Rcoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_associativity_empty_Rcoefficientscoefficientdiagonalterm pfc_left_associativity_empty_Rcoefficientscoefficientdiagonalterm pfc_right_associativity_empty_Rcoefficientscoefficientdiagonalterm. (((pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal)+pfc_complement_associativity_empty_Rcoefficientscoefficientdiagonalterm=(pfc_index_associativity_empty_Rcoefficients)) /\ ((((((exists pfa_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermleftinside. pfa_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermleftinside + S (pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal) = (N)) /\ ((((exists ff_h_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermleftentry + S (pfc_left_associativity_empty_Rcoefficientscoefficientdiagonalterm) = S ((S (pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal)) * pc)) /\ exists ff_q_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermleftentry. pb = ff_q_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal)) * pc) + (pfc_left_associativity_empty_Rcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermleftoutside. pfc_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermleftoutside+(N)=(pfc_index_associativity_empty_Rcoefficientscoefficientdiagonal)) /\ (((pfc_left_associativity_empty_Rcoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermrightinside. pfa_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_associativity_empty_Rcoefficientscoefficientdiagonalterm) = (0)) /\ ((((exists ff_h_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermrightentry + S (pfc_right_associativity_empty_Rcoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_associativity_empty_Rcoefficientscoefficientdiagonalterm)) * cc)) /\ exists ff_q_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermrightentry. cb = ff_q_pfp_associativity_empty_Rcoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_associativity_empty_Rcoefficientscoefficientdiagonalterm)) * cc) + (pfc_right_associativity_empty_Rcoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermrightoutside. pfc_gap_associativity_empty_Rcoefficientscoefficientdiagonaltermrightoutside+(0)=(pfc_complement_associativity_empty_Rcoefficientscoefficientdiagonalterm)) /\ (((pfc_right_associativity_empty_Rcoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_associativity_empty_Rcoefficientscoefficientdiagonal)=pfc_left_associativity_empty_Rcoefficientscoefficientdiagonalterm*pfc_right_associativity_empty_Rcoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_associativity_empty_Rcoefficientscoefficientsum fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum. ((((exists fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_start. fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_start. fs_u_pfc_associativity_empty_Rcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_terminal. fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_associativity_empty_Rcoefficientscoefficient) = S ((S (S (pfc_index_associativity_empty_Rcoefficients))) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_terminal. fs_u_pfc_associativity_empty_Rcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_associativity_empty_Rcoefficients))) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum) + (pfc_natural_sum_associativity_empty_Rcoefficientscoefficient))) /\ forall fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps = S (pfc_index_associativity_empty_Rcoefficients)) -> exists fs_a_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps fs_r_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps fs_s_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_summand. fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_associativity_empty_Rcoefficientscoefficient)) /\ exists fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_summand. pfc_terms_code_associativity_empty_Rcoefficientscoefficient = fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)) * pfc_terms_scale_associativity_empty_Rcoefficientscoefficient) + (fs_a_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_partial. fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_partial. fs_u_pfc_associativity_empty_Rcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum) + (fs_r_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_successor. fs_h_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_successor. fs_u_pfc_associativity_empty_Rcoefficientscoefficientsum = fs_q_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Rcoefficientscoefficientsum) + (fs_s_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps = fs_r_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps + fs_a_pfc_associativity_empty_Rcoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_associativity_empty_Rcoefficientscoefficientresiduebound. pfa_gap_associativity_empty_Rcoefficientscoefficientresiduebound + S (pfc_value_associativity_empty_Rcoefficients) = (p)) /\ ((exists pfa_offset_left_associativity_empty_Rcoefficientscoefficientresiduecongruence pfa_offset_right_associativity_empty_Rcoefficientscoefficientresiduecongruence. (pfc_natural_sum_associativity_empty_Rcoefficientscoefficient) + (p) * pfa_offset_left_associativity_empty_Rcoefficientscoefficientresiduecongruence = (pfc_value_associativity_empty_Rcoefficients) + (p) * pfa_offset_right_associativity_empty_Rcoefficientscoefficientresiduecongruence))))))))))))))))))) -> (((forall fom_index_pfp_associativity_empty_Sleft. (exists fom_gap_pfp_associativity_empty_Sleft_index_bound. fom_gap_pfp_associativity_empty_Sleft_index_bound + S (fom_index_pfp_associativity_empty_Sleft) = L) -> exists fom_value_pfp_associativity_empty_Sleft. ((((exists fom_beta_height_pfp_associativity_empty_Sleft_entry. fom_beta_height_pfp_associativity_empty_Sleft_entry + S (fom_value_pfp_associativity_empty_Sleft) = S ((S (fom_index_pfp_associativity_empty_Sleft)) * ac)) /\ exists fom_beta_quotient_pfp_associativity_empty_Sleft_entry. ab = fom_beta_quotient_pfp_associativity_empty_Sleft_entry * S ((S (fom_index_pfp_associativity_empty_Sleft)) * ac) + (fom_value_pfp_associativity_empty_Sleft))) /\ (exists fom_gap_pfp_associativity_empty_Sleft_value_bound. fom_gap_pfp_associativity_empty_Sleft_value_bound + S (fom_value_pfp_associativity_empty_Sleft) = p))) /\ (((forall fom_index_pfp_associativity_empty_Sright. (exists fom_gap_pfp_associativity_empty_Sright_index_bound. fom_gap_pfp_associativity_empty_Sright_index_bound + S (fom_index_pfp_associativity_empty_Sright) = K) -> exists fom_value_pfp_associativity_empty_Sright. ((((exists fom_beta_height_pfp_associativity_empty_Sright_entry. fom_beta_height_pfp_associativity_empty_Sright_entry + S (fom_value_pfp_associativity_empty_Sright) = S ((S (fom_index_pfp_associativity_empty_Sright)) * qc)) /\ exists fom_beta_quotient_pfp_associativity_empty_Sright_entry. qb = fom_beta_quotient_pfp_associativity_empty_Sright_entry * S ((S (fom_index_pfp_associativity_empty_Sright)) * qc) + (fom_value_pfp_associativity_empty_Sright))) /\ (exists fom_gap_pfp_associativity_empty_Sright_value_bound. fom_gap_pfp_associativity_empty_Sright_value_bound + S (fom_value_pfp_associativity_empty_Sright) = p))) /\ (((((((L)=0 \/ (K)=0) /\ (((V)=0)))) \/ (((~((L)=0)) /\ (((~((K)=0)) /\ (((L)+(K)=S (V)))))))) /\ ((forall pfc_index_associativity_empty_Scoefficients. (exists pfa_gap_associativity_empty_Scoefficientsbound. pfa_gap_associativity_empty_Scoefficientsbound + S (pfc_index_associativity_empty_Scoefficients) = (V)) -> exists pfc_value_associativity_empty_Scoefficients. ((((exists ff_h_pfp_associativity_empty_Scoefficientsentry. ff_h_pfp_associativity_empty_Scoefficientsentry + S (pfc_value_associativity_empty_Scoefficients) = S ((S (pfc_index_associativity_empty_Scoefficients)) * sc)) /\ exists ff_q_pfp_associativity_empty_Scoefficientsentry. sb = ff_q_pfp_associativity_empty_Scoefficientsentry * S ((S (pfc_index_associativity_empty_Scoefficients)) * sc) + (pfc_value_associativity_empty_Scoefficients))) /\ ((exists pfc_terms_code_associativity_empty_Scoefficientscoefficient pfc_terms_scale_associativity_empty_Scoefficientscoefficient pfc_natural_sum_associativity_empty_Scoefficientscoefficient. ((forall pfc_index_associativity_empty_Scoefficientscoefficientdiagonal. (exists pfa_gap_associativity_empty_Scoefficientscoefficientdiagonalbound. pfa_gap_associativity_empty_Scoefficientscoefficientdiagonalbound + S (pfc_index_associativity_empty_Scoefficientscoefficientdiagonal) = (S (pfc_index_associativity_empty_Scoefficients))) -> exists pfc_value_associativity_empty_Scoefficientscoefficientdiagonal. ((((exists ff_h_pfp_associativity_empty_Scoefficientscoefficientdiagonalentry. ff_h_pfp_associativity_empty_Scoefficientscoefficientdiagonalentry + S (pfc_value_associativity_empty_Scoefficientscoefficientdiagonal) = S ((S (pfc_index_associativity_empty_Scoefficientscoefficientdiagonal)) * pfc_terms_scale_associativity_empty_Scoefficientscoefficient)) /\ exists ff_q_pfp_associativity_empty_Scoefficientscoefficientdiagonalentry. pfc_terms_code_associativity_empty_Scoefficientscoefficient = ff_q_pfp_associativity_empty_Scoefficientscoefficientdiagonalentry * S ((S (pfc_index_associativity_empty_Scoefficientscoefficientdiagonal)) * pfc_terms_scale_associativity_empty_Scoefficientscoefficient) + (pfc_value_associativity_empty_Scoefficientscoefficientdiagonal))) /\ ((exists pfc_complement_associativity_empty_Scoefficientscoefficientdiagonalterm pfc_left_associativity_empty_Scoefficientscoefficientdiagonalterm pfc_right_associativity_empty_Scoefficientscoefficientdiagonalterm. (((pfc_index_associativity_empty_Scoefficientscoefficientdiagonal)+pfc_complement_associativity_empty_Scoefficientscoefficientdiagonalterm=(pfc_index_associativity_empty_Scoefficients)) /\ ((((((exists pfa_gap_associativity_empty_Scoefficientscoefficientdiagonaltermleftinside. pfa_gap_associativity_empty_Scoefficientscoefficientdiagonaltermleftinside + S (pfc_index_associativity_empty_Scoefficientscoefficientdiagonal) = (L)) /\ ((((exists ff_h_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermleftentry. ff_h_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermleftentry + S (pfc_left_associativity_empty_Scoefficientscoefficientdiagonalterm) = S ((S (pfc_index_associativity_empty_Scoefficientscoefficientdiagonal)) * ac)) /\ exists ff_q_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermleftentry. ab = ff_q_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermleftentry * S ((S (pfc_index_associativity_empty_Scoefficientscoefficientdiagonal)) * ac) + (pfc_left_associativity_empty_Scoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_associativity_empty_Scoefficientscoefficientdiagonaltermleftoutside. pfc_gap_associativity_empty_Scoefficientscoefficientdiagonaltermleftoutside+(L)=(pfc_index_associativity_empty_Scoefficientscoefficientdiagonal)) /\ (((pfc_left_associativity_empty_Scoefficientscoefficientdiagonalterm)=0))))) /\ ((((((exists pfa_gap_associativity_empty_Scoefficientscoefficientdiagonaltermrightinside. pfa_gap_associativity_empty_Scoefficientscoefficientdiagonaltermrightinside + S (pfc_complement_associativity_empty_Scoefficientscoefficientdiagonalterm) = (K)) /\ ((((exists ff_h_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermrightentry. ff_h_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermrightentry + S (pfc_right_associativity_empty_Scoefficientscoefficientdiagonalterm) = S ((S (pfc_complement_associativity_empty_Scoefficientscoefficientdiagonalterm)) * qc)) /\ exists ff_q_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermrightentry. qb = ff_q_pfp_associativity_empty_Scoefficientscoefficientdiagonaltermrightentry * S ((S (pfc_complement_associativity_empty_Scoefficientscoefficientdiagonalterm)) * qc) + (pfc_right_associativity_empty_Scoefficientscoefficientdiagonalterm)))))) \/ (((exists pfc_gap_associativity_empty_Scoefficientscoefficientdiagonaltermrightoutside. pfc_gap_associativity_empty_Scoefficientscoefficientdiagonaltermrightoutside+(K)=(pfc_complement_associativity_empty_Scoefficientscoefficientdiagonalterm)) /\ (((pfc_right_associativity_empty_Scoefficientscoefficientdiagonalterm)=0))))) /\ (((pfc_value_associativity_empty_Scoefficientscoefficientdiagonal)=pfc_left_associativity_empty_Scoefficientscoefficientdiagonalterm*pfc_right_associativity_empty_Scoefficientscoefficientdiagonalterm))))))))))) /\ (((exists fs_u_pfc_associativity_empty_Scoefficientscoefficientsum fs_v_pfc_associativity_empty_Scoefficientscoefficientsum. ((((exists fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_start. fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_start + S (0) = S ((S (0)) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_start. fs_u_pfc_associativity_empty_Scoefficientscoefficientsum = fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_start * S ((S (0)) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum) + (0))) /\ ((((exists fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_terminal. fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_terminal + S (pfc_natural_sum_associativity_empty_Scoefficientscoefficient) = S ((S (S (pfc_index_associativity_empty_Scoefficients))) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_terminal. fs_u_pfc_associativity_empty_Scoefficientscoefficientsum = fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_terminal * S ((S (S (pfc_index_associativity_empty_Scoefficients))) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum) + (pfc_natural_sum_associativity_empty_Scoefficientscoefficient))) /\ forall fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps. (exists fs_lt_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_bound. fs_lt_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_bound + S fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps = S (pfc_index_associativity_empty_Scoefficients)) -> exists fs_a_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps fs_r_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps fs_s_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps. ((((exists fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_summand. fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_summand + S (fs_a_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)) * pfc_terms_scale_associativity_empty_Scoefficientscoefficient)) /\ exists fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_summand. pfc_terms_code_associativity_empty_Scoefficientscoefficient = fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_summand * S ((S (fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)) * pfc_terms_scale_associativity_empty_Scoefficientscoefficient) + (fs_a_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_partial. fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_partial + S (fs_r_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps) = S ((S (fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_partial. fs_u_pfc_associativity_empty_Scoefficientscoefficientsum = fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_partial * S ((S (fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum) + (fs_r_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps))) /\ ((((exists fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_successor. fs_h_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_successor + S (fs_s_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps) = S ((S (S fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum)) /\ exists fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_successor. fs_u_pfc_associativity_empty_Scoefficientscoefficientsum = fs_q_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps_successor * S ((S (S fs_i_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)) * fs_v_pfc_associativity_empty_Scoefficientscoefficientsum) + (fs_s_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps))) /\ fs_s_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps = fs_r_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps + fs_a_pfc_associativity_empty_Scoefficientscoefficientsum_body_steps)))))) /\ ((((exists pfa_gap_associativity_empty_Scoefficientscoefficientresiduebound. pfa_gap_associativity_empty_Scoefficientscoefficientresiduebound + S (pfc_value_associativity_empty_Scoefficients) = (p)) /\ ((exists pfa_offset_left_associativity_empty_Scoefficientscoefficientresiduecongruence pfa_offset_right_associativity_empty_Scoefficientscoefficientresiduecongruence. (pfc_natural_sum_associativity_empty_Scoefficientscoefficient) + (p) * pfa_offset_left_associativity_empty_Scoefficientscoefficientresiduecongruence = (pfc_value_associativity_empty_Scoefficients) + (p) * pfa_offset_right_associativity_empty_Scoefficientscoefficientresiduecongruence))))))))))))))))))) -> (forall pfrep_power_associativity_empty_result pfrep_left_associativity_empty_result pfrep_right_associativity_empty_result. ((exists pfrep_position_associativity_empty_resultfirst. ((pfrep_position_associativity_empty_resultfirst+S (pfrep_power_associativity_empty_result)=(U)) /\ ((((exists ff_h_pfp_associativity_empty_resultfirstentry. ff_h_pfp_associativity_empty_resultfirstentry + S (pfrep_left_associativity_empty_result) = S ((S (pfrep_position_associativity_empty_resultfirst)) * rc)) /\ exists ff_q_pfp_associativity_empty_resultfirstentry. rb = ff_q_pfp_associativity_empty_resultfirstentry * S ((S (pfrep_position_associativity_empty_resultfirst)) * rc) + (pfrep_left_associativity_empty_result)))))) \/ (((exists pfrep_gap_associativity_empty_resultfirstoutside. pfrep_gap_associativity_empty_resultfirstoutside+(U)=(pfrep_power_associativity_empty_result)) /\ (((pfrep_left_associativity_empty_result)=0))))) -> ((exists pfrep_position_associativity_empty_resultsecond. ((pfrep_position_associativity_empty_resultsecond+S (pfrep_power_associativity_empty_result)=(V)) /\ ((((exists ff_h_pfp_associativity_empty_resultsecondentry. ff_h_pfp_associativity_empty_resultsecondentry + S (pfrep_right_associativity_empty_result) = S ((S (pfrep_position_associativity_empty_resultsecond)) * sc)) /\ exists ff_q_pfp_associativity_empty_resultsecondentry. sb = ff_q_pfp_associativity_empty_resultsecondentry * S ((S (pfrep_position_associativity_empty_resultsecond)) * sc) + (pfrep_right_associativity_empty_result)))))) \/ (((exists pfrep_gap_associativity_empty_resultsecondoutside. pfrep_gap_associativity_empty_resultsecondoutside+(V)=(pfrep_power_associativity_empty_result)) /\ (((pfrep_right_associativity_empty_result)=0))))) -> pfrep_left_associativity_empty_result=pfrep_right_associativity_empty_result)

Complete tactic proof in conservative notation

All 104 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

104 script commands · 13 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.

01Fix variables and assumptionsL1–10

Work with arbitrary variables or the premises of the current implication.

  1. L1
    intro p
  2. L2
    intro ab
  3. L3
    intro ac
  4. L4
    intro L
  5. L5
    intro bb
  6. L6
    intro bc
  7. L7
    intro M
  8. L8
    intro pb
  9. L9
    intro pc
  10. L10
    intro N
02Fix variables and assumptionsL11–20

Work with arbitrary variables or the premises of the current implication.

  1. L11
    intro cb
  2. L12
    intro cc
  3. L13
    intro qb
  4. L14
    intro qc
  5. L15
    intro K
  6. L16
    intro rb
  7. L17
    intro rc
  8. L18
    intro U
  9. L19
    intro sb
  10. L20
    intro sc
03Fix variables and assumptionsL21–25

Work with arbitrary variables or the premises of the current implication.

  1. L21
    intro V
  2. L22
    intro hp
  3. L23
    intro hQ
  4. L24
    intro hR
  5. L25
    intro hS
04Establish hemptyL26–32

Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat empty.

  1. L26
    have hempty : Repeat(cb,cc,0,0)Definitions: Repeat(cb,cc,0,0)Original native command in the exact edition
  2. L27
    specialize beta_repeat_empty (cb)
  3. L28
    specialize beta_repeat_empty (cc)
  4. L29
    specialize beta_repeat_empty (0)
  5. L30
    specialize beta_repeat_empty (0)
  6. L31
    apply beta_repeat_empty
  7. L32
    refl
05Establish hQzeroL33–42

Establish this local claim before using it. It is not an additional assumption.

  1. L33
    have hQzero : Repeat(qb,qc,0,K)Definitions: Repeat(qb,qc,0,K)Original native command in the exact edition
  2. L34
    specialize prime_field_polynomial_convolution_zero_right (p)
  3. L35
    specialize prime_field_polynomial_convolution_zero_right (bb)
  4. L36
    specialize prime_field_polynomial_convolution_zero_right (bc)
  5. L37
    specialize prime_field_polynomial_convolution_zero_right (M)
  6. L38
    specialize prime_field_polynomial_convolution_zero_right (cb)
  7. L39
    specialize prime_field_polynomial_convolution_zero_right (cc)
  8. L40
    specialize prime_field_polynomial_convolution_zero_right (0)
  9. L41
    specialize prime_field_polynomial_convolution_zero_right (qb)
  10. L42
    specialize prime_field_polynomial_convolution_zero_right (qc)
06Use earlier factsL43–47

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L43
    specialize prime_field_polynomial_convolution_zero_right (K)
  2. L44
    apply prime_field_polynomial_convolution_zero_right
  3. L45
    exact hp
  4. L46
    exact hempty
  5. L47
    exact hQ
07Establish hRzeroL48–57

Establish this local claim before using it. It is not an additional assumption.

  1. L48
    have hRzero : Repeat(rb,rc,0,U)Definitions: Repeat(rb,rc,0,U)Original native command in the exact edition
  2. L49
    specialize prime_field_polynomial_convolution_zero_right (p)
  3. L50
    specialize prime_field_polynomial_convolution_zero_right (pb)
  4. L51
    specialize prime_field_polynomial_convolution_zero_right (pc)
  5. L52
    specialize prime_field_polynomial_convolution_zero_right (N)
  6. L53
    specialize prime_field_polynomial_convolution_zero_right (cb)
  7. L54
    specialize prime_field_polynomial_convolution_zero_right (cc)
  8. L55
    specialize prime_field_polynomial_convolution_zero_right (0)
  9. L56
    specialize prime_field_polynomial_convolution_zero_right (rb)
  10. L57
    specialize prime_field_polynomial_convolution_zero_right (rc)
08Use earlier factsL58–62

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L58
    specialize prime_field_polynomial_convolution_zero_right (U)
  2. L59
    apply prime_field_polynomial_convolution_zero_right
  3. L60
    exact hp
  4. L61
    exact hempty
  5. L62
    exact hR
09Establish hSzeroL63–72

Establish this local claim before using it. It is not an additional assumption.

  1. L63
    have hSzero : Repeat(sb,sc,0,V)Definitions: Repeat(sb,sc,0,V)Original native command in the exact edition
  2. L64
    specialize prime_field_polynomial_convolution_zero_right (p)
  3. L65
    specialize prime_field_polynomial_convolution_zero_right (ab)
  4. L66
    specialize prime_field_polynomial_convolution_zero_right (ac)
  5. L67
    specialize prime_field_polynomial_convolution_zero_right (L)
  6. L68
    specialize prime_field_polynomial_convolution_zero_right (qb)
  7. L69
    specialize prime_field_polynomial_convolution_zero_right (qc)
  8. L70
    specialize prime_field_polynomial_convolution_zero_right (K)
  9. L71
    specialize prime_field_polynomial_convolution_zero_right (sb)
  10. L72
    specialize prime_field_polynomial_convolution_zero_right (sc)
10Use earlier factsL73–82

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L73
    specialize prime_field_polynomial_convolution_zero_right (V)
  2. L74
    apply prime_field_polynomial_convolution_zero_right
  3. L75
    exact hp
  4. L76
    exact hQzero
  5. L77
    exact hS
  6. L78
    specialize prime_field_polynomial_equivalent_transitive (rb)
  7. L79
    specialize prime_field_polynomial_equivalent_transitive (rc)
  8. L80
    specialize prime_field_polynomial_equivalent_transitive (U)
  9. L81
    specialize prime_field_polynomial_equivalent_transitive (0)
  10. L82
    specialize prime_field_polynomial_equivalent_transitive (0)
11Use earlier factsL83–92

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L83
    specialize prime_field_polynomial_equivalent_transitive (0)
  2. L84
    specialize prime_field_polynomial_equivalent_transitive (sb)
  3. L85
    specialize prime_field_polynomial_equivalent_transitive (sc)
  4. L86
    specialize prime_field_polynomial_equivalent_transitive (V)
  5. L87
    apply prime_field_polynomial_equivalent_transitive
  6. L88
    specialize prime_field_polynomial_zero_prefix_equivalent_empty (rb)
  7. L89
    specialize prime_field_polynomial_zero_prefix_equivalent_empty (rc)
  8. L90
    specialize prime_field_polynomial_zero_prefix_equivalent_empty (U)
  9. L91
    apply prime_field_polynomial_zero_prefix_equivalent_empty
  10. L92
    exact hRzero
12Use earlier factsL93–102

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L93
    specialize prime_field_polynomial_equivalent_symmetric (sb)
  2. L94
    specialize prime_field_polynomial_equivalent_symmetric (sc)
  3. L95
    specialize prime_field_polynomial_equivalent_symmetric (V)
  4. L96
    specialize prime_field_polynomial_equivalent_symmetric (0)
  5. L97
    specialize prime_field_polynomial_equivalent_symmetric (0)
  6. L98
    specialize prime_field_polynomial_equivalent_symmetric (0)
  7. L99
    apply prime_field_polynomial_equivalent_symmetric
  8. L100
    specialize prime_field_polynomial_zero_prefix_equivalent_empty (sb)
  9. L101
    specialize prime_field_polynomial_zero_prefix_equivalent_empty (sc)
  10. L102
    specialize prime_field_polynomial_zero_prefix_equivalent_empty (V)
13Use earlier factsL103–104

Instantiate or apply named facts and discharge the corresponding proof obligations.

  1. L103
    apply prime_field_polynomial_zero_prefix_equivalent_empty
  2. L104
    exact hSzero

Library-wide reading audit

Original defined command ledger · 104 lines
  1. 0001intro p
  2. 0002intro ab
  3. 0003intro ac
  4. 0004intro L
  5. 0005intro bb
  6. 0006intro bc
  7. 0007intro M
  8. 0008intro pb
  9. 0009intro pc
  10. 0010intro N
  11. 0011intro cb
  12. 0012intro cc
  13. 0013intro qb
  14. 0014intro qc
  15. 0015intro K
  16. 0016intro rb
  17. 0017intro rc
  18. 0018intro U
  19. 0019intro sb
  20. 0020intro sc
  21. 0021intro V
  22. 0022intro hp
  23. 0023intro hQ
  24. 0024intro hR
  25. 0025intro hS
  26. 0026have hempty : Repeat(cb,cc,0,0)
  27. 0027specialize beta_repeat_empty (cb)
  28. 0028specialize beta_repeat_empty (cc)
  29. 0029specialize beta_repeat_empty (0)
  30. 0030specialize beta_repeat_empty (0)
  31. 0031apply beta_repeat_empty
  32. 0032refl
  33. 0033have hQzero : Repeat(qb,qc,0,K)
  34. 0034specialize prime_field_polynomial_convolution_zero_right (p)
  35. 0035specialize prime_field_polynomial_convolution_zero_right (bb)
  36. 0036specialize prime_field_polynomial_convolution_zero_right (bc)
  37. 0037specialize prime_field_polynomial_convolution_zero_right (M)
  38. 0038specialize prime_field_polynomial_convolution_zero_right (cb)
  39. 0039specialize prime_field_polynomial_convolution_zero_right (cc)
  40. 0040specialize prime_field_polynomial_convolution_zero_right (0)
  41. 0041specialize prime_field_polynomial_convolution_zero_right (qb)
  42. 0042specialize prime_field_polynomial_convolution_zero_right (qc)
  43. 0043specialize prime_field_polynomial_convolution_zero_right (K)
  44. 0044apply prime_field_polynomial_convolution_zero_right
  45. 0045exact hp
  46. 0046exact hempty
  47. 0047exact hQ
  48. 0048have hRzero : Repeat(rb,rc,0,U)
  49. 0049specialize prime_field_polynomial_convolution_zero_right (p)
  50. 0050specialize prime_field_polynomial_convolution_zero_right (pb)
  51. 0051specialize prime_field_polynomial_convolution_zero_right (pc)
  52. 0052specialize prime_field_polynomial_convolution_zero_right (N)
  53. 0053specialize prime_field_polynomial_convolution_zero_right (cb)
  54. 0054specialize prime_field_polynomial_convolution_zero_right (cc)
  55. 0055specialize prime_field_polynomial_convolution_zero_right (0)
  56. 0056specialize prime_field_polynomial_convolution_zero_right (rb)
  57. 0057specialize prime_field_polynomial_convolution_zero_right (rc)
  58. 0058specialize prime_field_polynomial_convolution_zero_right (U)
  59. 0059apply prime_field_polynomial_convolution_zero_right
  60. 0060exact hp
  61. 0061exact hempty
  62. 0062exact hR
  63. 0063have hSzero : Repeat(sb,sc,0,V)
  64. 0064specialize prime_field_polynomial_convolution_zero_right (p)
  65. 0065specialize prime_field_polynomial_convolution_zero_right (ab)
  66. 0066specialize prime_field_polynomial_convolution_zero_right (ac)
  67. 0067specialize prime_field_polynomial_convolution_zero_right (L)
  68. 0068specialize prime_field_polynomial_convolution_zero_right (qb)
  69. 0069specialize prime_field_polynomial_convolution_zero_right (qc)
  70. 0070specialize prime_field_polynomial_convolution_zero_right (K)
  71. 0071specialize prime_field_polynomial_convolution_zero_right (sb)
  72. 0072specialize prime_field_polynomial_convolution_zero_right (sc)
  73. 0073specialize prime_field_polynomial_convolution_zero_right (V)
  74. 0074apply prime_field_polynomial_convolution_zero_right
  75. 0075exact hp
  76. 0076exact hQzero
  77. 0077exact hS
  78. 0078specialize prime_field_polynomial_equivalent_transitive (rb)
  79. 0079specialize prime_field_polynomial_equivalent_transitive (rc)
  80. 0080specialize prime_field_polynomial_equivalent_transitive (U)
  81. 0081specialize prime_field_polynomial_equivalent_transitive (0)
  82. 0082specialize prime_field_polynomial_equivalent_transitive (0)
  83. 0083specialize prime_field_polynomial_equivalent_transitive (0)
  84. 0084specialize prime_field_polynomial_equivalent_transitive (sb)
  85. 0085specialize prime_field_polynomial_equivalent_transitive (sc)
  86. 0086specialize prime_field_polynomial_equivalent_transitive (V)
  87. 0087apply prime_field_polynomial_equivalent_transitive
  88. 0088specialize prime_field_polynomial_zero_prefix_equivalent_empty (rb)
  89. 0089specialize prime_field_polynomial_zero_prefix_equivalent_empty (rc)
  90. 0090specialize prime_field_polynomial_zero_prefix_equivalent_empty (U)
  91. 0091apply prime_field_polynomial_zero_prefix_equivalent_empty
  92. 0092exact hRzero
  93. 0093specialize prime_field_polynomial_equivalent_symmetric (sb)
  94. 0094specialize prime_field_polynomial_equivalent_symmetric (sc)
  95. 0095specialize prime_field_polynomial_equivalent_symmetric (V)
  96. 0096specialize prime_field_polynomial_equivalent_symmetric (0)
  97. 0097specialize prime_field_polynomial_equivalent_symmetric (0)
  98. 0098specialize prime_field_polynomial_equivalent_symmetric (0)
  99. 0099apply prime_field_polynomial_equivalent_symmetric
  100. 0100specialize prime_field_polynomial_zero_prefix_equivalent_empty (sb)
  101. 0101specialize prime_field_polynomial_zero_prefix_equivalent_empty (sc)
  102. 0102specialize prime_field_polynomial_zero_prefix_equivalent_empty (V)
  103. 0103apply prime_field_polynomial_zero_prefix_equivalent_empty
  104. 0104exact hSzero