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. ∀ b. ∀ c. ∃ g. PrimeExponentPrefixGCD(b,c,l,g)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 37 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–4
03Construct an explicit witnessL5–5
Supply the displayed value, then prove that it has the required property.
- L5
exists 0
04Use earlier factsL6–8
05Fix variables and assumptionsL9–10
06Establish hprevL11–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L11
have hprev : ∃ g. PrimeExponentPrefixGCD(b,c,l,g)Definitions: PrimeExponentPrefixGCD(b,c,l,g)Original native command in the exact edition - L12
specialize IH (b) - L13
specialize IH (c) - L14
apply IH
07Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hprev
08Establish hlastL16–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L16
have hlast : ∃ v. BetaAt(b,c,l,v)Definitions: BetaAt(b,c,l,v)Original native command in the exact edition - L17
specialize beta_at_exists (b) - L18
specialize beta_at_exists (c) - L19
specialize beta_at_exists (l) - L20
apply beta_at_exists
09Separate the logical casesL21–21
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L21
cases hlast
10Establish hmergeL22–25
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply canonical gcd exists.
11Separate the logical casesL26–26
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L26
cases hmerge
12Construct an explicit witnessL27–27
Supply the displayed value, then prove that it has the required property.
- L27
exists x2
13Use earlier factsL28–37
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L28
specialize prime_exponent_prefix_gcd_successor (b) - L29
specialize prime_exponent_prefix_gcd_successor (c) - L30
specialize prime_exponent_prefix_gcd_successor (l) - L31
specialize prime_exponent_prefix_gcd_successor (x) - L32
specialize prime_exponent_prefix_gcd_successor (x1) - L33
specialize prime_exponent_prefix_gcd_successor (x2) - L34
apply prime_exponent_prefix_gcd_successor - L35
exact hprev_witness - L36
exact hlast_witness - L37
exact hmerge_witness
Original defined command ledger · 37 lines
- 0001
intro l - 0002
induction l - 0003
intro b - 0004
intro c - 0005
exists 0 - 0006
specialize prime_exponent_prefix_gcd_empty (b) - 0007
specialize prime_exponent_prefix_gcd_empty (c) - 0008
apply prime_exponent_prefix_gcd_empty - 0009
intro b - 0010
intro c - 0011
have hprev : ∃ g. PrimeExponentPrefixGCD(b,c,l,g) - 0012
specialize IH (b) - 0013
specialize IH (c) - 0014
apply IH - 0015
cases hprev - 0016
have hlast : ∃ v. BetaAt(b,c,l,v) - 0017
specialize beta_at_exists (b) - 0018
specialize beta_at_exists (c) - 0019
specialize beta_at_exists (l) - 0020
apply beta_at_exists - 0021
cases hlast - 0022
have hmerge : ∃ h. Dvd(h,x) ∧ Dvd(h,x1) ∧ (∀ y. Dvd(y,x) → Dvd(y,x1) → Dvd(y,h)) - 0023
specialize canonical_gcd_exists (x) - 0024
specialize canonical_gcd_exists (x1) - 0025
apply canonical_gcd_exists - 0026
cases hmerge - 0027
exists x2 - 0028
specialize prime_exponent_prefix_gcd_successor (b) - 0029
specialize prime_exponent_prefix_gcd_successor (c) - 0030
specialize prime_exponent_prefix_gcd_successor (l) - 0031
specialize prime_exponent_prefix_gcd_successor (x) - 0032
specialize prime_exponent_prefix_gcd_successor (x1) - 0033
specialize prime_exponent_prefix_gcd_successor (x2) - 0034
apply prime_exponent_prefix_gcd_successor - 0035
exact hprev_witness - 0036
exact hlast_witness - 0037
exact hmerge_witness