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
∀ a. ∀ b. ∀ k. ∀ u. ∀ v. Pow(a,k,u) → Pow(b,k,v) → Pow(a · b,k,u · v)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 28 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 (1)
01Fix variables and assumptionsL1–7
02Establish hexL8–11
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow exists.
- L8
have hex : ∃ z. Pow(a · b,k,z)Definitions: Pow(a · b,k,z)Original native command in the exact edition - L9
specialize pow_exists (a * b) - L10
specialize pow_exists (k) - L11
apply pow_exists
03Separate the logical casesL12–12
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L12
cases hex
04Use earlier factsL13–22
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L13
specialize power_value_eq_transport (a * b) - L14
specialize power_value_eq_transport (k) - L15
specialize power_value_eq_transport (x) - L16
specialize power_value_eq_transport (u * v) - L17
apply power_value_eq_transport - L18
specialize pow_mul_base (a) - L19
specialize pow_mul_base (b) - L20
specialize pow_mul_base (k) - L21
specialize pow_mul_base (u) - L22
specialize pow_mul_base (v)
Original defined command ledger · 28 lines
- 0001
intro a - 0002
intro b - 0003
intro k - 0004
intro u - 0005
intro v - 0006
intro hfirst - 0007
intro hsecond - 0008
have hex : ∃ z. Pow(a · b,k,z) - 0009
specialize pow_exists (a * b) - 0010
specialize pow_exists (k) - 0011
apply pow_exists - 0012
cases hex - 0013
specialize power_value_eq_transport (a * b) - 0014
specialize power_value_eq_transport (k) - 0015
specialize power_value_eq_transport (x) - 0016
specialize power_value_eq_transport (u * v) - 0017
apply power_value_eq_transport - 0018
specialize pow_mul_base (a) - 0019
specialize pow_mul_base (b) - 0020
specialize pow_mul_base (k) - 0021
specialize pow_mul_base (u) - 0022
specialize pow_mul_base (v) - 0023
specialize pow_mul_base (x) - 0024
apply pow_mul_base - 0025
exact hfirst - 0026
exact hsecond - 0027
exact hex_witness - 0028
exact hex_witness