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. FpPolyScale(p,k,ab,ac,bb,bc,l) → BetaPrefixInto(ab,ac,l,p) ∧ BetaPrefixInto(bb,bc,l,p)
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.
01Fix variables and assumptionsL1–8
02Separate the logical casesL9–10
03Fix variables and assumptionsL11–12
04Establish hvL13–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h right.
- L13
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,r) ∧ FpMul(p,k,a,r))Definitions: BetaAt(ab,ac,i,a)BetaAt(bb,bc,i,r)FpMul(p,k,a,r)Original native command in the exact edition - L14
specialize h_right (i) - L15
apply h_right - L16
exact hi
05Separate the logical casesL17–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
06Construct an explicit witnessL24–24
Supply the displayed value, then prove that it has the required property.
- L24
exists x
07Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
split
08Use earlier factsL26–27
09Fix variables and assumptionsL28–29
10Establish hvL30–33
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply h right.
- L30
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,r) ∧ FpMul(p,k,a,r))Definitions: BetaAt(ab,ac,i,a)BetaAt(bb,bc,i,r)FpMul(p,k,a,r)Original native command in the exact edition - L31
specialize h_right (i) - L32
apply h_right - L33
exact hi
11Separate the logical casesL34–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
12Construct an explicit witnessL41–41
Supply the displayed value, then prove that it has the required property.
- L41
exists x1
13Separate the logical casesL42–42
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L42
split
Original defined command ledger · 44 lines
- 0001
intro p - 0002
intro k - 0003
intro ab - 0004
intro ac - 0005
intro bb - 0006
intro bc - 0007
intro l - 0008
intro h - 0009
cases h - 0010
split - 0011
intro i - 0012
intro hi - 0013
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,r) ∧ FpMul(p,k,a,r)) - 0014
specialize h_right (i) - 0015
apply h_right - 0016
exact hi - 0017
cases hv - 0018
cases hv_witness - 0019
cases hv_witness_witness - 0020
cases hv_witness_witness_right - 0021
cases hv_witness_witness_right_right - 0022
cases hv_witness_witness_right_right_right - 0023
cases hv_witness_witness_right_right_right_right - 0024
exists x - 0025
split - 0026
exact hv_witness_witness_left - 0027
exact hv_witness_witness_right_right_right_left - 0028
intro i - 0029
intro hi - 0030
have hv : ∃ a. ∃ r. BetaAt(ab,ac,i,a) ∧ (BetaAt(bb,bc,i,r) ∧ FpMul(p,k,a,r)) - 0031
specialize h_right (i) - 0032
apply h_right - 0033
exact hi - 0034
cases hv - 0035
cases hv_witness - 0036
cases hv_witness_witness - 0037
cases hv_witness_witness_right - 0038
cases hv_witness_witness_right_right - 0039
cases hv_witness_witness_right_right_right - 0040
cases hv_witness_witness_right_right_right_right - 0041
exists x1 - 0042
split - 0043
exact hv_witness_witness_right_left - 0044
exact hv_witness_witness_right_right_right_right_left