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 coefficients retain the established highest-degree-first order. Trimming handles empty and all-zero prefixes; monic normalization requires a nonzero leading coefficient. Synthetic division has a nonempty input of length S n and a quotient of length n, unique in decoded values. Its coefficient recurrence, actual evaluation remainder and positive-degree drop are checked. General polynomial Euclidean division, gcd/Bezout, an arbitrary-convolution factor theorem, irreducible-polynomial existence and the full G091 prime-power-field endpoint remain open. These exact theorems are first admitted to Alpha v32; Stable remains unchanged.
Exact theorem in conservative defined notation
∀ p. ∀ b. ∀ c. ∀ a. ∀ n. ∀ qb. ∀ qc. ∀ r. ∀ Qb. ∀ Qc. ∀ s. Prime(p) → FpSyntheticDivision(p,b,c,a,n,qb,qc,r) → FpSyntheticDivision(p,b,c,a,n,Qb,Qc,s) → r = s ∧ (∀ x. ∀ y. Lt(x,n) → BetaAt(qb,qc,x,y) → BetaAt(Qb,Qc,x,y))
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 95 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 (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–14
03Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
split
04Use earlier factsL16–25
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L16
specialize prime_field_polynomial_horner_functional (p) - L17
specialize prime_field_polynomial_horner_functional (b) - L18
specialize prime_field_polynomial_horner_functional (c) - L19
specialize prime_field_polynomial_horner_functional (a) - L20
specialize prime_field_polynomial_horner_functional (S n) - L21
specialize prime_field_polynomial_horner_functional (r) - L22
specialize prime_field_polynomial_horner_functional (s) - L23
apply prime_field_polynomial_horner_functional - L24
exact hp - L25
specialize prime_field_polynomial_synthetic_remainder_execution (p)
05Use earlier factsL26–35
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L26
specialize prime_field_polynomial_synthetic_remainder_execution (b) - L27
specialize prime_field_polynomial_synthetic_remainder_execution (c) - L28
specialize prime_field_polynomial_synthetic_remainder_execution (a) - L29
specialize prime_field_polynomial_synthetic_remainder_execution (n) - L30
specialize prime_field_polynomial_synthetic_remainder_execution (qb) - L31
specialize prime_field_polynomial_synthetic_remainder_execution (qc) - L32
specialize prime_field_polynomial_synthetic_remainder_execution (r) - L33
apply prime_field_polynomial_synthetic_remainder_execution - L34
exact hq - L35
specialize prime_field_polynomial_synthetic_remainder_execution (p)
06Use earlier factsL36–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L36
specialize prime_field_polynomial_synthetic_remainder_execution (b) - L37
specialize prime_field_polynomial_synthetic_remainder_execution (c) - L38
specialize prime_field_polynomial_synthetic_remainder_execution (a) - L39
specialize prime_field_polynomial_synthetic_remainder_execution (n) - L40
specialize prime_field_polynomial_synthetic_remainder_execution (Qb) - L41
specialize prime_field_polynomial_synthetic_remainder_execution (Qc) - L42
specialize prime_field_polynomial_synthetic_remainder_execution (s) - L43
apply prime_field_polynomial_synthetic_remainder_execution - L44
exact hQ
07Fix variables and assumptionsL45–48
08Establish htL49–53
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L49
have ht : ∃ z. BetaAt(Qb,Qc,i,z)Definitions: BetaAt(Qb,Qc,i,z)Original native command in the exact edition - L50
specialize beta_at_exists (Qb) - L51
specialize beta_at_exists (Qc) - L52
specialize beta_at_exists (i) - L53
apply beta_at_exists
09Separate the logical casesL54–54
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L54
cases ht
10Establish heqL55–64
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial horner functional.
- L55
have heq : x=h - L56
specialize prime_field_polynomial_horner_functional (p) - L57
specialize prime_field_polynomial_horner_functional (b) - L58
specialize prime_field_polynomial_horner_functional (c) - L59
specialize prime_field_polynomial_horner_functional (a) - L60
specialize prime_field_polynomial_horner_functional (S i) - L61
specialize prime_field_polynomial_horner_functional (x) - L62
specialize prime_field_polynomial_horner_functional (h) - L63
apply prime_field_polynomial_horner_functional - L64
exact hp
11Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize prime_field_polynomial_synthetic_quotient_entry (p) - L66
specialize prime_field_polynomial_synthetic_quotient_entry (b) - L67
specialize prime_field_polynomial_synthetic_quotient_entry (c) - L68
specialize prime_field_polynomial_synthetic_quotient_entry (a) - L69
specialize prime_field_polynomial_synthetic_quotient_entry (n) - L70
specialize prime_field_polynomial_synthetic_quotient_entry (Qb) - L71
specialize prime_field_polynomial_synthetic_quotient_entry (Qc) - L72
specialize prime_field_polynomial_synthetic_quotient_entry (s) - L73
specialize prime_field_polynomial_synthetic_quotient_entry (i) - L74
specialize prime_field_polynomial_synthetic_quotient_entry (x)
12Use earlier factsL75–84
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
apply prime_field_polynomial_synthetic_quotient_entry - L76
exact hQ - L77
exact hi - L78
exact ht_witness - L79
specialize prime_field_polynomial_synthetic_quotient_entry (p) - L80
specialize prime_field_polynomial_synthetic_quotient_entry (b) - L81
specialize prime_field_polynomial_synthetic_quotient_entry (c) - L82
specialize prime_field_polynomial_synthetic_quotient_entry (a) - L83
specialize prime_field_polynomial_synthetic_quotient_entry (n) - L84
specialize prime_field_polynomial_synthetic_quotient_entry (qb)
13Use earlier factsL85–92
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L85
specialize prime_field_polynomial_synthetic_quotient_entry (qc) - L86
specialize prime_field_polynomial_synthetic_quotient_entry (r) - L87
specialize prime_field_polynomial_synthetic_quotient_entry (i) - L88
specialize prime_field_polynomial_synthetic_quotient_entry (h) - L89
apply prime_field_polynomial_synthetic_quotient_entry - L90
exact hq - L91
exact hi - L92
exact hh
14Calculate and transport equalitiesL93–94
15Use earlier factsL95–95
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L95
exact ht_witness
Original defined command ledger · 95 lines
- 0001
intro p - 0002
intro b - 0003
intro c - 0004
intro a - 0005
intro n - 0006
intro qb - 0007
intro qc - 0008
intro r - 0009
intro Qb - 0010
intro Qc - 0011
intro s - 0012
intro hp - 0013
intro hq - 0014
intro hQ - 0015
split - 0016
specialize prime_field_polynomial_horner_functional (p) - 0017
specialize prime_field_polynomial_horner_functional (b) - 0018
specialize prime_field_polynomial_horner_functional (c) - 0019
specialize prime_field_polynomial_horner_functional (a) - 0020
specialize prime_field_polynomial_horner_functional (S n) - 0021
specialize prime_field_polynomial_horner_functional (r) - 0022
specialize prime_field_polynomial_horner_functional (s) - 0023
apply prime_field_polynomial_horner_functional - 0024
exact hp - 0025
specialize prime_field_polynomial_synthetic_remainder_execution (p) - 0026
specialize prime_field_polynomial_synthetic_remainder_execution (b) - 0027
specialize prime_field_polynomial_synthetic_remainder_execution (c) - 0028
specialize prime_field_polynomial_synthetic_remainder_execution (a) - 0029
specialize prime_field_polynomial_synthetic_remainder_execution (n) - 0030
specialize prime_field_polynomial_synthetic_remainder_execution (qb) - 0031
specialize prime_field_polynomial_synthetic_remainder_execution (qc) - 0032
specialize prime_field_polynomial_synthetic_remainder_execution (r) - 0033
apply prime_field_polynomial_synthetic_remainder_execution - 0034
exact hq - 0035
specialize prime_field_polynomial_synthetic_remainder_execution (p) - 0036
specialize prime_field_polynomial_synthetic_remainder_execution (b) - 0037
specialize prime_field_polynomial_synthetic_remainder_execution (c) - 0038
specialize prime_field_polynomial_synthetic_remainder_execution (a) - 0039
specialize prime_field_polynomial_synthetic_remainder_execution (n) - 0040
specialize prime_field_polynomial_synthetic_remainder_execution (Qb) - 0041
specialize prime_field_polynomial_synthetic_remainder_execution (Qc) - 0042
specialize prime_field_polynomial_synthetic_remainder_execution (s) - 0043
apply prime_field_polynomial_synthetic_remainder_execution - 0044
exact hQ - 0045
intro i - 0046
intro h - 0047
intro hi - 0048
intro hh - 0049
have ht : ∃ z. BetaAt(Qb,Qc,i,z) - 0050
specialize beta_at_exists (Qb) - 0051
specialize beta_at_exists (Qc) - 0052
specialize beta_at_exists (i) - 0053
apply beta_at_exists - 0054
cases ht - 0055
have heq : x=h - 0056
specialize prime_field_polynomial_horner_functional (p) - 0057
specialize prime_field_polynomial_horner_functional (b) - 0058
specialize prime_field_polynomial_horner_functional (c) - 0059
specialize prime_field_polynomial_horner_functional (a) - 0060
specialize prime_field_polynomial_horner_functional (S i) - 0061
specialize prime_field_polynomial_horner_functional (x) - 0062
specialize prime_field_polynomial_horner_functional (h) - 0063
apply prime_field_polynomial_horner_functional - 0064
exact hp - 0065
specialize prime_field_polynomial_synthetic_quotient_entry (p) - 0066
specialize prime_field_polynomial_synthetic_quotient_entry (b) - 0067
specialize prime_field_polynomial_synthetic_quotient_entry (c) - 0068
specialize prime_field_polynomial_synthetic_quotient_entry (a) - 0069
specialize prime_field_polynomial_synthetic_quotient_entry (n) - 0070
specialize prime_field_polynomial_synthetic_quotient_entry (Qb) - 0071
specialize prime_field_polynomial_synthetic_quotient_entry (Qc) - 0072
specialize prime_field_polynomial_synthetic_quotient_entry (s) - 0073
specialize prime_field_polynomial_synthetic_quotient_entry (i) - 0074
specialize prime_field_polynomial_synthetic_quotient_entry (x) - 0075
apply prime_field_polynomial_synthetic_quotient_entry - 0076
exact hQ - 0077
exact hi - 0078
exact ht_witness - 0079
specialize prime_field_polynomial_synthetic_quotient_entry (p) - 0080
specialize prime_field_polynomial_synthetic_quotient_entry (b) - 0081
specialize prime_field_polynomial_synthetic_quotient_entry (c) - 0082
specialize prime_field_polynomial_synthetic_quotient_entry (a) - 0083
specialize prime_field_polynomial_synthetic_quotient_entry (n) - 0084
specialize prime_field_polynomial_synthetic_quotient_entry (qb) - 0085
specialize prime_field_polynomial_synthetic_quotient_entry (qc) - 0086
specialize prime_field_polynomial_synthetic_quotient_entry (r) - 0087
specialize prime_field_polynomial_synthetic_quotient_entry (i) - 0088
specialize prime_field_polynomial_synthetic_quotient_entry (h) - 0089
apply prime_field_polynomial_synthetic_quotient_entry - 0090
exact hq - 0091
exact hi - 0092
exact hh - 0093
rewrite heq at ht_witness - 0094
rewrite heq at ht_witness - 0095
exact ht_witness