Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Coefficients are highest-degree-first. The divisor has a nonzero decoded head; primality supplies its actual inverse. Empty quotients and remainders are included. Functionality compares the constructed execution lengths and decoded coefficients, never arbitrary beta codes. Formal polynomial equivalence compares every coefficient, not evaluations on a finite field. The formal identity and remainder-degree bound are proved separately, not assumed by the execution graph. Arbitrary quotient/remainder-pair uniqueness from a formal identity, multiplication associativity, gcd/Bezout, irreducible-polynomial existence, and the full G091 prime-power-field goal remain open. The seven displayed new names are conservative first-order notation, not new kernel primitives.
Exact theorem in conservative defined notation
∀ p. ∀ a. ∀ k. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ L. Prime(p) → FpInv(p,a,k) → FpPolyScale(p,k,ab,ac,bb,bc,L) → FpPolyScale(p,a,bb,bc,ab,ac,L)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 88 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–10
02Fix variables and assumptionsL11–11
Work with arbitrary variables or the premises of the current implication.
- L11
intro hs
03Establish hboundL12–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial scale bounded.
- L12
have hbound : BetaPrefixInto(ab,ac,L,p) ∧ BetaPrefixInto(bb,bc,L,p)Definitions: BetaPrefixInto(ab,ac,L,p)BetaPrefixInto(bb,bc,L,p)Original native command in the exact edition - L13
specialize prime_field_polynomial_scale_bounded (p) - L14
specialize prime_field_polynomial_scale_bounded (k) - L15
specialize prime_field_polynomial_scale_bounded (ab) - L16
specialize prime_field_polynomial_scale_bounded (ac) - L17
specialize prime_field_polynomial_scale_bounded (bb) - L18
specialize prime_field_polynomial_scale_bounded (bc) - L19
specialize prime_field_polynomial_scale_bounded (L) - L20
apply prime_field_polynomial_scale_bounded - L21
exact hs
04Separate the logical casesL22–23
05Establish hmL24–25
Establish this local claim before using it. It is not an additional assumption.
06Separate the logical casesL26–28
07Establish hrL29–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial scale exists.
- L29
have hr : ∃ cb. ∃ cc. FpPolyScale(p,a,bb,bc,cb,cc,L)Definitions: FpPolyScale(p,a,bb,bc,cb,cc,L)Original native command in the exact edition - L30
specialize prime_field_polynomial_scale_exists (p) - L31
specialize prime_field_polynomial_scale_exists (a) - L32
specialize prime_field_polynomial_scale_exists (bb) - L33
specialize prime_field_polynomial_scale_exists (bc) - L34
specialize prime_field_polynomial_scale_exists (L) - L35
apply prime_field_polynomial_scale_exists - L36
intro hpzero - L37
specialize prime_nonzero (p) - L38
apply prime_nonzero
08Use earlier factsL39–42
09Separate the logical casesL43–44
10Establish heL45–54
Establish this local claim before using it. It is not an additional assumption.
- L45
have he : BetaPrefixEqual(x,x1,ab,ac,L)Definitions: BetaPrefixEqual(x,x1,ab,ac,L)Original native command in the exact edition - L46
specialize prime_field_polynomial_scale_associative (p) - L47
specialize prime_field_polynomial_scale_associative (a) - L48
specialize prime_field_polynomial_scale_associative (k) - L49
specialize prime_field_polynomial_scale_associative (1) - L50
specialize prime_field_polynomial_scale_associative (ab) - L51
specialize prime_field_polynomial_scale_associative (ac) - L52
specialize prime_field_polynomial_scale_associative (bb) - L53
specialize prime_field_polynomial_scale_associative (bc) - L54
specialize prime_field_polynomial_scale_associative (x)
11Use earlier factsL55–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
specialize prime_field_polynomial_scale_associative (x1) - L56
specialize prime_field_polynomial_scale_associative (ab) - L57
specialize prime_field_polynomial_scale_associative (ac) - L58
specialize prime_field_polynomial_scale_associative (L) - L59
apply prime_field_polynomial_scale_associative - L60
exact hm - L61
exact hs - L62
exact hr_witness_witness - L63
specialize prime_field_polynomial_scale_one (p) - L64
specialize prime_field_polynomial_scale_one (ab)
12Use earlier factsL65–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize prime_field_polynomial_scale_one (ac) - L66
specialize prime_field_polynomial_scale_one (L) - L67
apply prime_field_polynomial_scale_one - L68
exact hp - L69
exact hbound_left - L70
specialize prime_field_polynomial_scale_transport (p) - L71
specialize prime_field_polynomial_scale_transport (a) - L72
specialize prime_field_polynomial_scale_transport (bb) - L73
specialize prime_field_polynomial_scale_transport (bc) - L74
specialize prime_field_polynomial_scale_transport (x)
13Use earlier factsL75–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L75
specialize prime_field_polynomial_scale_transport (x1) - L76
specialize prime_field_polynomial_scale_transport (bb) - L77
specialize prime_field_polynomial_scale_transport (bc) - L78
specialize prime_field_polynomial_scale_transport (ab) - L79
specialize prime_field_polynomial_scale_transport (ac) - L80
specialize prime_field_polynomial_scale_transport (L) - L81
apply prime_field_polynomial_scale_transport
14Fix variables and assumptionsL82–85
Original defined command ledger · 88 lines
- 0001
intro p - 0002
intro a - 0003
intro k - 0004
intro ab - 0005
intro ac - 0006
intro bb - 0007
intro bc - 0008
intro L - 0009
intro hp - 0010
intro hinv - 0011
intro hs - 0012
have hbound : BetaPrefixInto(ab,ac,L,p) ∧ BetaPrefixInto(bb,bc,L,p) - 0013
specialize prime_field_polynomial_scale_bounded (p) - 0014
specialize prime_field_polynomial_scale_bounded (k) - 0015
specialize prime_field_polynomial_scale_bounded (ab) - 0016
specialize prime_field_polynomial_scale_bounded (ac) - 0017
specialize prime_field_polynomial_scale_bounded (bb) - 0018
specialize prime_field_polynomial_scale_bounded (bc) - 0019
specialize prime_field_polynomial_scale_bounded (L) - 0020
apply prime_field_polynomial_scale_bounded - 0021
exact hs - 0022
cases hbound - 0023
cases hinv - 0024
have hm : FpMul(p,a,k,1) - 0025
exact hinv_right - 0026
cases hinv_right - 0027
cases hinv_right_right - 0028
cases hinv_right_right_right - 0029
have hr : ∃ cb. ∃ cc. FpPolyScale(p,a,bb,bc,cb,cc,L) - 0030
specialize prime_field_polynomial_scale_exists (p) - 0031
specialize prime_field_polynomial_scale_exists (a) - 0032
specialize prime_field_polynomial_scale_exists (bb) - 0033
specialize prime_field_polynomial_scale_exists (bc) - 0034
specialize prime_field_polynomial_scale_exists (L) - 0035
apply prime_field_polynomial_scale_exists - 0036
intro hpzero - 0037
specialize prime_nonzero (p) - 0038
apply prime_nonzero - 0039
exact hp - 0040
exact hpzero - 0041
exact hinv_right_left - 0042
exact hbound_right - 0043
cases hr - 0044
cases hr_witness - 0045
have he : BetaPrefixEqual(x,x1,ab,ac,L) - 0046
specialize prime_field_polynomial_scale_associative (p) - 0047
specialize prime_field_polynomial_scale_associative (a) - 0048
specialize prime_field_polynomial_scale_associative (k) - 0049
specialize prime_field_polynomial_scale_associative (1) - 0050
specialize prime_field_polynomial_scale_associative (ab) - 0051
specialize prime_field_polynomial_scale_associative (ac) - 0052
specialize prime_field_polynomial_scale_associative (bb) - 0053
specialize prime_field_polynomial_scale_associative (bc) - 0054
specialize prime_field_polynomial_scale_associative (x) - 0055
specialize prime_field_polynomial_scale_associative (x1) - 0056
specialize prime_field_polynomial_scale_associative (ab) - 0057
specialize prime_field_polynomial_scale_associative (ac) - 0058
specialize prime_field_polynomial_scale_associative (L) - 0059
apply prime_field_polynomial_scale_associative - 0060
exact hm - 0061
exact hs - 0062
exact hr_witness_witness - 0063
specialize prime_field_polynomial_scale_one (p) - 0064
specialize prime_field_polynomial_scale_one (ab) - 0065
specialize prime_field_polynomial_scale_one (ac) - 0066
specialize prime_field_polynomial_scale_one (L) - 0067
apply prime_field_polynomial_scale_one - 0068
exact hp - 0069
exact hbound_left - 0070
specialize prime_field_polynomial_scale_transport (p) - 0071
specialize prime_field_polynomial_scale_transport (a) - 0072
specialize prime_field_polynomial_scale_transport (bb) - 0073
specialize prime_field_polynomial_scale_transport (bc) - 0074
specialize prime_field_polynomial_scale_transport (x) - 0075
specialize prime_field_polynomial_scale_transport (x1) - 0076
specialize prime_field_polynomial_scale_transport (bb) - 0077
specialize prime_field_polynomial_scale_transport (bc) - 0078
specialize prime_field_polynomial_scale_transport (ab) - 0079
specialize prime_field_polynomial_scale_transport (ac) - 0080
specialize prime_field_polynomial_scale_transport (L) - 0081
apply prime_field_polynomial_scale_transport - 0082
intro i - 0083
intro r - 0084
intro hi - 0085
intro hat - 0086
exact hat - 0087
exact he - 0088
exact hr_witness_witness