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. ∀ bb. ∀ bc. ∀ l. ∀ i. ∀ a. ∀ r. FpPolyScale(p,k,ab,ac,bb,bc,l) → Lt(i,l) → BetaAt(ab,ac,i,a) → BetaAt(bb,bc,i,r) → FpMul(p,k,a,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 46 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–14
03Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases h
04Establish hvL16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h right.
- L16
have hv : ∃ u. ∃ v. BetaAt(ab,ac,i,u) ∧ (BetaAt(bb,bc,i,v) ∧ FpMul(p,k,u,v))Definitions: BetaAt(ab,ac,i,u)BetaAt(bb,bc,i,v)FpMul(p,k,u,v)Original native command in the exact edition - L17
specialize h_right (i) - L18
apply h_right - L19
exact hi
05Separate the logical casesL20–23
06Establish heq0L24–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
07Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
rewrite heq0 at hv_witness_witness_right_right
08Establish heq1L35–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L35
have heq1 : x1=r - L36
specialize beta_at_unique (bb) - L37
specialize beta_at_unique (bc) - L38
specialize beta_at_unique (i) - L39
specialize beta_at_unique (x1) - L40
specialize beta_at_unique (r) - L41
apply beta_at_unique - L42
exact hv_witness_witness_right_left - L43
exact hr - L44
rewrite heq1 at hv_witness_witness_right_right
09Calculate and transport equalitiesL45–45
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L45
rewrite heq1 at hv_witness_witness_right_right
10Use earlier factsL46–46
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L46
exact hv_witness_witness_right_right
Original defined command ledger · 46 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro l - 0008
intro i - 0009
intro a - 0010
intro r - 0011
intro h - 0012
intro hi - 0013
intro ha - 0014
intro hr - 0015
cases h - 0016
have hv : ∃ u. ∃ v. BetaAt(ab,ac,i,u) ∧ (BetaAt(bb,bc,i,v) ∧ FpMul(p,k,u,v)) - 0017
specialize h_right (i) - 0018
apply h_right - 0019
exact hi - 0020
cases hv - 0021
cases hv_witness - 0022
cases hv_witness_witness - 0023
cases hv_witness_witness_right - 0024
have heq0 : x=a - 0025
specialize beta_at_unique (ab) - 0026
specialize beta_at_unique (ac) - 0027
specialize beta_at_unique (i) - 0028
specialize beta_at_unique (x) - 0029
specialize beta_at_unique (a) - 0030
apply beta_at_unique - 0031
exact hv_witness_witness_left - 0032
exact ha - 0033
rewrite heq0 at hv_witness_witness_right_right - 0034
rewrite heq0 at hv_witness_witness_right_right - 0035
have heq1 : x1=r - 0036
specialize beta_at_unique (bb) - 0037
specialize beta_at_unique (bc) - 0038
specialize beta_at_unique (i) - 0039
specialize beta_at_unique (x1) - 0040
specialize beta_at_unique (r) - 0041
apply beta_at_unique - 0042
exact hv_witness_witness_right_left - 0043
exact hr - 0044
rewrite heq1 at hv_witness_witness_right_right - 0045
rewrite heq1 at hv_witness_witness_right_right - 0046
exact hv_witness_witness_right_right