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. ∀ db. ∀ dc. ∀ ab. ∀ ac. ∀ L. FpPolynomialRightDivides(p,db,dc,0,ab,ac,L) → PolynomialEquivalent(ab,ac,L,db,dc,0)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 66 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.
01Fix variables and assumptionsL1–7
02Separate the logical casesL8–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L8
cases hrd - L9
cases hrd_right - L10
cases hrd_right_witness - L11
cases hrd_right_witness_witness - L12
cases hrd_right_witness_witness_witness - L13
cases hrd_right_witness_witness_witness_witness - L14
cases hrd_right_witness_witness_witness_witness_witness - L15
cases hrd_right_witness_witness_witness_witness_witness_witness
03Establish hlengthL16–16
Establish this local claim before using it. It is not an additional assumption.
- L16
have hlength : PolynomialProductLength(x2,0,x5)Definitions: PolynomialProductLength(x2,0,x5)Original native command in the exact edition
04Separate the logical casesL17–19
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
05Use earlier factsL20–20
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L20
exact hrd_right_witness_witness_witness_witness_witness_witness_left_right_right_left
06Separate the logical casesL21–22
07Use earlier factsL23–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L23
specialize prime_field_polynomial_equivalent_transitive (ab) - L24
specialize prime_field_polynomial_equivalent_transitive (ac) - L25
specialize prime_field_polynomial_equivalent_transitive (L) - L26
specialize prime_field_polynomial_equivalent_transitive (x3) - L27
specialize prime_field_polynomial_equivalent_transitive (x4) - L28
specialize prime_field_polynomial_equivalent_transitive (0) - L29
specialize prime_field_polynomial_equivalent_transitive (db) - L30
specialize prime_field_polynomial_equivalent_transitive (dc) - L31
specialize prime_field_polynomial_equivalent_transitive (0) - L32
apply prime_field_polynomial_equivalent_transitive
08Use earlier factsL33–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
specialize prime_field_polynomial_equivalent_symmetric (x3) - L34
specialize prime_field_polynomial_equivalent_symmetric (x4) - L35
specialize prime_field_polynomial_equivalent_symmetric (0) - L36
specialize prime_field_polynomial_equivalent_symmetric (ab) - L37
specialize prime_field_polynomial_equivalent_symmetric (ac) - L38
specialize prime_field_polynomial_equivalent_symmetric (L) - L39
apply prime_field_polynomial_equivalent_symmetric
09Establish hcopyL40–49
Establish this local claim before using it. It is not an additional assumption.
- L40
have hcopy : PolynomialEquivalent(x3,x4,x5,ab,ac,L)Definitions: PolynomialEquivalent(x3,x4,x5,ab,ac,L)Original native command in the exact edition - L41
exact hrd_right_witness_witness_witness_witness_witness_witness_right - L42
rewrite hlength_left_right at hcopy - L43
rewrite hlength_left_right at hcopy - L44
exact hcopy - L45
specialize prime_field_polynomial_equal_implies_equivalent (x3) - L46
specialize prime_field_polynomial_equal_implies_equivalent (x4) - L47
specialize prime_field_polynomial_equal_implies_equivalent (db) - L48
specialize prime_field_polynomial_equal_implies_equivalent (dc) - L49
specialize prime_field_polynomial_equal_implies_equivalent (0)
10Use earlier factsL50–50
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L50
apply prime_field_polynomial_equal_implies_equivalent
11Fix variables and assumptionsL51–54
12Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
exfalso
13Use earlier factsL56–61
14Separate the logical casesL62–64
15Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
apply hlength_right_right_left
16Calculate and transport equalitiesL66–66
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L66
refl
Original defined command ledger · 66 lines
- 0001
intro p - 0002
intro db - 0003
intro dc - 0004
intro ab - 0005
intro ac - 0006
intro L - 0007
intro hrd - 0008
cases hrd - 0009
cases hrd_right - 0010
cases hrd_right_witness - 0011
cases hrd_right_witness_witness - 0012
cases hrd_right_witness_witness_witness - 0013
cases hrd_right_witness_witness_witness_witness - 0014
cases hrd_right_witness_witness_witness_witness_witness - 0015
cases hrd_right_witness_witness_witness_witness_witness_witness - 0016
have hlength : PolynomialProductLength(x2,0,x5) - 0017
cases hrd_right_witness_witness_witness_witness_witness_witness_left - 0018
cases hrd_right_witness_witness_witness_witness_witness_witness_left_right - 0019
cases hrd_right_witness_witness_witness_witness_witness_witness_left_right_right - 0020
exact hrd_right_witness_witness_witness_witness_witness_witness_left_right_right_left - 0021
cases hlength - 0022
cases hlength_left - 0023
specialize prime_field_polynomial_equivalent_transitive (ab) - 0024
specialize prime_field_polynomial_equivalent_transitive (ac) - 0025
specialize prime_field_polynomial_equivalent_transitive (L) - 0026
specialize prime_field_polynomial_equivalent_transitive (x3) - 0027
specialize prime_field_polynomial_equivalent_transitive (x4) - 0028
specialize prime_field_polynomial_equivalent_transitive (0) - 0029
specialize prime_field_polynomial_equivalent_transitive (db) - 0030
specialize prime_field_polynomial_equivalent_transitive (dc) - 0031
specialize prime_field_polynomial_equivalent_transitive (0) - 0032
apply prime_field_polynomial_equivalent_transitive - 0033
specialize prime_field_polynomial_equivalent_symmetric (x3) - 0034
specialize prime_field_polynomial_equivalent_symmetric (x4) - 0035
specialize prime_field_polynomial_equivalent_symmetric (0) - 0036
specialize prime_field_polynomial_equivalent_symmetric (ab) - 0037
specialize prime_field_polynomial_equivalent_symmetric (ac) - 0038
specialize prime_field_polynomial_equivalent_symmetric (L) - 0039
apply prime_field_polynomial_equivalent_symmetric - 0040
have hcopy : PolynomialEquivalent(x3,x4,x5,ab,ac,L) - 0041
exact hrd_right_witness_witness_witness_witness_witness_witness_right - 0042
rewrite hlength_left_right at hcopy - 0043
rewrite hlength_left_right at hcopy - 0044
exact hcopy - 0045
specialize prime_field_polynomial_equal_implies_equivalent (x3) - 0046
specialize prime_field_polynomial_equal_implies_equivalent (x4) - 0047
specialize prime_field_polynomial_equal_implies_equivalent (db) - 0048
specialize prime_field_polynomial_equal_implies_equivalent (dc) - 0049
specialize prime_field_polynomial_equal_implies_equivalent (0) - 0050
apply prime_field_polynomial_equal_implies_equivalent - 0051
intro i - 0052
intro a - 0053
intro hi - 0054
intro ha - 0055
exfalso - 0056
specialize lt_not_le (i) - 0057
specialize lt_not_le (0) - 0058
apply lt_not_le - 0059
exact hi - 0060
specialize zero_le (i) - 0061
apply zero_le - 0062
cases hlength_right - 0063
cases hlength_right_right - 0064
exfalso - 0065
apply hlength_right_right_left - 0066
refl