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
∀ pb. ∀ pc. ∀ eb. ∀ ec. ∀ vb. ∀ vc. ∀ l. ∀ g. ∀ rb. ∀ rc. ∃ w. PerfectPowerProfileCode(w,pb,pc,eb,ec,vb,vc,l,g,rb,rc)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 81 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
02Establish hpair8L11–14
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L11
have hpair8 : ∃ z. NaturalPair(z,rb,rc)Definitions: NaturalPair(z,rb,rc)Original native command in the exact edition - L12
specialize pair_code_constructor (rb) - L13
specialize pair_code_constructor (rc) - L14
apply pair_code_constructor
03Separate the logical casesL15–15
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L15
cases hpair8
04Establish hpair7L16–19
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L16
have hpair7 : ∃ z. NaturalPair(z,g,x)Definitions: NaturalPair(z,g,x)Original native command in the exact edition - L17
specialize pair_code_constructor (g) - L18
specialize pair_code_constructor (x) - L19
apply pair_code_constructor
05Separate the logical casesL20–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L20
cases hpair7
06Establish hpair6L21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L21
have hpair6 : ∃ z. NaturalPair(z,l,x1)Definitions: NaturalPair(z,l,x1)Original native command in the exact edition - L22
specialize pair_code_constructor (l) - L23
specialize pair_code_constructor (x1) - L24
apply pair_code_constructor
07Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hpair6
08Establish hpair5L26–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L26
have hpair5 : ∃ z. NaturalPair(z,vc,x2)Definitions: NaturalPair(z,vc,x2)Original native command in the exact edition - L27
specialize pair_code_constructor (vc) - L28
specialize pair_code_constructor (x2) - L29
apply pair_code_constructor
09Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases hpair5
10Establish hpair4L31–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L31
have hpair4 : ∃ z. NaturalPair(z,vb,x3)Definitions: NaturalPair(z,vb,x3)Original native command in the exact edition - L32
specialize pair_code_constructor (vb) - L33
specialize pair_code_constructor (x3) - L34
apply pair_code_constructor
11Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hpair4
12Establish hpair3L36–39
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L36
have hpair3 : ∃ z. NaturalPair(z,ec,x4)Definitions: NaturalPair(z,ec,x4)Original native command in the exact edition - L37
specialize pair_code_constructor (ec) - L38
specialize pair_code_constructor (x4) - L39
apply pair_code_constructor
13Separate the logical casesL40–40
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L40
cases hpair3
14Establish hpair2L41–44
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L41
have hpair2 : ∃ z. NaturalPair(z,eb,x5)Definitions: NaturalPair(z,eb,x5)Original native command in the exact edition - L42
specialize pair_code_constructor (eb) - L43
specialize pair_code_constructor (x5) - L44
apply pair_code_constructor
15Separate the logical casesL45–45
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L45
cases hpair2
16Establish hpair1L46–49
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L46
have hpair1 : ∃ z. NaturalPair(z,pc,x6)Definitions: NaturalPair(z,pc,x6)Original native command in the exact edition - L47
specialize pair_code_constructor (pc) - L48
specialize pair_code_constructor (x6) - L49
apply pair_code_constructor
17Separate the logical casesL50–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
cases hpair1
18Establish hpair0L51–54
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pair code constructor.
- L51
have hpair0 : ∃ z. NaturalPair(z,pb,x7)Definitions: NaturalPair(z,pb,x7)Original native command in the exact edition - L52
specialize pair_code_constructor (pb) - L53
specialize pair_code_constructor (x7) - L54
apply pair_code_constructor
19Separate the logical casesL55–55
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L55
cases hpair0
20Construct an explicit witnessL56–64
21Separate the logical casesL65–65
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L65
split
22Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
exact hpair0_witness
23Separate the logical casesL67–67
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L67
split
24Use earlier factsL68–68
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
exact hpair1_witness
25Separate the logical casesL69–69
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L69
split
26Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
exact hpair2_witness
27Separate the logical casesL71–71
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L71
split
28Use earlier factsL72–72
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L72
exact hpair3_witness
29Separate the logical casesL73–73
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L73
split
30Use earlier factsL74–74
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
exact hpair4_witness
31Separate the logical casesL75–75
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L75
split
32Use earlier factsL76–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L76
exact hpair5_witness
33Separate the logical casesL77–77
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L77
split
34Use earlier factsL78–78
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L78
exact hpair6_witness
35Separate the logical casesL79–79
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L79
split
Original defined command ledger · 81 lines
- 0001
intro pb - 0002
intro pc - 0003
intro eb - 0004
intro ec - 0005
intro vb - 0006
intro vc - 0007
intro l - 0008
intro g - 0009
intro rb - 0010
intro rc - 0011
have hpair8 : ∃ z. NaturalPair(z,rb,rc) - 0012
specialize pair_code_constructor (rb) - 0013
specialize pair_code_constructor (rc) - 0014
apply pair_code_constructor - 0015
cases hpair8 - 0016
have hpair7 : ∃ z. NaturalPair(z,g,x) - 0017
specialize pair_code_constructor (g) - 0018
specialize pair_code_constructor (x) - 0019
apply pair_code_constructor - 0020
cases hpair7 - 0021
have hpair6 : ∃ z. NaturalPair(z,l,x1) - 0022
specialize pair_code_constructor (l) - 0023
specialize pair_code_constructor (x1) - 0024
apply pair_code_constructor - 0025
cases hpair6 - 0026
have hpair5 : ∃ z. NaturalPair(z,vc,x2) - 0027
specialize pair_code_constructor (vc) - 0028
specialize pair_code_constructor (x2) - 0029
apply pair_code_constructor - 0030
cases hpair5 - 0031
have hpair4 : ∃ z. NaturalPair(z,vb,x3) - 0032
specialize pair_code_constructor (vb) - 0033
specialize pair_code_constructor (x3) - 0034
apply pair_code_constructor - 0035
cases hpair4 - 0036
have hpair3 : ∃ z. NaturalPair(z,ec,x4) - 0037
specialize pair_code_constructor (ec) - 0038
specialize pair_code_constructor (x4) - 0039
apply pair_code_constructor - 0040
cases hpair3 - 0041
have hpair2 : ∃ z. NaturalPair(z,eb,x5) - 0042
specialize pair_code_constructor (eb) - 0043
specialize pair_code_constructor (x5) - 0044
apply pair_code_constructor - 0045
cases hpair2 - 0046
have hpair1 : ∃ z. NaturalPair(z,pc,x6) - 0047
specialize pair_code_constructor (pc) - 0048
specialize pair_code_constructor (x6) - 0049
apply pair_code_constructor - 0050
cases hpair1 - 0051
have hpair0 : ∃ z. NaturalPair(z,pb,x7) - 0052
specialize pair_code_constructor (pb) - 0053
specialize pair_code_constructor (x7) - 0054
apply pair_code_constructor - 0055
cases hpair0 - 0056
exists x8 - 0057
exists x7 - 0058
exists x6 - 0059
exists x5 - 0060
exists x4 - 0061
exists x3 - 0062
exists x2 - 0063
exists x1 - 0064
exists x - 0065
split - 0066
exact hpair0_witness - 0067
split - 0068
exact hpair1_witness - 0069
split - 0070
exact hpair2_witness - 0071
split - 0072
exact hpair3_witness - 0073
split - 0074
exact hpair4_witness - 0075
split - 0076
exact hpair5_witness - 0077
split - 0078
exact hpair6_witness - 0079
split - 0080
exact hpair7_witness - 0081
exact hpair8_witness