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.
The derivative-nonzero criterion supplies no inverse or power witness: both are constructed. Roots may be arbitrary natural representatives of signed integer polynomials. Singular-root classification and p-adic completion are separate milestones.
Exact theorem in conservative defined notation
∀ p. ∀ k. ∀ m. ¬p = 0 → ¬k = 0 → Pow(p,k,m) → ¬m = 0 ∧ Dvd(p,m)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete tactic proof in conservative notation
All 36 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–6
02Separate the logical casesL7–7
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L7
split
03Fix variables and assumptionsL8–8
Work with arbitrary variables or the premises of the current implication.
- L8
intro hzero
04Use earlier factsL9–17
Instantiate or apply named facts and discharge the corresponding proof obligations.
05Establish hkpositiveL18–21
06Separate the logical casesL22–22
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L22
cases hkpositive
07Establish hpreviousL23–30
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply pow successor decompose.
- L23
have hprevious : ∃ r. Pow(p,x,r) ∧ m = r · pDefinitions: Pow(p,x,r)Original native command in the exact edition - L24
specialize pow_successor_decompose p - L25
specialize pow_successor_decompose x - L26
specialize pow_successor_decompose k - L27
specialize pow_successor_decompose m - L28
apply pow_successor_decompose - L29
exact hkpositive_witness - L30
exact hpower
08Separate the logical casesL31–32
09Construct an explicit witnessL33–33
Supply the displayed value, then prove that it has the required property.
- L33
exists x1
10Calculate and transport equalitiesL34–34
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
- L34
trans x1 * p
Original defined command ledger · 36 lines
- 0001
intro p - 0002
intro k - 0003
intro m - 0004
intro hp - 0005
intro hk - 0006
intro hpower - 0007
split - 0008
intro hzero - 0009
specialize pow_nonzero_of_one_le p - 0010
specialize pow_nonzero_of_one_le k - 0011
specialize pow_nonzero_of_one_le m - 0012
apply pow_nonzero_of_one_le - 0013
specialize one_le_of_ne_zero p - 0014
apply one_le_of_ne_zero - 0015
exact hp - 0016
exact hpower - 0017
exact hzero - 0018
have hkpositive : exists e. k = S e - 0019
specialize nonzero_is_succ k - 0020
apply nonzero_is_succ - 0021
exact hk - 0022
cases hkpositive - 0023
have hprevious : ∃ r. Pow(p,x,r) ∧ m = r · p - 0024
specialize pow_successor_decompose p - 0025
specialize pow_successor_decompose x - 0026
specialize pow_successor_decompose k - 0027
specialize pow_successor_decompose m - 0028
apply pow_successor_decompose - 0029
exact hkpositive_witness - 0030
exact hpower - 0031
cases hprevious - 0032
cases hprevious_witness - 0033
exists x1 - 0034
trans x1 * p - 0035
exact hprevious_witness_right - 0036
apply mul_comm