Theorem: LinearMap.ortho_smul_left
File: Mathlib/LinearAlgebra/SesquilinearForm.lean

tactic: dsimp only [IsOrtho]
state_before: R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
⊢ IsOrtho B x y ↔ IsOrtho B (a • x) y

tactic: constructor <;> intro H
state_before: R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
⊢ ↑(↑B x) y = 0 ↔ ↑(↑B (a • x)) y = 0

tactic: rw [map_smulₛₗ₂, H, smul_zero]
state_before: case mp
R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
H : ↑(↑B x) y = 0
⊢ ↑(↑B (a • x)) y = 0

tactic: rw [map_smulₛₗ₂, smul_eq_zero] at H
state_before: case mpr
R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
H : ↑(↑B (a • x)) y = 0
⊢ ↑(↑B x) y = 0

tactic: cases' H with H H
state_before: case mpr
R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
H : ↑I₁ a = 0 ∨ ↑(↑B x) y = 0
⊢ ↑(↑B x) y = 0

tactic: rw [map_eq_zero I₁] at H
state_before: case mpr.inl
R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
H : ↑I₁ a = 0
⊢ ↑(↑B x) y = 0

tactic: trivial
state_before: case mpr.inl
R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
H : a = 0
⊢ ↑(↑B x) y = 0

tactic: exact H
state_before: case mpr.inr
R : Type ?u.36929
R₁ : Type ?u.36932
R₂ : Type ?u.36935
R₃ : Type ?u.36938
M : Type ?u.36941
M₁ : Type ?u.36944
M₂ : Type ?u.36947
Mₗ₁ : Type ?u.36950
Mₗ₁' : Type ?u.36953
Mₗ₂ : Type ?u.36956
Mₗ₂' : Type ?u.36959
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.36971
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.36980
inst✝⁶ : Field K
inst✝⁵ : Field K₁
inst✝⁴ : AddCommGroup V₁
inst✝³ : Module K₁ V₁
inst✝² : Field K₂
inst✝¹ : AddCommGroup V₂
inst✝ : Module K₂ V₂
I₁ : K₁ →+* K
I₂ : K₂ →+* K
I₁' : K₁ →+* K
J₁ J₂ : K →+* K
B : V₁ →ₛₗ[I₁] V₂ →ₛₗ[I₂] K
x : V₁
y : V₂
a : K₁
ha : a ≠ 0
H : ↑(↑B x) y = 0
⊢ ↑(↑B x) y = 0