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
∀ ab. ∀ ac. ∀ L. ∀ bb. ∀ bc. ∀ M. ∀ ub. ∀ uc. ∀ vb. ∀ vc. ∀ K. ∀ db. ∀ dc. ∀ eb. ∀ ec. ∀ J. CommonRepresentatives(ab,ac,L,bb,bc,M,ub,uc,vb,vc,K) → CommonRepresentatives(ab,ac,L,bb,bc,M,db,dc,eb,ec,J) → CommonRepresentatives(ub,uc,K,vb,vc,K,db,dc,eb,ec,J)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG PolynomialEquivalent(b,c,L,d,e,M) · 2 CommonRepresentatives(ab,ac,L,bb,bc,M,ub,uc,vb,vc,K) · 3
Actual proof prerequisites
Original expanded first-order statement
forall ab ac L bb bc M ub uc vb vc K db dc eb ec J. (((forall pfrep_power_common_function_first_left pfrep_left_common_function_first_left pfrep_right_common_function_first_left. ((exists pfrep_position_common_function_first_leftfirst. ((pfrep_position_common_function_first_leftfirst+S (pfrep_power_common_function_first_left)=(L)) /\ ((((exists ff_h_pfp_common_function_first_leftfirstentry. ff_h_pfp_common_function_first_leftfirstentry + S (pfrep_left_common_function_first_left) = S ((S (pfrep_position_common_function_first_leftfirst)) * ac)) /\ exists ff_q_pfp_common_function_first_leftfirstentry. ab = ff_q_pfp_common_function_first_leftfirstentry * S ((S (pfrep_position_common_function_first_leftfirst)) * ac) + (pfrep_left_common_function_first_left)))))) \/ (((exists pfrep_gap_common_function_first_leftfirstoutside. pfrep_gap_common_function_first_leftfirstoutside+(L)=(pfrep_power_common_function_first_left)) /\ (((pfrep_left_common_function_first_left)=0))))) -> ((exists pfrep_position_common_function_first_leftsecond. ((pfrep_position_common_function_first_leftsecond+S (pfrep_power_common_function_first_left)=(K)) /\ ((((exists ff_h_pfp_common_function_first_leftsecondentry. ff_h_pfp_common_function_first_leftsecondentry + S (pfrep_right_common_function_first_left) = S ((S (pfrep_position_common_function_first_leftsecond)) * uc)) /\ exists ff_q_pfp_common_function_first_leftsecondentry. ub = ff_q_pfp_common_function_first_leftsecondentry * S ((S (pfrep_position_common_function_first_leftsecond)) * uc) + (pfrep_right_common_function_first_left)))))) \/ (((exists pfrep_gap_common_function_first_leftsecondoutside. pfrep_gap_common_function_first_leftsecondoutside+(K)=(pfrep_power_common_function_first_left)) /\ (((pfrep_right_common_function_first_left)=0))))) -> pfrep_left_common_function_first_left=pfrep_right_common_function_first_left) /\ ((forall pfrep_power_common_function_first_right pfrep_left_common_function_first_right pfrep_right_common_function_first_right. ((exists pfrep_position_common_function_first_rightfirst. ((pfrep_position_common_function_first_rightfirst+S (pfrep_power_common_function_first_right)=(M)) /\ ((((exists ff_h_pfp_common_function_first_rightfirstentry. ff_h_pfp_common_function_first_rightfirstentry + S (pfrep_left_common_function_first_right) = S ((S (pfrep_position_common_function_first_rightfirst)) * bc)) /\ exists ff_q_pfp_common_function_first_rightfirstentry. bb = ff_q_pfp_common_function_first_rightfirstentry * S ((S (pfrep_position_common_function_first_rightfirst)) * bc) + (pfrep_left_common_function_first_right)))))) \/ (((exists pfrep_gap_common_function_first_rightfirstoutside. pfrep_gap_common_function_first_rightfirstoutside+(M)=(pfrep_power_common_function_first_right)) /\ (((pfrep_left_common_function_first_right)=0))))) -> ((exists pfrep_position_common_function_first_rightsecond. ((pfrep_position_common_function_first_rightsecond+S (pfrep_power_common_function_first_right)=(K)) /\ ((((exists ff_h_pfp_common_function_first_rightsecondentry. ff_h_pfp_common_function_first_rightsecondentry + S (pfrep_right_common_function_first_right) = S ((S (pfrep_position_common_function_first_rightsecond)) * vc)) /\ exists ff_q_pfp_common_function_first_rightsecondentry. vb = ff_q_pfp_common_function_first_rightsecondentry * S ((S (pfrep_position_common_function_first_rightsecond)) * vc) + (pfrep_right_common_function_first_right)))))) \/ (((exists pfrep_gap_common_function_first_rightsecondoutside. pfrep_gap_common_function_first_rightsecondoutside+(K)=(pfrep_power_common_function_first_right)) /\ (((pfrep_right_common_function_first_right)=0))))) -> pfrep_left_common_function_first_right=pfrep_right_common_function_first_right)))) -> (((forall pfrep_power_common_function_second_left pfrep_left_common_function_second_left pfrep_right_common_function_second_left. ((exists pfrep_position_common_function_second_leftfirst. ((pfrep_position_common_function_second_leftfirst+S (pfrep_power_common_function_second_left)=(L)) /\ ((((exists ff_h_pfp_common_function_second_leftfirstentry. ff_h_pfp_common_function_second_leftfirstentry + S (pfrep_left_common_function_second_left) = S ((S (pfrep_position_common_function_second_leftfirst)) * ac)) /\ exists ff_q_pfp_common_function_second_leftfirstentry. ab = ff_q_pfp_common_function_second_leftfirstentry * S ((S (pfrep_position_common_function_second_leftfirst)) * ac) + (pfrep_left_common_function_second_left)))))) \/ (((exists pfrep_gap_common_function_second_leftfirstoutside. pfrep_gap_common_function_second_leftfirstoutside+(L)=(pfrep_power_common_function_second_left)) /\ (((pfrep_left_common_function_second_left)=0))))) -> ((exists pfrep_position_common_function_second_leftsecond. ((pfrep_position_common_function_second_leftsecond+S (pfrep_power_common_function_second_left)=(J)) /\ ((((exists ff_h_pfp_common_function_second_leftsecondentry. ff_h_pfp_common_function_second_leftsecondentry + S (pfrep_right_common_function_second_left) = S ((S (pfrep_position_common_function_second_leftsecond)) * dc)) /\ exists ff_q_pfp_common_function_second_leftsecondentry. db = ff_q_pfp_common_function_second_leftsecondentry * S ((S (pfrep_position_common_function_second_leftsecond)) * dc) + (pfrep_right_common_function_second_left)))))) \/ (((exists pfrep_gap_common_function_second_leftsecondoutside. pfrep_gap_common_function_second_leftsecondoutside+(J)=(pfrep_power_common_function_second_left)) /\ (((pfrep_right_common_function_second_left)=0))))) -> pfrep_left_common_function_second_left=pfrep_right_common_function_second_left) /\ ((forall pfrep_power_common_function_second_right pfrep_left_common_function_second_right pfrep_right_common_function_second_right. ((exists pfrep_position_common_function_second_rightfirst. ((pfrep_position_common_function_second_rightfirst+S (pfrep_power_common_function_second_right)=(M)) /\ ((((exists ff_h_pfp_common_function_second_rightfirstentry. ff_h_pfp_common_function_second_rightfirstentry + S (pfrep_left_common_function_second_right) = S ((S (pfrep_position_common_function_second_rightfirst)) * bc)) /\ exists ff_q_pfp_common_function_second_rightfirstentry. bb = ff_q_pfp_common_function_second_rightfirstentry * S ((S (pfrep_position_common_function_second_rightfirst)) * bc) + (pfrep_left_common_function_second_right)))))) \/ (((exists pfrep_gap_common_function_second_rightfirstoutside. pfrep_gap_common_function_second_rightfirstoutside+(M)=(pfrep_power_common_function_second_right)) /\ (((pfrep_left_common_function_second_right)=0))))) -> ((exists pfrep_position_common_function_second_rightsecond. ((pfrep_position_common_function_second_rightsecond+S (pfrep_power_common_function_second_right)=(J)) /\ ((((exists ff_h_pfp_common_function_second_rightsecondentry. ff_h_pfp_common_function_second_rightsecondentry + S (pfrep_right_common_function_second_right) = S ((S (pfrep_position_common_function_second_rightsecond)) * ec)) /\ exists ff_q_pfp_common_function_second_rightsecondentry. eb = ff_q_pfp_common_function_second_rightsecondentry * S ((S (pfrep_position_common_function_second_rightsecond)) * ec) + (pfrep_right_common_function_second_right)))))) \/ (((exists pfrep_gap_common_function_second_rightsecondoutside. pfrep_gap_common_function_second_rightsecondoutside+(J)=(pfrep_power_common_function_second_right)) /\ (((pfrep_right_common_function_second_right)=0))))) -> pfrep_left_common_function_second_right=pfrep_right_common_function_second_right)))) -> (((forall pfrep_power_common_function_result_left pfrep_left_common_function_result_left pfrep_right_common_function_result_left. ((exists pfrep_position_common_function_result_leftfirst. ((pfrep_position_common_function_result_leftfirst+S (pfrep_power_common_function_result_left)=(K)) /\ ((((exists ff_h_pfp_common_function_result_leftfirstentry. ff_h_pfp_common_function_result_leftfirstentry + S (pfrep_left_common_function_result_left) = S ((S (pfrep_position_common_function_result_leftfirst)) * uc)) /\ exists ff_q_pfp_common_function_result_leftfirstentry. ub = ff_q_pfp_common_function_result_leftfirstentry * S ((S (pfrep_position_common_function_result_leftfirst)) * uc) + (pfrep_left_common_function_result_left)))))) \/ (((exists pfrep_gap_common_function_result_leftfirstoutside. pfrep_gap_common_function_result_leftfirstoutside+(K)=(pfrep_power_common_function_result_left)) /\ (((pfrep_left_common_function_result_left)=0))))) -> ((exists pfrep_position_common_function_result_leftsecond. ((pfrep_position_common_function_result_leftsecond+S (pfrep_power_common_function_result_left)=(J)) /\ ((((exists ff_h_pfp_common_function_result_leftsecondentry. ff_h_pfp_common_function_result_leftsecondentry + S (pfrep_right_common_function_result_left) = S ((S (pfrep_position_common_function_result_leftsecond)) * dc)) /\ exists ff_q_pfp_common_function_result_leftsecondentry. db = ff_q_pfp_common_function_result_leftsecondentry * S ((S (pfrep_position_common_function_result_leftsecond)) * dc) + (pfrep_right_common_function_result_left)))))) \/ (((exists pfrep_gap_common_function_result_leftsecondoutside. pfrep_gap_common_function_result_leftsecondoutside+(J)=(pfrep_power_common_function_result_left)) /\ (((pfrep_right_common_function_result_left)=0))))) -> pfrep_left_common_function_result_left=pfrep_right_common_function_result_left) /\ ((forall pfrep_power_common_function_result_right pfrep_left_common_function_result_right pfrep_right_common_function_result_right. ((exists pfrep_position_common_function_result_rightfirst. ((pfrep_position_common_function_result_rightfirst+S (pfrep_power_common_function_result_right)=(K)) /\ ((((exists ff_h_pfp_common_function_result_rightfirstentry. ff_h_pfp_common_function_result_rightfirstentry + S (pfrep_left_common_function_result_right) = S ((S (pfrep_position_common_function_result_rightfirst)) * vc)) /\ exists ff_q_pfp_common_function_result_rightfirstentry. vb = ff_q_pfp_common_function_result_rightfirstentry * S ((S (pfrep_position_common_function_result_rightfirst)) * vc) + (pfrep_left_common_function_result_right)))))) \/ (((exists pfrep_gap_common_function_result_rightfirstoutside. pfrep_gap_common_function_result_rightfirstoutside+(K)=(pfrep_power_common_function_result_right)) /\ (((pfrep_left_common_function_result_right)=0))))) -> ((exists pfrep_position_common_function_result_rightsecond. ((pfrep_position_common_function_result_rightsecond+S (pfrep_power_common_function_result_right)=(J)) /\ ((((exists ff_h_pfp_common_function_result_rightsecondentry. ff_h_pfp_common_function_result_rightsecondentry + S (pfrep_right_common_function_result_right) = S ((S (pfrep_position_common_function_result_rightsecond)) * ec)) /\ exists ff_q_pfp_common_function_result_rightsecondentry. eb = ff_q_pfp_common_function_result_rightsecondentry * S ((S (pfrep_position_common_function_result_rightsecond)) * ec) + (pfrep_right_common_function_result_right)))))) \/ (((exists pfrep_gap_common_function_result_rightsecondoutside. pfrep_gap_common_function_result_rightsecondoutside+(J)=(pfrep_power_common_function_result_right)) /\ (((pfrep_right_common_function_result_right)=0))))) -> pfrep_left_common_function_result_right=pfrep_right_common_function_result_right))))
Complete tactic proof in conservative notation
All 63 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 63 script commands · 9 reading checkpoints · 2 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.
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 ab
L2 intro ac
L3 intro L
L4 intro bb
L5 intro bc
L6 intro M
L7 intro ub
L8 intro uc
L9 intro vb
L10 intro vc
02 Fix variables and assumptions L11–18 Work with arbitrary variables or the premises of the current implication.
L11 intro K
L12 intro db
L13 intro dc
L14 intro eb
L15 intro ec
L16 intro J
L17 intro h
L18 intro hnew
03 Separate the logical cases L19–21 Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
L19 cases h
L20 cases hnew
L21 split
04 Establish hr L22–31 Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent symmetric.
L22 have hr : PolynomialEquivalent(ub,uc,K,ab,ac,L)Definitions: PolynomialEquivalent(ub,uc,K,ab,ac,L) Original native command in the exact edition L23 specialize prime_field_polynomial_equivalent_symmetric (ab)
L24 specialize prime_field_polynomial_equivalent_symmetric (ac)
L25 specialize prime_field_polynomial_equivalent_symmetric (L)
L26 specialize prime_field_polynomial_equivalent_symmetric (ub)
L27 specialize prime_field_polynomial_equivalent_symmetric (uc)
L28 specialize prime_field_polynomial_equivalent_symmetric (K)
L29 apply prime_field_polynomial_equivalent_symmetric
L30 exact h_left
L31 specialize prime_field_polynomial_equivalent_transitive (ub)
05 Use earlier facts L32–41 Instantiate or apply named facts and discharge the corresponding proof obligations.
L32 specialize prime_field_polynomial_equivalent_transitive (uc)
L33 specialize prime_field_polynomial_equivalent_transitive (K)
L34 specialize prime_field_polynomial_equivalent_transitive (ab)
L35 specialize prime_field_polynomial_equivalent_transitive (ac)
L36 specialize prime_field_polynomial_equivalent_transitive (L)
L37 specialize prime_field_polynomial_equivalent_transitive (db)
L38 specialize prime_field_polynomial_equivalent_transitive (dc)
L39 specialize prime_field_polynomial_equivalent_transitive (J)
L40 apply prime_field_polynomial_equivalent_transitive
L41 exact hr
06 Use earlier facts L42–42 Instantiate or apply named facts and discharge the corresponding proof obligations.
L42 exact hnew_left
07 Establish hr L43–52 Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent symmetric.
L43 have hr : PolynomialEquivalent(vb,vc,K,bb,bc,M)Definitions: PolynomialEquivalent(vb,vc,K,bb,bc,M) Original native command in the exact edition L44 specialize prime_field_polynomial_equivalent_symmetric (bb)
L45 specialize prime_field_polynomial_equivalent_symmetric (bc)
L46 specialize prime_field_polynomial_equivalent_symmetric (M)
L47 specialize prime_field_polynomial_equivalent_symmetric (vb)
L48 specialize prime_field_polynomial_equivalent_symmetric (vc)
L49 specialize prime_field_polynomial_equivalent_symmetric (K)
L50 apply prime_field_polynomial_equivalent_symmetric
L51 exact h_right
L52 specialize prime_field_polynomial_equivalent_transitive (vb)
08 Use earlier facts L53–62 Instantiate or apply named facts and discharge the corresponding proof obligations.
L53 specialize prime_field_polynomial_equivalent_transitive (vc)
L54 specialize prime_field_polynomial_equivalent_transitive (K)
L55 specialize prime_field_polynomial_equivalent_transitive (bb)
L56 specialize prime_field_polynomial_equivalent_transitive (bc)
L57 specialize prime_field_polynomial_equivalent_transitive (M)
L58 specialize prime_field_polynomial_equivalent_transitive (eb)
L59 specialize prime_field_polynomial_equivalent_transitive (ec)
L60 specialize prime_field_polynomial_equivalent_transitive (J)
L61 apply prime_field_polynomial_equivalent_transitive
L62 exact hr
09 Use earlier facts L63–63 Instantiate or apply named facts and discharge the corresponding proof obligations.
L63 exact hnew_right
Library-wide reading audit
Original defined command ledger · 63 lines 0001 intro ab0002 intro ac0003 intro L0004 intro bb0005 intro bc0006 intro M0007 intro ub0008 intro uc0009 intro vb0010 intro vc0011 intro K0012 intro db0013 intro dc0014 intro eb0015 intro ec0016 intro J0017 intro h0018 intro hnew0019 cases h0020 cases hnew0021 split0022 have hr : PolynomialEquivalent(ub,uc,K,ab,ac,L) 0023 specialize prime_field_polynomial_equivalent_symmetric (ab)0024 specialize prime_field_polynomial_equivalent_symmetric (ac)0025 specialize prime_field_polynomial_equivalent_symmetric (L)0026 specialize prime_field_polynomial_equivalent_symmetric (ub)0027 specialize prime_field_polynomial_equivalent_symmetric (uc)0028 specialize prime_field_polynomial_equivalent_symmetric (K)0029 apply prime_field_polynomial_equivalent_symmetric0030 exact h_left0031 specialize prime_field_polynomial_equivalent_transitive (ub)0032 specialize prime_field_polynomial_equivalent_transitive (uc)0033 specialize prime_field_polynomial_equivalent_transitive (K)0034 specialize prime_field_polynomial_equivalent_transitive (ab)0035 specialize prime_field_polynomial_equivalent_transitive (ac)0036 specialize prime_field_polynomial_equivalent_transitive (L)0037 specialize prime_field_polynomial_equivalent_transitive (db)0038 specialize prime_field_polynomial_equivalent_transitive (dc)0039 specialize prime_field_polynomial_equivalent_transitive (J)0040 apply prime_field_polynomial_equivalent_transitive0041 exact hr0042 exact hnew_left0043 have hr : PolynomialEquivalent(vb,vc,K,bb,bc,M) 0044 specialize prime_field_polynomial_equivalent_symmetric (bb)0045 specialize prime_field_polynomial_equivalent_symmetric (bc)0046 specialize prime_field_polynomial_equivalent_symmetric (M)0047 specialize prime_field_polynomial_equivalent_symmetric (vb)0048 specialize prime_field_polynomial_equivalent_symmetric (vc)0049 specialize prime_field_polynomial_equivalent_symmetric (K)0050 apply prime_field_polynomial_equivalent_symmetric0051 exact h_right0052 specialize prime_field_polynomial_equivalent_transitive (vb)0053 specialize prime_field_polynomial_equivalent_transitive (vc)0054 specialize prime_field_polynomial_equivalent_transitive (K)0055 specialize prime_field_polynomial_equivalent_transitive (bb)0056 specialize prime_field_polynomial_equivalent_transitive (bc)0057 specialize prime_field_polynomial_equivalent_transitive (M)0058 specialize prime_field_polynomial_equivalent_transitive (eb)0059 specialize prime_field_polynomial_equivalent_transitive (ec)0060 specialize prime_field_polynomial_equivalent_transitive (J)0061 apply prime_field_polynomial_equivalent_transitive0062 exact hr0063 exact hnew_right