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.
All displayed hypotheses are required. Powers and positive differences are actual existential outputs. The proof constructs second-order correction identities and iterates the prime step; no binomial expansion or LTE oracle is assumed. The 2-adic variants remain separate open targets.
Exact theorem in conservative defined notation
∀ p. ∀ e. ¬p = 1 ∧ (∀ x. ∀ y. p = x · y → x = 1 ∨ y = 1) → BoundedPowerValuation(p,p,p,e) → e = 1
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 113 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–4
02Establish hpzeroL5–10
03Establish heneL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply prime divisor power valuation nonzero.
- L11
have hene : ~(e = 0) - L12
intro hezero - L13
specialize prime_divisor_power_valuation_nonzero (p) - L14
specialize prime_divisor_power_valuation_nonzero (p) - L15
specialize prime_divisor_power_valuation_nonzero (e) - L16
apply prime_divisor_power_valuation_nonzero - L17
exact hp - L18
exact hpzero - L19
exact hval - L20
specialize multiple_refl (p)
04Use earlier factsL21–22
05Establish hsuccL23–26
06Separate the logical casesL27–27
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L27
cases hsucc
07Establish hcofactorL28–35
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply power valuation exact cofactor.
- L28
have hcofactor : ∃ P. ∃ u. Pow(p,e,P) ∧ (p = P · u ∧ (¬u = 0 ∧ ¬Dvd(p,u)))Definitions: Pow(p,e,P)Dvd(p,u)Original native command in the exact edition - L29
specialize power_valuation_exact_cofactor (p) - L30
specialize power_valuation_exact_cofactor (p) - L31
specialize power_valuation_exact_cofactor (e) - L32
apply power_valuation_exact_cofactor - L33
exact hp - L34
exact hpzero - L35
exact hval
08Separate the logical casesL36–40
09Establish hprevL41–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L41
have hprev : ∃ r. Pow(p,x,r) ∧ x1 = r · pDefinitions: Pow(p,x,r)Original native command in the exact edition - L42
specialize pow_successor_decompose (p) - L43
specialize pow_successor_decompose (x) - L44
specialize pow_successor_decompose (e) - L45
specialize pow_successor_decompose (x1) - L46
apply pow_successor_decompose - L47
exact hsucc_witness - L48
exact hcofactor_witness_witness_left
10Separate the logical casesL49–50
11Establish hproductL51–60
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul left cancel nonzero.
12Calculate and transport equalitiesL61–65
13Use earlier factsL66–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L66
apply natural_mul_swap_right_tail
14Calculate and transport equalitiesL67–69
15Use earlier factsL70–70
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L70
apply mul_comm
16Calculate and transport equalitiesL71–80
17Use earlier factsL81–81
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L81
apply mul_comm
18Calculate and transport equalitiesL82–86
19Establish hcomponentsL87–92
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul eq one components.
20Separate the logical casesL93–93
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L93
cases hcomponents
21Use earlier factsL94–95
22Separate the logical casesL96–96
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L96
cases eq_decidable
23Calculate and transport equalitiesL97–97
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L97
trans S x
24Use earlier factsL98–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L98
exact hsucc_witness
25Calculate and transport equalitiesL99–100
26Separate the logical casesL101–101
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L101
exfalso
27Use earlier factsL102–104
28Establish hdivL105–113
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow positive exponent base divides.
- L105
- L106
specialize pow_positive_exponent_base_divides (p) - L107
specialize pow_positive_exponent_base_divides (x) - L108
specialize pow_positive_exponent_base_divides (x3) - L109
apply pow_positive_exponent_base_divides - L110
exact eq_decidable_right - L111
exact hprev_witness_left - L112
rewrite hcomponents_left at hdiv - L113
exact hdiv
Original defined command ledger · 113 lines
- 0001
intro p - 0002
intro e - 0003
intro hp - 0004
intro hval - 0005
have hpzero : ~(p = 0) - 0006
intro hz - 0007
specialize prime_nonzero (p) - 0008
apply prime_nonzero - 0009
exact hp - 0010
exact hz - 0011
have hene : ~(e = 0) - 0012
intro hezero - 0013
specialize prime_divisor_power_valuation_nonzero (p) - 0014
specialize prime_divisor_power_valuation_nonzero (p) - 0015
specialize prime_divisor_power_valuation_nonzero (e) - 0016
apply prime_divisor_power_valuation_nonzero - 0017
exact hp - 0018
exact hpzero - 0019
exact hval - 0020
specialize multiple_refl (p) - 0021
apply multiple_refl - 0022
exact hezero - 0023
have hsucc : exists k. e = S k - 0024
specialize nonzero_is_succ (e) - 0025
apply nonzero_is_succ - 0026
exact hene - 0027
cases hsucc - 0028
have hcofactor : ∃ P. ∃ u. Pow(p,e,P) ∧ (p = P · u ∧ (¬u = 0 ∧ ¬Dvd(p,u))) - 0029
specialize power_valuation_exact_cofactor (p) - 0030
specialize power_valuation_exact_cofactor (p) - 0031
specialize power_valuation_exact_cofactor (e) - 0032
apply power_valuation_exact_cofactor - 0033
exact hp - 0034
exact hpzero - 0035
exact hval - 0036
cases hcofactor - 0037
cases hcofactor_witness - 0038
cases hcofactor_witness_witness - 0039
cases hcofactor_witness_witness_right - 0040
cases hcofactor_witness_witness_right_right - 0041
have hprev : ∃ r. Pow(p,x,r) ∧ x1 = r · p - 0042
specialize pow_successor_decompose (p) - 0043
specialize pow_successor_decompose (x) - 0044
specialize pow_successor_decompose (e) - 0045
specialize pow_successor_decompose (x1) - 0046
apply pow_successor_decompose - 0047
exact hsucc_witness - 0048
exact hcofactor_witness_witness_left - 0049
cases hprev - 0050
cases hprev_witness - 0051
have hproduct : 1 = x3 * x2 - 0052
specialize mul_left_cancel_nonzero (p) - 0053
specialize mul_left_cancel_nonzero (1) - 0054
specialize mul_left_cancel_nonzero (x3 * x2) - 0055
apply mul_left_cancel_nonzero - 0056
exact hpzero - 0057
trans p - 0058
apply mul_one - 0059
trans x1 * x2 - 0060
exact hcofactor_witness_witness_right_left - 0061
rewrite hprev_witness_right - 0062
trans (((x3) * (((p) * (x2))))) - 0063
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0064
trans (((p) * (((x2) * (x3))))) - 0065
trans ((p) * (((x3) * (x2)))) - 0066
apply natural_mul_swap_right_tail - 0067
congr - 0068
refl - 0069
trans ((x2) * (x3)) - 0070
apply mul_comm - 0071
congr - 0072
refl - 0073
refl - 0074
trans (((p) * (((x2) * (x3))))) - 0075
refl - 0076
trans (((p) * (((x3) * (x2))))) - 0077
symm - 0078
congr - 0079
refl - 0080
trans ((x2) * (x3)) - 0081
apply mul_comm - 0082
congr - 0083
refl - 0084
refl - 0085
symm - 0086
simp [add_mul, mul_add, mul_assoc, add_assoc] - 0087
have hcomponents : x3 = 1 /\ x2 = 1 - 0088
specialize mul_eq_one_components (x3) - 0089
specialize mul_eq_one_components (x2) - 0090
apply mul_eq_one_components - 0091
symm - 0092
exact hproduct - 0093
cases hcomponents - 0094
specialize eq_decidable x - 0095
specialize eq_decidable 0 - 0096
cases eq_decidable - 0097
trans S x - 0098
exact hsucc_witness - 0099
rewrite eq_decidable_left - 0100
refl - 0101
exfalso - 0102
specialize lte_prime_nondivisor_one (p) - 0103
apply lte_prime_nondivisor_one - 0104
exact hp - 0105
have hdiv : Dvd(p,x3) - 0106
specialize pow_positive_exponent_base_divides (p) - 0107
specialize pow_positive_exponent_base_divides (x) - 0108
specialize pow_positive_exponent_base_divides (x3) - 0109
apply pow_positive_exponent_base_divides - 0110
exact eq_decidable_right - 0111
exact hprev_witness_left - 0112
rewrite hcomponents_left at hdiv - 0113
exact hdiv