rw [pow_succ, sub_val_mul _ n (k * n), pow_succ, ← ih]
case succ
R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : R
evr : ENatValRing p
x : R
n : ℕ
hx : ↑n ≤ v evr.valtn x
k : ℕ
ih : ∀ {nm : ℕ}, k * n = nm → sub_val evr nm (x ^ k) = sub_val evr n x ^ k
nm : ℕ
h : Nat.succ k * n = nm
⊢ sub_val evr nm (x ^ Nat.succ k) = sub_val evr n x ^ Nat.succ k
case succ
R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : R
evr : ENatValRing p
x : R
n : ℕ
hx : ↑n ≤ v evr.valtn x
k : ℕ
ih : ∀ {nm : ℕ}, k * n = nm → sub_val evr nm (x ^ k) = sub_val evr n x ^ k
nm : ℕ
h : Nat.succ k * n = nm
⊢ k * n = k * n

case succ.h
R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : R
evr : ENatValRing p
x : R
n : ℕ
hx : ↑n ≤ v evr.valtn x
k : ℕ
ih : ∀ {nm : ℕ}, k * n = nm → sub_val evr nm (x ^ k) = sub_val evr n x ^ k
nm : ℕ
h : Nat.succ k * n = nm
⊢ n + k * n = nm

case succ.hx
R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : R
evr : ENatValRing p
x : R
n : ℕ
hx : ↑n ≤ v evr.valtn x
k : ℕ
ih : ∀ {nm : ℕ}, k * n = nm → sub_val evr nm (x ^ k) = sub_val evr n x ^ k
nm : ℕ
h : Nat.succ k * n = nm
⊢ ↑n ≤ v evr.valtn x

case succ.hy
R : Type u
inst✝¹ : CommRing R
inst✝ : IsDomain R
p : R
evr : ENatValRing p
x : R
n : ℕ
hx : ↑n ≤ v evr.valtn x
k : ℕ
ih : ∀ {nm : ℕ}, k * n = nm → sub_val evr nm (x ^ k) = sub_val evr n x ^ k
nm : ℕ
h : Nat.succ k * n = nm
⊢ ↑(k * n) ≤ v evr.valtn (x ^ k)