Theorem: Submodule.span_singleton_eq_span_singleton
File: Mathlib/LinearAlgebra/Span.lean

tactic: constructor
state_before: R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ span R {x} = span R {y} ↔ ∃ z, z • x = y
state_after: case mp
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ span R {x} = span R {y} → ∃ z, z • x = y

case mpr
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ (∃ z, z • x = y) → span R {x} = span R {y}

tactic: simp only [le_antisymm_iff, span_singleton_le_iff_mem, mem_span_singleton]
state_before: case mp
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ span R {x} = span R {y} → ∃ z, z • x = y
state_after: case mp
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ ((∃ a, a • y = x) ∧ ∃ a, a • x = y) → ∃ z, z • x = y

tactic: rintro ⟨⟨a, rfl⟩, b, hb⟩
state_before: case mp
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ ((∃ a, a • y = x) ∧ ∃ a, a • x = y) → ∃ z, z • x = y
state_after: case mp.intro.intro.intro
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
⊢ ∃ z, z • a • y = y

tactic: rcases eq_or_ne y 0 with rfl | hy
state_before: case mp.intro.intro.intro
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
⊢ ∃ z, z • a • y = y
state_after: case mp.intro.intro.intro.inl
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
a b : R
hb : b • a • 0 = 0
⊢ ∃ z, z • a • 0 = 0

case mp.intro.intro.intro.inr
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ ∃ z, z • a • y = y

tactic: refine ⟨⟨b, a, ?_, ?_⟩, hb⟩
state_before: case mp.intro.intro.intro.inr
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ ∃ z, z • a • y = y
state_after: case mp.intro.intro.intro.inr.refine_1
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ b * a = 1

case mp.intro.intro.intro.inr.refine_2
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ a * b = 1

tactic: simp
state_before: case mp.intro.intro.intro.inl
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
a b : R
hb : b • a • 0 = 0
⊢ ∃ z, z • a • 0 = 0
state_after: no goals

tactic: apply smul_left_injective R hy
state_before: case mp.intro.intro.intro.inr.refine_1
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ b * a = 1
state_after: case mp.intro.intro.intro.inr.refine_1.a
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ (fun c => c • y) (b * a) = (fun c => c • y) 1

tactic: simpa only [mul_smul, one_smul]
state_before: case mp.intro.intro.intro.inr.refine_1.a
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ (fun c => c • y) (b * a) = (fun c => c • y) 1
state_after: no goals

tactic: rw [← hb] at hy
state_before: case mp.intro.intro.intro.inr.refine_2
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : y ≠ 0
⊢ a * b = 1
state_after: case mp.intro.intro.intro.inr.refine_2
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : b • a • y ≠ 0
⊢ a * b = 1

tactic: apply smul_left_injective R (smul_ne_zero_iff.1 hy).2
state_before: case mp.intro.intro.intro.inr.refine_2
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : b • a • y ≠ 0
⊢ a * b = 1
state_after: case mp.intro.intro.intro.inr.refine_2.a
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : b • a • y ≠ 0
⊢ (fun c => c • a • y) (a * b) = (fun c => c • a • y) 1

tactic: simp only [mul_smul, one_smul, hb]
state_before: case mp.intro.intro.intro.inr.refine_2.a
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
y : M
a b : R
hb : b • a • y = y
hy : b • a • y ≠ 0
⊢ (fun c => c • a • y) (a * b) = (fun c => c • a • y) 1
state_after: no goals

tactic: rintro ⟨u, rfl⟩
state_before: case mpr
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x y : M
⊢ (∃ z, z • x = y) → span R {x} = span R {y}
state_after: case mpr.intro
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x : M
u : Rˣ
⊢ span R {x} = span R {u • x}

tactic: exact (span_singleton_group_smul_eq _ _ _).symm
state_before: case mpr.intro
R✝ : Type u_1
R₂ : Type u_2
K : Type u_3
M✝ : Type u_4
M₂ : Type u_5
V : Type u_6
S : Type u_7
inst✝¹¹ : Semiring R✝
inst✝¹⁰ : AddCommMonoid M✝
inst✝⁹ : Module R✝ M✝
x✝ : M✝
p p' : Submodule R✝ M✝
inst✝⁸ : Semiring R₂
σ₁₂ : R✝ →+* R₂
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : Module R₂ M₂
F : Type u_8
inst✝⁵ : FunLike F M✝ M₂
inst✝⁴ : SemilinearMapClass F σ₁₂ M✝ M₂
s t : Set M✝
R : Type u_9
M : Type u_10
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
inst✝ : NoZeroSMulDivisors R M
x : M
u : Rˣ
⊢ span R {x} = span R {u • x}
state_after: no goals