Theorem: Submodule.coe_span_smul
File: Mathlib/Algebra/Module/Submodule/Pointwise.lean

Proof steps:
state_before: α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
⊢ ∀ ⦃r : R'⦄ ⦃n : M'⦄, r ∈ ↑(Ideal.span s) → n ∈ N → r • n ∈ s • N
state_after: α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
r : R'
n : M'
hr : r ∈ ↑(Ideal.span s)
hn : n ∈ N
⊢ r • n ∈ s • N
tactic: rintro r n hr hn
state_before: α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
r : R'
n : M'
hr : r ∈ ↑(Ideal.span s)
hn : n ∈ N
⊢ r • n ∈ s • N
state_after: case mem
α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
r✝ : R'
n : M'
hn : n ∈ N
r : R'
h : r ∈ s
⊢ r • n ∈ s • N

case zero
α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
r : R'
n : M'
hn : n ∈ N
⊢ 0 • n ∈ s • N

case add
α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
r : R'
n : M'
hn : n ∈ N
x✝ : R'
hx✝ : x✝ ∈ span R' s
y✝ : R'
hy✝ : y✝ ∈ span R' s
ihr : x✝ • n ∈ s • N
ihs : y✝ • n ∈ s • N
⊢ (x✝ + y✝) • n ∈ s • N

case smul
α : Type u_1
R : Type u_2
M : Type u_3
inst✝⁹ : Semiring R
inst✝⁸ : AddCommMonoid M
inst✝⁷ : Module R M
S : Type u_4
inst✝⁶ : Monoid S
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
inst✝³ : DistribMulAction S M
sR : Set R
s✝ : Set S
N✝ : Submodule R M
R' : Type u_5
M' : Type u_6
inst✝² : CommSemiring R'
inst✝¹ : AddCommMonoid M'
inst✝ : Module R' M'
s : Set R'
N : Submodule R' M'
r✝ : R'
n : M'
hn : n ∈ N
r r' : R'
hr : r' ∈ span R' s
hr' : r' • n ∈ s • N
⊢ (r • r') • n ∈ s • N
tactic: induction' hr using Submodule.span_induction' with r h _ _ _ _ ihr ihs r r' hr hr'