R : Type u
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
a : AddMonoidAlgebra R ℕ
n : ℕ
⊢ { toFinsupp := a ^ n } = npowRec n { toFinsupp := a }
R : Type u
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
a : AddMonoidAlgebra R ℕ
n : ℕ
⊢ { toFinsupp := a ^ n } = { toFinsupp := a } ^ n
change _ = npowRec n _
no goals
R : Type u
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
a : AddMonoidAlgebra R ℕ
n : ℕ
⊢ { toFinsupp := a ^ n } = npowRec n { toFinsupp := a }
induction n with
| zero        => simp [npowRec]
| succ n n_ih => simp [npowRec, n_ih, pow_succ]
no goals
case zero
R : Type u
a✝ b : R
m n : ℕ
inst✝ : Semiring R
p q : R[X]
a : AddMonoidAlgebra R ℕ
⊢ { toFinsupp := a ^ Nat.zero } = npowRec Nat.zero { toFinsupp := a }
simp [npowRec]
no goals
case succ
R : Type u
a✝ b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
a : AddMonoidAlgebra R ℕ
n : ℕ
n_ih : { toFinsupp := a ^ n } = npowRec n { toFinsupp := a }
⊢ { toFinsupp := a ^ Nat.succ n } = npowRec (Nat.succ n) { toFinsupp := a }
simp [npowRec, n_ih, pow_succ]