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. ∀ a. Squarefree(n) → Dvd(a · a,n) → a = 1
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 46 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–4
02Establish hzeroL5–8
03Separate the logical casesL9–11
04Use earlier factsL12–12
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L12
apply hsf_left
05Separate the logical casesL13–13
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L13
cases hdiv
06Calculate and transport equalitiesL14–14
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L14
trans (a * a) * x
07Use earlier factsL15–15
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
exact hdiv_witness
08Calculate and transport equalitiesL16–18
09Establish honeL19–22
10Separate the logical casesL23–23
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L23
cases hone
11Use earlier factsL24–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L24
exact hone_left
12Establish hpL25–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor exists.
13Separate the logical casesL30–32
14Use earlier factsL33–42
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L33
specialize squarefree_excludes_prime_square (n) - L34
specialize squarefree_excludes_prime_square (x) - L35
apply squarefree_excludes_prime_square - L36
exact hsf - L37
exact hp_witness_left - L38
specialize multiple_trans (a * a) - L39
specialize multiple_trans (x * x) - L40
specialize multiple_trans (n) - L41
apply multiple_trans - L42
exact hdiv
Original defined command ledger · 46 lines
- 0001
intro n - 0002
intro a - 0003
intro hsf - 0004
intro hdiv - 0005
have hzero : a = 0 \/ ~(a = 0) - 0006
specialize eq_decidable (a) - 0007
specialize eq_decidable (0) - 0008
apply eq_decidable - 0009
cases hzero - 0010
exfalso - 0011
cases hsf - 0012
apply hsf_left - 0013
cases hdiv - 0014
trans (a * a) * x - 0015
exact hdiv_witness - 0016
rewrite hzero_left - 0017
rewrite hzero_left - 0018
simp [mul_zero_left] - 0019
have hone : a = 1 \/ ~(a = 1) - 0020
specialize eq_decidable (a) - 0021
specialize eq_decidable (1) - 0022
apply eq_decidable - 0023
cases hone - 0024
exact hone_left - 0025
have hp : ∃ p. Prime(p) ∧ Dvd(p,a) - 0026
specialize prime_divisor_exists (a) - 0027
apply prime_divisor_exists - 0028
exact hzero_right - 0029
exact hone_right - 0030
cases hp - 0031
cases hp_witness - 0032
exfalso - 0033
specialize squarefree_excludes_prime_square (n) - 0034
specialize squarefree_excludes_prime_square (x) - 0035
apply squarefree_excludes_prime_square - 0036
exact hsf - 0037
exact hp_witness_left - 0038
specialize multiple_trans (a * a) - 0039
specialize multiple_trans (x * x) - 0040
specialize multiple_trans (n) - 0041
apply multiple_trans - 0042
exact hdiv - 0043
specialize divides_square_of_divides (x) - 0044
specialize divides_square_of_divides (a) - 0045
apply divides_square_of_divides - 0046
exact hp_witness_right