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
∀ L. ∀ n. ∀ g. (∀ x. ¬x = 0 → Dvd(x,g) → ∃ y. Pow(y,x,n)) → ∃ x. ∃ y. ∀ z. Lt(z,L) → ¬z = 0 → Dvd(z,g) → ∃ m. BetaAt(x,y,z,m) ∧ Pow(m,z,n)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 56 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–1
Work with arbitrary variables or the premises of the current implication.
- L1
intro L
02Induction on LL2–5
03Construct an explicit witnessL6–7
04Fix variables and assumptionsL8–11
05Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
exfalso
06Use earlier factsL13–15
07Fix variables and assumptionsL16–18
08Establish hrootL19–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply perfect power root table conditional entry.
- L19
have hroot : ∃ R. ¬L = 0 → Dvd(L,g) → Pow(R,L,n)Definitions: Dvd(L,g)Pow(R,L,n)Original native command in the exact edition - L20
specialize perfect_power_root_table_conditional_entry (n) - L21
specialize perfect_power_root_table_conditional_entry (g) - L22
specialize perfect_power_root_table_conditional_entry (L) - L23
apply perfect_power_root_table_conditional_entry - L24
exact havailable
09Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hroot
10Establish hpreviousL26–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L26
have hprevious : ∃ b. ∃ c. ∀ x. Lt(x,L) → ¬x = 0 → Dvd(x,g) → ∃ y. BetaAt(b,c,x,y) ∧ Pow(y,x,n)Definitions: Lt(x,L)Dvd(x,g)BetaAt(b,c,x,y)Pow(y,x,n)Original native command in the exact edition - L27
specialize IH (n) - L28
specialize IH (g) - L29
apply IH - L30
exact havailable
11Separate the logical casesL31–32
12Establish hextendL33–38
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta prefix extend.
- L33
have hextend : ∃ b. ∃ c. BetaAt(b,c,L,x) ∧ (∀ y. ∀ z. Lt(y,L) → BetaAt(x1,x2,y,z) → BetaAt(b,c,y,z))Definitions: BetaAt(b,c,L,x)Lt(y,L)BetaAt(x1,x2,y,z)BetaAt(b,c,y,z)Original native command in the exact edition - L34
specialize beta_prefix_extend (L) - L35
specialize beta_prefix_extend (x1) - L36
specialize beta_prefix_extend (x2) - L37
specialize beta_prefix_extend (x) - L38
apply beta_prefix_extend
13Separate the logical casesL39–41
14Construct an explicit witnessL42–43
15Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
specialize perfect_power_root_table_prefix_append (n) - L45
specialize perfect_power_root_table_prefix_append (g) - L46
specialize perfect_power_root_table_prefix_append (x1) - L47
specialize perfect_power_root_table_prefix_append (x2) - L48
specialize perfect_power_root_table_prefix_append (x3) - L49
specialize perfect_power_root_table_prefix_append (x4) - L50
specialize perfect_power_root_table_prefix_append (L) - L51
specialize perfect_power_root_table_prefix_append (x) - L52
apply perfect_power_root_table_prefix_append - L53
exact hprevious_witness_witness
Original defined command ledger · 56 lines
- 0001
intro L - 0002
induction L - 0003
intro n - 0004
intro g - 0005
intro havailable - 0006
exists 0 - 0007
exists 0 - 0008
intro k - 0009
intro hbound - 0010
intro hk - 0011
intro hdiv - 0012
exfalso - 0013
specialize factor_permutation_below_zero_impossible (k) - 0014
apply factor_permutation_below_zero_impossible - 0015
exact hbound - 0016
intro n - 0017
intro g - 0018
intro havailable - 0019
have hroot : ∃ R. ¬L = 0 → Dvd(L,g) → Pow(R,L,n) - 0020
specialize perfect_power_root_table_conditional_entry (n) - 0021
specialize perfect_power_root_table_conditional_entry (g) - 0022
specialize perfect_power_root_table_conditional_entry (L) - 0023
apply perfect_power_root_table_conditional_entry - 0024
exact havailable - 0025
cases hroot - 0026
have hprevious : ∃ b. ∃ c. ∀ x. Lt(x,L) → ¬x = 0 → Dvd(x,g) → ∃ y. BetaAt(b,c,x,y) ∧ Pow(y,x,n) - 0027
specialize IH (n) - 0028
specialize IH (g) - 0029
apply IH - 0030
exact havailable - 0031
cases hprevious - 0032
cases hprevious_witness - 0033
have hextend : ∃ b. ∃ c. BetaAt(b,c,L,x) ∧ (∀ y. ∀ z. Lt(y,L) → BetaAt(x1,x2,y,z) → BetaAt(b,c,y,z)) - 0034
specialize beta_prefix_extend (L) - 0035
specialize beta_prefix_extend (x1) - 0036
specialize beta_prefix_extend (x2) - 0037
specialize beta_prefix_extend (x) - 0038
apply beta_prefix_extend - 0039
cases hextend - 0040
cases hextend_witness - 0041
cases hextend_witness_witness - 0042
exists x3 - 0043
exists x4 - 0044
specialize perfect_power_root_table_prefix_append (n) - 0045
specialize perfect_power_root_table_prefix_append (g) - 0046
specialize perfect_power_root_table_prefix_append (x1) - 0047
specialize perfect_power_root_table_prefix_append (x2) - 0048
specialize perfect_power_root_table_prefix_append (x3) - 0049
specialize perfect_power_root_table_prefix_append (x4) - 0050
specialize perfect_power_root_table_prefix_append (L) - 0051
specialize perfect_power_root_table_prefix_append (x) - 0052
apply perfect_power_root_table_prefix_append - 0053
exact hprevious_witness_witness - 0054
exact hextend_witness_witness_right - 0055
exact hextend_witness_witness_left - 0056
exact hroot_witness