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. ∀ k. ∀ ab. ∀ ac. ∀ l. ¬p = 0 → Lt(k,p) → BetaPrefixInto(ab,ac,l,p) → ∃ x. ∃ y. FpPolyScale(p,k,ab,ac,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 51 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–8
02Establish hrL9–12
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta repeat exists.
- L9
have hr : ∃ kb. ∃ kc. Repeat(kb,kc,k,l)Definitions: Repeat(kb,kc,k,l)Original native command in the exact edition - L10
specialize beta_repeat_exists (k) - L11
specialize beta_repeat_exists (l) - L12
apply beta_repeat_exists
03Separate the logical casesL13–14
04Establish hmL15–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise mul prefix exists.
- L15
have hm : ∃ rb. ∃ rc. ∀ y. ∀ z. ∀ n. ∀ m. Lt(y,l) → BetaAt(x,x1,y,z) → BetaAt(ab,ac,y,n) → BetaAt(rb,rc,y,m) → m = z · nDefinitions: Lt(y,l)BetaAt(x,x1,y,z)BetaAt(ab,ac,y,n)BetaAt(rb,rc,y,m)Original native command in the exact edition - L16
specialize beta_pointwise_mul_prefix_exists (x) - L17
specialize beta_pointwise_mul_prefix_exists (x1) - L18
specialize beta_pointwise_mul_prefix_exists (ab) - L19
specialize beta_pointwise_mul_prefix_exists (ac) - L20
specialize beta_pointwise_mul_prefix_exists (l) - L21
apply beta_pointwise_mul_prefix_exists
05Separate the logical casesL22–23
06Establish hnL24–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime field polynomial normalization exists.
- L24
have hn : ∃ bb. ∃ bc. FpCoefficientReduction(p,x2,x3,bb,bc,l)Definitions: FpCoefficientReduction(p,x2,x3,bb,bc,l)Original native command in the exact edition - L25
specialize prime_field_polynomial_normalization_exists (p) - L26
specialize prime_field_polynomial_normalization_exists (x2) - L27
specialize prime_field_polynomial_normalization_exists (x3) - L28
specialize prime_field_polynomial_normalization_exists (l) - L29
apply prime_field_polynomial_normalization_exists - L30
exact hp
07Separate the logical casesL31–32
08Construct an explicit witnessL33–34
09Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize prime_field_polynomial_scale_from_normalization (p) - L36
specialize prime_field_polynomial_scale_from_normalization (k) - L37
specialize prime_field_polynomial_scale_from_normalization (x) - L38
specialize prime_field_polynomial_scale_from_normalization (x1) - L39
specialize prime_field_polynomial_scale_from_normalization (ab) - L40
specialize prime_field_polynomial_scale_from_normalization (ac) - L41
specialize prime_field_polynomial_scale_from_normalization (x2) - L42
specialize prime_field_polynomial_scale_from_normalization (x3) - L43
specialize prime_field_polynomial_scale_from_normalization (x4) - L44
specialize prime_field_polynomial_scale_from_normalization (x5)
10Use earlier factsL45–51
Instantiate or apply named facts and discharge the corresponding proof obligations.
Original defined command ledger · 51 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro l - 0006
intro hp - 0007
intro hk - 0008
intro hc - 0009
have hr : ∃ kb. ∃ kc. Repeat(kb,kc,k,l) - 0010
specialize beta_repeat_exists (k) - 0011
specialize beta_repeat_exists (l) - 0012
apply beta_repeat_exists - 0013
cases hr - 0014
cases hr_witness - 0015
have hm : ∃ rb. ∃ rc. ∀ y. ∀ z. ∀ n. ∀ m. Lt(y,l) → BetaAt(x,x1,y,z) → BetaAt(ab,ac,y,n) → BetaAt(rb,rc,y,m) → m = z · n - 0016
specialize beta_pointwise_mul_prefix_exists (x) - 0017
specialize beta_pointwise_mul_prefix_exists (x1) - 0018
specialize beta_pointwise_mul_prefix_exists (ab) - 0019
specialize beta_pointwise_mul_prefix_exists (ac) - 0020
specialize beta_pointwise_mul_prefix_exists (l) - 0021
apply beta_pointwise_mul_prefix_exists - 0022
cases hm - 0023
cases hm_witness - 0024
have hn : ∃ bb. ∃ bc. FpCoefficientReduction(p,x2,x3,bb,bc,l) - 0025
specialize prime_field_polynomial_normalization_exists (p) - 0026
specialize prime_field_polynomial_normalization_exists (x2) - 0027
specialize prime_field_polynomial_normalization_exists (x3) - 0028
specialize prime_field_polynomial_normalization_exists (l) - 0029
apply prime_field_polynomial_normalization_exists - 0030
exact hp - 0031
cases hn - 0032
cases hn_witness - 0033
exists x4 - 0034
exists x5 - 0035
specialize prime_field_polynomial_scale_from_normalization (p) - 0036
specialize prime_field_polynomial_scale_from_normalization (k) - 0037
specialize prime_field_polynomial_scale_from_normalization (x) - 0038
specialize prime_field_polynomial_scale_from_normalization (x1) - 0039
specialize prime_field_polynomial_scale_from_normalization (ab) - 0040
specialize prime_field_polynomial_scale_from_normalization (ac) - 0041
specialize prime_field_polynomial_scale_from_normalization (x2) - 0042
specialize prime_field_polynomial_scale_from_normalization (x3) - 0043
specialize prime_field_polynomial_scale_from_normalization (x4) - 0044
specialize prime_field_polynomial_scale_from_normalization (x5) - 0045
specialize prime_field_polynomial_scale_from_normalization (l) - 0046
apply prime_field_polynomial_scale_from_normalization - 0047
exact hk - 0048
exact hc - 0049
exact hr_witness_witness - 0050
exact hm_witness_witness - 0051
exact hn_witness_witness