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. ∀ qb. ∀ qc. ∀ Q. ∀ db. ∀ dc. ∀ D. ∀ pb. ∀ pc. ∀ P. ∀ ab. ∀ ac. ∀ L. ∀ a. FpRepresentedDegree(p,ab,ac,L,a) → FpPolyProduct(p,qb,qc,Q,db,dc,D,pb,pc,P) → PolynomialEquivalent(pb,pc,P,ab,ac,L) → ¬Q = 0
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 64 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
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (1)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–18
03Establish hlengthL19–19
Establish this local claim before using it. It is not an additional assumption.
- L19
have hlength : PolynomialProductLength(Q,D,P)Definitions: PolynomialProductLength(Q,D,P)Original native command in the exact edition
04Separate the logical casesL20–22
05Use earlier factsL23–23
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
exact hc_right_right_left
06Separate the logical casesL24–27
07Establish hboundL28–37
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial nonzero leading equivalent length bound.
- L28
- L29
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (ab) - L30
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (ac) - L31
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (a) - L32
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (pb) - L33
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (pc) - L34
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (P) - L35
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (x) - L36
apply prime_field_polynomial_nonzero_leading_equivalent_length_bound - L37
exact ha_right_right_witness_left
08Use earlier factsL38–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L38
exact ha_right_right_witness_right
09Establish hsameL39–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial equivalent symmetric.
- L39
have hsame : PolynomialEquivalent(ab,ac,L,pb,pc,P)Definitions: PolynomialEquivalent(ab,ac,L,pb,pc,P)Original native command in the exact edition - L40
specialize prime_field_polynomial_equivalent_symmetric (pb) - L41
specialize prime_field_polynomial_equivalent_symmetric (pc) - L42
specialize prime_field_polynomial_equivalent_symmetric (P) - L43
specialize prime_field_polynomial_equivalent_symmetric (ab) - L44
specialize prime_field_polynomial_equivalent_symmetric (ac) - L45
specialize prime_field_polynomial_equivalent_symmetric (L) - L46
apply prime_field_polynomial_equivalent_symmetric - L47
exact he - L48
rewrite ha_left at hsame
10Calculate and transport equalitiesL49–49
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L49
rewrite ha_left at hsame
11Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
exact hsame
12Separate the logical casesL51–52
13Establish hzeroL53–60
14Separate the logical casesL61–62
Original defined command ledger · 64 lines
- 0001
intro p - 0002
intro qb - 0003
intro qc - 0004
intro Q - 0005
intro db - 0006
intro dc - 0007
intro D - 0008
intro pb - 0009
intro pc - 0010
intro P - 0011
intro ab - 0012
intro ac - 0013
intro L - 0014
intro a - 0015
intro ha - 0016
intro hc - 0017
intro he - 0018
intro hz - 0019
have hlength : PolynomialProductLength(Q,D,P) - 0020
cases hc - 0021
cases hc_right - 0022
cases hc_right_right - 0023
exact hc_right_right_left - 0024
cases ha - 0025
cases ha_right - 0026
cases ha_right_right - 0027
cases ha_right_right_witness - 0028
have hbound : Lt(a,P) - 0029
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (ab) - 0030
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (ac) - 0031
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (a) - 0032
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (pb) - 0033
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (pc) - 0034
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (P) - 0035
specialize prime_field_polynomial_nonzero_leading_equivalent_length_bound (x) - 0036
apply prime_field_polynomial_nonzero_leading_equivalent_length_bound - 0037
exact ha_right_right_witness_left - 0038
exact ha_right_right_witness_right - 0039
have hsame : PolynomialEquivalent(ab,ac,L,pb,pc,P) - 0040
specialize prime_field_polynomial_equivalent_symmetric (pb) - 0041
specialize prime_field_polynomial_equivalent_symmetric (pc) - 0042
specialize prime_field_polynomial_equivalent_symmetric (P) - 0043
specialize prime_field_polynomial_equivalent_symmetric (ab) - 0044
specialize prime_field_polynomial_equivalent_symmetric (ac) - 0045
specialize prime_field_polynomial_equivalent_symmetric (L) - 0046
apply prime_field_polynomial_equivalent_symmetric - 0047
exact he - 0048
rewrite ha_left at hsame - 0049
rewrite ha_left at hsame - 0050
exact hsame - 0051
cases hlength - 0052
cases hlength_left - 0053
have hzero : S a=0 - 0054
specialize le_zero (S a) - 0055
apply le_zero - 0056
rewrite <- hlength_left_right - 0057
exact hbound - 0058
specialize succ_ne_zero (a) - 0059
apply succ_ne_zero - 0060
exact hzero - 0061
cases hlength_right - 0062
cases hlength_right_right - 0063
apply hlength_right_left - 0064
exact hz