case h
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ y ∈ Submodule.orthogonalBilin (Submodule.span K {x}) B ↔ y ∈ ker (↑B x)
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x : V
⊢ Submodule.orthogonalBilin (Submodule.span K {x}) B = ker (↑B x)
ext y
case h
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ (∀ (n : V), (∃ a, a • x = n) → IsOrtho B n y) ↔ ↑(↑B x) y = 0
case h
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ y ∈ Submodule.orthogonalBilin (Submodule.span K {x}) B ↔ y ∈ ker (↑B x)
simp_rw [Submodule.mem_orthogonalBilin_iff, LinearMap.mem_ker, Submodule.mem_span_singleton]
case h.mp
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ (∀ (n : V), (∃ a, a • x = n) → IsOrtho B n y) → ↑(↑B x) y = 0

case h.mpr
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ ↑(↑B x) y = 0 → ∀ (n : V), (∃ a, a • x = n) → IsOrtho B n y
case h
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ (∀ (n : V), (∃ a, a • x = n) → IsOrtho B n y) ↔ ↑(↑B x) y = 0
constructor
no goals
case h.mp
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ (∀ (n : V), (∃ a, a • x = n) → IsOrtho B n y) → ↑(↑B x) y = 0
exact fun h ↦ h x ⟨1, one_smul _ _⟩
case h.mpr.intro
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
h : ↑(↑B x) y = 0
z : K
⊢ IsOrtho B (z • x) y
case h.mpr
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
⊢ ↑(↑B x) y = 0 → ∀ (n : V), (∃ a, a • x = n) → IsOrtho B n y
rintro h _ ⟨z, rfl⟩
case h.mpr.intro
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
h : ↑(↑B x) y = 0
z : K
⊢ ↑(RingHom.id K) z = 0 ∨ ↑(↑B x) y = 0
case h.mpr.intro
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
h : ↑(↑B x) y = 0
z : K
⊢ IsOrtho B (z • x) y
rw [isOrtho_def, map_smulₛₗ₂, smul_eq_zero]
no goals
case h.mpr.intro
R : Type ?u.247696
R₁ : Type ?u.247699
R₂ : Type ?u.247702
R₃ : Type ?u.247705
M : Type ?u.247708
M₁ : Type ?u.247711
M₂ : Type ?u.247714
Mₗ₁ : Type ?u.247717
Mₗ₁' : Type ?u.247720
Mₗ₂ : Type ?u.247723
Mₗ₂' : Type ?u.247726
K : Type u_1
K₁ : Type ?u.247732
K₂ : Type ?u.247735
V : Type u_2
V₁ : Type ?u.247741
V₂ : Type ?u.247744
n : Type ?u.247747
inst✝⁵ : Field K
inst✝⁴ : AddCommGroup V
inst✝³ : Module K V
inst✝² : Field K₁
inst✝¹ : AddCommGroup V₁
inst✝ : Module K₁ V₁
J : K →+* K
J₁ J₁' : K₁ →+* K
B : V →ₗ[K] V →ₛₗ[J] K
x y : V
h : ↑(↑B x) y = 0
z : K
⊢ ↑(RingHom.id K) z = 0 ∨ ↑(↑B x) y = 0
exact Or.intro_right _ h