Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
For n>1 the exponent gcd and a real beta table classify and witness all positive root degrees. The unit n=1 has a separate uniform certificate for every positive degree. Zero is excluded. NaturalSquarefreeDecomposition is deliberately distinct from the unrelated polynomial definition.
Exact theorem in conservative defined notation
∀ n. ∀ g. ∀ b. ∀ c. ∀ d. ∀ e. ∀ L. ∀ R. (∀ x. Lt(x,L) → ¬x = 0 → Dvd(x,g) → ∃ y. BetaAt(b,c,x,y) ∧ Pow(y,x,n)) → (∀ x. ∀ y. Lt(x,L) → BetaAt(b,c,x,y) → BetaAt(d,e,x,y)) → BetaAt(d,e,L,R) → (¬L = 0 → Dvd(L,g) → Pow(R,L,n)) → ∀ x. Lt(x,S L) → ¬x = 0 → Dvd(x,g) → ∃ y. BetaAt(d,e,x,y) ∧ Pow(y,x,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 55 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–16
03Establish hcaseL17–21
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite lt succ eq or lt.
04Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hcase
05Construct an explicit witnessL23–23
Supply the displayed value, then prove that it has the required property.
- L23
exists R
06Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
split
07Calculate and transport equalitiesL25–26
08Use earlier factsL27–27
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L27
exact hlast
09Calculate and transport equalitiesL28–31
10Use earlier factsL32–32
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L32
apply hroot
11Fix variables and assumptionsL33–33
Work with arbitrary variables or the premises of the current implication.
- L33
intro hLzero
12Use earlier factsL34–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L34
apply hk
13Calculate and transport equalitiesL35–35
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L35
trans L
14Use earlier factsL36–37
15Calculate and transport equalitiesL38–38
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L38
rewrite hcase_left at hdiv
16Use earlier factsL39–39
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
exact hdiv
17Establish hentryL40–45
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hprevious.
- L40
have hentry : ∃ r. BetaAt(b,c,k,r) ∧ Pow(r,k,n)Definitions: BetaAt(b,c,k,r)Pow(r,k,n)Original native command in the exact edition - L41
specialize hprevious (k) - L42
apply hprevious - L43
exact hcase_right - L44
exact hk - L45
exact hdiv
18Separate the logical casesL46–47
19Construct an explicit witnessL48–48
Supply the displayed value, then prove that it has the required property.
- L48
exists x
20Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
split
Original defined command ledger · 55 lines
- 0001
intro n - 0002
intro g - 0003
intro b - 0004
intro c - 0005
intro d - 0006
intro e - 0007
intro L - 0008
intro R - 0009
intro hprevious - 0010
intro hpreserve - 0011
intro hlast - 0012
intro hroot - 0013
intro k - 0014
intro hkbound - 0015
intro hk - 0016
intro hdiv - 0017
have hcase : k = L ∨ Lt(k,L) - 0018
specialize finite_lt_succ_eq_or_lt (L) - 0019
specialize finite_lt_succ_eq_or_lt (k) - 0020
apply finite_lt_succ_eq_or_lt - 0021
exact hkbound - 0022
cases hcase - 0023
exists R - 0024
split - 0025
rewrite hcase_left - 0026
rewrite hcase_left - 0027
exact hlast - 0028
rewrite hcase_left - 0029
rewrite hcase_left - 0030
rewrite hcase_left - 0031
rewrite hcase_left - 0032
apply hroot - 0033
intro hLzero - 0034
apply hk - 0035
trans L - 0036
exact hcase_left - 0037
exact hLzero - 0038
rewrite hcase_left at hdiv - 0039
exact hdiv - 0040
have hentry : ∃ r. BetaAt(b,c,k,r) ∧ Pow(r,k,n) - 0041
specialize hprevious (k) - 0042
apply hprevious - 0043
exact hcase_right - 0044
exact hk - 0045
exact hdiv - 0046
cases hentry - 0047
cases hentry_witness - 0048
exists x - 0049
split - 0050
specialize hpreserve (k) - 0051
specialize hpreserve (x) - 0052
apply hpreserve - 0053
exact hcase_right - 0054
exact hentry_witness_left - 0055
exact hentry_witness_right