Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved.
Length is representation length, not polynomial degree. Leading zeros and the empty zero polynomial are allowed; the canonical argument guard x<p also applies to the empty case. Evaluation is defined by actual field-operation steps, not an assumed residue invariant. Polynomial division, gcd, irreducibles and general prime-power extension fields remain open; this does not close G091.
Exact theorem in conservative defined notation
∀ p. ∀ ab. ∀ ac. ∀ bb. ∀ bc. ∀ l. ¬p = 0 → BetaPrefixInto(ab,ac,l,p) → BetaPrefixInto(bb,bc,l,p) → ∃ x. ∃ y. FpPolyAdd(p,ab,ac,bb,bc,x,y,l)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 44 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–9
02Establish hsL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise add prefix exists.
- L10
have hs : ∃ rb. ∃ rc. ∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → BetaAt(ab,ac,x,y) → BetaAt(bb,bc,x,z) → BetaAt(rb,rc,x,n) → n = y + zDefinitions: Lt(x,l)BetaAt(ab,ac,x,y)BetaAt(bb,bc,x,z)BetaAt(rb,rc,x,n)Original native command in the exact edition - L11
specialize beta_pointwise_add_prefix_exists (ab) - L12
specialize beta_pointwise_add_prefix_exists (ac) - L13
specialize beta_pointwise_add_prefix_exists (bb) - L14
specialize beta_pointwise_add_prefix_exists (bc) - L15
specialize beta_pointwise_add_prefix_exists (l) - L16
apply beta_pointwise_add_prefix_exists
03Separate the logical casesL17–18
04Establish hnL19–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial normalization exists.
- L19
have hn : ∃ cb. ∃ cc. FpCoefficientReduction(p,x,x1,cb,cc,l)Definitions: FpCoefficientReduction(p,x,x1,cb,cc,l)Original native command in the exact edition - L20
specialize prime_field_polynomial_normalization_exists (p) - L21
specialize prime_field_polynomial_normalization_exists (x) - L22
specialize prime_field_polynomial_normalization_exists (x1) - L23
specialize prime_field_polynomial_normalization_exists (l) - L24
apply prime_field_polynomial_normalization_exists - L25
exact hp
05Separate the logical casesL26–27
06Construct an explicit witnessL28–29
07Use earlier factsL30–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L30
specialize prime_field_polynomial_add_from_normalization (p) - L31
specialize prime_field_polynomial_add_from_normalization (ab) - L32
specialize prime_field_polynomial_add_from_normalization (ac) - L33
specialize prime_field_polynomial_add_from_normalization (bb) - L34
specialize prime_field_polynomial_add_from_normalization (bc) - L35
specialize prime_field_polynomial_add_from_normalization (x) - L36
specialize prime_field_polynomial_add_from_normalization (x1) - L37
specialize prime_field_polynomial_add_from_normalization (x2) - L38
specialize prime_field_polynomial_add_from_normalization (x3) - L39
specialize prime_field_polynomial_add_from_normalization (l)
Original defined command ledger · 44 lines
- 0001
intro p - 0002
intro ab - 0003
intro ac - 0004
intro bb - 0005
intro bc - 0006
intro l - 0007
intro hp - 0008
intro ha - 0009
intro hb - 0010
have hs : ∃ rb. ∃ rc. ∀ x. ∀ y. ∀ z. ∀ n. Lt(x,l) → BetaAt(ab,ac,x,y) → BetaAt(bb,bc,x,z) → BetaAt(rb,rc,x,n) → n = y + z - 0011
specialize beta_pointwise_add_prefix_exists (ab) - 0012
specialize beta_pointwise_add_prefix_exists (ac) - 0013
specialize beta_pointwise_add_prefix_exists (bb) - 0014
specialize beta_pointwise_add_prefix_exists (bc) - 0015
specialize beta_pointwise_add_prefix_exists (l) - 0016
apply beta_pointwise_add_prefix_exists - 0017
cases hs - 0018
cases hs_witness - 0019
have hn : ∃ cb. ∃ cc. FpCoefficientReduction(p,x,x1,cb,cc,l) - 0020
specialize prime_field_polynomial_normalization_exists (p) - 0021
specialize prime_field_polynomial_normalization_exists (x) - 0022
specialize prime_field_polynomial_normalization_exists (x1) - 0023
specialize prime_field_polynomial_normalization_exists (l) - 0024
apply prime_field_polynomial_normalization_exists - 0025
exact hp - 0026
cases hn - 0027
cases hn_witness - 0028
exists x2 - 0029
exists x3 - 0030
specialize prime_field_polynomial_add_from_normalization (p) - 0031
specialize prime_field_polynomial_add_from_normalization (ab) - 0032
specialize prime_field_polynomial_add_from_normalization (ac) - 0033
specialize prime_field_polynomial_add_from_normalization (bb) - 0034
specialize prime_field_polynomial_add_from_normalization (bc) - 0035
specialize prime_field_polynomial_add_from_normalization (x) - 0036
specialize prime_field_polynomial_add_from_normalization (x1) - 0037
specialize prime_field_polynomial_add_from_normalization (x2) - 0038
specialize prime_field_polynomial_add_from_normalization (x3) - 0039
specialize prime_field_polynomial_add_from_normalization (l) - 0040
apply prime_field_polynomial_add_from_normalization - 0041
exact ha - 0042
exact hb - 0043
exact hs_witness_witness - 0044
exact hn_witness_witness