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

tactic: dsimp only [IsOrtho]
state_before: R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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 x (a • y)

tactic: constructor <;> intro H
state_before: R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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 x) (a • y) = 0

tactic: rw [map_smulₛₗ, H, smul_zero]
state_before: case mp
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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) (a • y) = 0

tactic: rw [map_smulₛₗ, smul_eq_zero] at H
state_before: case mpr
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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) (a • y) = 0
⊢ ↑(↑B x) y = 0

tactic: cases' H with H H
state_before: case mpr
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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: simp at H
state_before: case mpr.inl
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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: exfalso
state_before: case mpr.inl
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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 ha H
state_before: case mpr.inl.h
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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
⊢ False

tactic: exact H
state_before: case mpr.inr
R : Type ?u.48188
R₁ : Type ?u.48191
R₂ : Type ?u.48194
R₃ : Type ?u.48197
M : Type ?u.48200
M₁ : Type ?u.48203
M₂ : Type ?u.48206
Mₗ₁ : Type ?u.48209
Mₗ₁' : Type ?u.48212
Mₗ₂ : Type ?u.48215
Mₗ₂' : Type ?u.48218
K : Type u_2
K₁ : Type u_1
K₂ : Type u_5
V : Type ?u.48230
V₁ : Type u_3
V₂ : Type u_4
n : Type ?u.48239
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