Theorem: LinearEquiv.eq_bot_of_equiv
File: Mathlib/LinearAlgebra/Basic.lean

tactic: refine' bot_unique (SetLike.le_def.2 fun b hb => (Submodule.mem_bot R).2 _)
state_before: R : Type u_3
R₁ : Type ?u.1967014
R₂ : Type u_1
R₃ : Type ?u.1967020
R₄ : Type ?u.1967023
S : Type ?u.1967026
K : Type ?u.1967029
K₂ : Type ?u.1967032
M : Type u_4
M' : Type ?u.1967038
M₁ : Type ?u.1967041
M₂ : Type u_2
M₃ : Type ?u.1967047
M₄ : Type ?u.1967050
N : Type ?u.1967053
N₂ : Type ?u.1967056
ι : Type ?u.1967059
V : Type ?u.1967062
V₂ : Type ?u.1967065
inst✝⁹ : Semiring R
inst✝⁸ : Semiring R₂
inst✝⁷ : Semiring R₃
inst✝⁶ : Semiring R₄
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M₂
inst✝³ : AddCommMonoid M₃
inst✝² : AddCommMonoid M₄
module_M : Module R M
module_M₂ : Module R₂ M₂
module_M₃ : Module R₃ M₃
σ₁₂ : R →+* R₂
σ₂₁ : R₂ →+* R
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
σ₃₂ : R₃ →+* R₂
re₁₂ : RingHomInvPair σ₁₂ σ₂₁
re₂₁ : RingHomInvPair σ₂₁ σ₁₂
re₂₃ : RingHomInvPair σ₂₃ σ₃₂
re₃₂ : RingHomInvPair σ₃₂ σ₂₃
f : M →ₛₗ[σ₁₂] M₂
g : M₂ →ₛₗ[σ₂₁] M
e✝ : M ≃ₛₗ[σ₁₂] M₂
h : M₂ →ₛₗ[σ₂₃] M₃
e'' : M₂ ≃ₛₗ[σ₂₃] M₃
p q : Submodule R M
inst✝ : Module R₂ M₂
e : { x // x ∈ p } ≃ₛₗ[σ₁₂] { x // x ∈ ⊥ }
⊢ p = ⊥

tactic: rw [← p.mk_eq_zero hb, ← e.map_eq_zero_iff]
state_before: R : Type u_3
R₁ : Type ?u.1967014
R₂ : Type u_1
R₃ : Type ?u.1967020
R₄ : Type ?u.1967023
S : Type ?u.1967026
K : Type ?u.1967029
K₂ : Type ?u.1967032
M : Type u_4
M' : Type ?u.1967038
M₁ : Type ?u.1967041
M₂ : Type u_2
M₃ : Type ?u.1967047
M₄ : Type ?u.1967050
N : Type ?u.1967053
N₂ : Type ?u.1967056
ι : Type ?u.1967059
V : Type ?u.1967062
V₂ : Type ?u.1967065
inst✝⁹ : Semiring R
inst✝⁸ : Semiring R₂
inst✝⁷ : Semiring R₃
inst✝⁶ : Semiring R₄
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M₂
inst✝³ : AddCommMonoid M₃
inst✝² : AddCommMonoid M₄
module_M : Module R M
module_M₂ : Module R₂ M₂
module_M₃ : Module R₃ M₃
σ₁₂ : R →+* R₂
σ₂₁ : R₂ →+* R
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
σ₃₂ : R₃ →+* R₂
re₁₂ : RingHomInvPair σ₁₂ σ₂₁
re₂₁ : RingHomInvPair σ₂₁ σ₁₂
re₂₃ : RingHomInvPair σ₂₃ σ₃₂
re₃₂ : RingHomInvPair σ₃₂ σ₂₃
f : M →ₛₗ[σ₁₂] M₂
g : M₂ →ₛₗ[σ₂₁] M
e✝ : M ≃ₛₗ[σ₁₂] M₂
h : M₂ →ₛₗ[σ₂₃] M₃
e'' : M₂ ≃ₛₗ[σ₂₃] M₃
p q : Submodule R M
inst✝ : Module R₂ M₂
e : { x // x ∈ p } ≃ₛₗ[σ₁₂] { x // x ∈ ⊥ }
b : M
hb : b ∈ p
⊢ b = 0

tactic: apply Submodule.eq_zero_of_bot_submodule
state_before: R : Type u_3
R₁ : Type ?u.1967014
R₂ : Type u_1
R₃ : Type ?u.1967020
R₄ : Type ?u.1967023
S : Type ?u.1967026
K : Type ?u.1967029
K₂ : Type ?u.1967032
M : Type u_4
M' : Type ?u.1967038
M₁ : Type ?u.1967041
M₂ : Type u_2
M₃ : Type ?u.1967047
M₄ : Type ?u.1967050
N : Type ?u.1967053
N₂ : Type ?u.1967056
ι : Type ?u.1967059
V : Type ?u.1967062
V₂ : Type ?u.1967065
inst✝⁹ : Semiring R
inst✝⁸ : Semiring R₂
inst✝⁷ : Semiring R₃
inst✝⁶ : Semiring R₄
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M₂
inst✝³ : AddCommMonoid M₃
inst✝² : AddCommMonoid M₄
module_M : Module R M
module_M₂ : Module R₂ M₂
module_M₃ : Module R₃ M₃
σ₁₂ : R →+* R₂
σ₂₁ : R₂ →+* R
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
σ₃₂ : R₃ →+* R₂
re₁₂ : RingHomInvPair σ₁₂ σ₂₁
re₂₁ : RingHomInvPair σ₂₁ σ₁₂
re₂₃ : RingHomInvPair σ₂₃ σ₃₂
re₃₂ : RingHomInvPair σ₃₂ σ₂₃
f : M →ₛₗ[σ₁₂] M₂
g : M₂ →ₛₗ[σ₂₁] M
e✝ : M ≃ₛₗ[σ₁₂] M₂
h : M₂ →ₛₗ[σ₂₃] M₃
e'' : M₂ ≃ₛₗ[σ₂₃] M₃
p q : Submodule R M
inst✝ : Module R₂ M₂
e : { x // x ∈ p } ≃ₛₗ[σ₁₂] { x // x ∈ ⊥ }
b : M
hb : b ∈ p
⊢ ↑e { val := b, property := hb } = 0