Theorem: LinearIndependent.not_mem_span_image
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: have h' : v x ∈ Submodule.span R (v '' {x}) := by
  rw [Set.image_singleton]
  exact mem_span_singleton_self (v x)
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
⊢ ¬v x ∈ span R (v '' s)

tactic: intro w
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
h' : v x ∈ span R (v '' {x})
⊢ ¬v x ∈ span R (v '' s)

tactic: apply LinearIndependent.ne_zero x hv
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
h' : v x ∈ span R (v '' {x})
w : v x ∈ span R (v '' s)
⊢ False

tactic: refine' disjoint_def.1 (hv.disjoint_span_image _) (v x) h' w
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
h' : v x ∈ span R (v '' {x})
w : v x ∈ span R (v '' s)
⊢ v x = 0

tactic: simpa using h
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
h' : v x ∈ span R (v '' {x})
w : v x ∈ span R (v '' s)
⊢ Disjoint {x} s

tactic: rw [Set.image_singleton]
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
⊢ v x ∈ span R (v '' {x})

tactic: exact mem_span_singleton_self (v x)
state_before: ι : Type u'
ι' : Type ?u.344052
R : Type u_1
K : Type ?u.344058
M : Type u_2
M' : Type ?u.344064
M'' : Type ?u.344067
V : Type u
V' : Type ?u.344072
v : ι → M
inst✝⁷ : Ring R
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
a b : R
x✝ y : M
inst✝ : Nontrivial R
hv : LinearIndependent R v
s : Set ι
x : ι
h : ¬x ∈ s
⊢ v x ∈ span R {v x}