Theorem: LinearMap.ker_eq_bot_of_injective
File: Mathlib/LinearAlgebra/Basic.lean

tactic: have : Disjoint ⊤ (ker f) := by
  rw [disjoint_ker]
  intros _ _ H
  rw [← map_zero f] at H
  exact hf H
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
⊢ ker f = ⊥

tactic: rw [disjoint_iff_inf_le, top_inf_eq, le_bot_iff] at this
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
this : Disjoint ⊤ (ker f)
⊢ ker f = ⊥

tactic: assumption
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
this : ker f = ⊥
⊢ ker f = ⊥

tactic: rw [disjoint_ker]
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
⊢ Disjoint ⊤ (ker f)

tactic: intros _ _ H
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
⊢ ∀ (x : M), x ∈ ⊤ → ↑f x = 0 → x = 0

tactic: rw [← map_zero f] at H
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
x✝ : M
a✝ : x✝ ∈ ⊤
H : ↑f x✝ = 0
⊢ x✝ = 0

tactic: exact hf H
state_before: R : Type u_4
R₁ : Type ?u.1268464
R₂ : Type u_5
R₃ : Type ?u.1268470
R₄ : Type ?u.1268473
S : Type ?u.1268476
K : Type ?u.1268479
K₂ : Type ?u.1268482
M : Type u_1
M' : Type ?u.1268488
M₁ : Type ?u.1268491
M₂ : Type u_2
M₃ : Type ?u.1268497
M₄ : Type ?u.1268500
N : Type ?u.1268503
N₂ : Type ?u.1268506
ι : Type ?u.1268509
V : Type ?u.1268512
V₂ : Type ?u.1268515
inst✝¹⁰ : Semiring R
inst✝⁹ : Semiring R₂
inst✝⁸ : Semiring R₃
inst✝⁷ : AddCommMonoid M
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁴ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝³ : Module R M
inst✝² : Module R₂ M₂
inst✝¹ : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_3
sc : SemilinearMapClass F τ₁₂ M M₂
f : F
hf : Injective ↑f
x✝ : M
a✝ : x✝ ∈ ⊤
H : ↑f x✝ = ↑f 0
⊢ x✝ = 0