@@ -1577,10 +1577,11 @@ open_locale direct_sum
1577
1577
def orthogonal_family (V : ι → submodule 𝕜 E) : Prop :=
1578
1578
∀ ⦃i j⦄, i ≠ j → ∀ {v : E} (hv : v ∈ V i) {w : E} (hw : w ∈ V j), ⟪v, w⟫ = 0
1579
1579
1580
- variables {𝕜} {V : ι → submodule 𝕜 E} [dec_V : Π i (x : V i), decidable (x ≠ 0 )]
1580
+ variables {𝕜} {V : ι → submodule 𝕜 E} (hV : orthogonal_family 𝕜 V)
1581
+ [dec_V : Π i (x : V i), decidable (x ≠ 0 )]
1581
1582
1582
- include dec_ι
1583
- lemma orthogonal_family.eq_ite (hV : orthogonal_family 𝕜 V) {i j : ι} (v : V i) (w : V j) :
1583
+ include hV dec_ι
1584
+ lemma orthogonal_family.eq_ite {i j : ι} (v : V i) (w : V j) :
1584
1585
⟪(v:E), w⟫ = ite (i = j) ⟪(v:E), w⟫ 0 :=
1585
1586
begin
1586
1587
split_ifs,
@@ -1589,8 +1590,7 @@ begin
1589
1590
end
1590
1591
1591
1592
include dec_V
1592
- lemma orthogonal_family.inner_right_dfinsupp (hV : orthogonal_family 𝕜 V)
1593
- (l : Π₀ i, V i) (i : ι) (v : V i) :
1593
+ lemma orthogonal_family.inner_right_dfinsupp (l : ⨁ i, V i) (i : ι) (v : V i) :
1594
1594
⟪(v : E), dfinsupp.lsum ℕ (λ i, (V i).subtype) l⟫ = ⟪v, l i⟫ :=
1595
1595
calc ⟪(v : E), dfinsupp.lsum ℕ (λ i, (V i).subtype) l⟫
1596
1596
= l.sum (λ j, λ w, ⟪(v:E), w⟫) :
@@ -1615,8 +1615,7 @@ begin
1615
1615
end
1616
1616
omit dec_ι dec_V
1617
1617
1618
- lemma orthogonal_family.inner_right_fintype
1619
- [fintype ι] (hV : orthogonal_family 𝕜 V) (l : Π i, V i) (i : ι) (v : V i) :
1618
+ lemma orthogonal_family.inner_right_fintype [fintype ι] (l : Π i, V i) (i : ι) (v : V i) :
1620
1619
⟪(v : E), ∑ j : ι, l j⟫ = ⟪v, l i⟫ :=
1621
1620
by classical;
1622
1621
calc ⟪(v : E), ∑ j : ι, l j⟫
@@ -1628,8 +1627,7 @@ calc ⟪(v : E), ∑ j : ι, l j⟫
1628
1627
/-- An orthogonal family forms an independent family of subspaces; that is, any collection of
1629
1628
elements each from a different subspace in the family is linearly independent. In particular, the
1630
1629
pairwise intersections of elements of the family are 0. -/
1631
- lemma orthogonal_family.independent (hV : orthogonal_family 𝕜 V) :
1632
- complete_lattice.independent V :=
1630
+ lemma orthogonal_family.independent : complete_lattice.independent V :=
1633
1631
begin
1634
1632
classical,
1635
1633
apply complete_lattice.independent_of_dfinsupp_lsum_injective,
@@ -1646,13 +1644,12 @@ end
1646
1644
1647
1645
/-- The composition of an orthogonal family of subspaces with an injective function is also an
1648
1646
orthogonal family. -/
1649
- lemma orthogonal_family.comp (hV : orthogonal_family 𝕜 V) {γ : Type *} {f : γ → ι}
1650
- (hf : function.injective f) :
1647
+ lemma orthogonal_family.comp {γ : Type *} {f : γ → ι} (hf : function.injective f) :
1651
1648
orthogonal_family 𝕜 (V ∘ f) :=
1652
1649
λ i j hij v hv w hw, hV (hf.ne hij) hv hw
1653
1650
1654
- lemma orthogonal_family.orthonormal_sigma_orthonormal (hV : orthogonal_family 𝕜 V) {α : ι → Type * }
1655
- {v_family : Π i, (α i) → V i} (hv_family : ∀ i, orthonormal 𝕜 (v_family i)) :
1651
+ lemma orthogonal_family.orthonormal_sigma_orthonormal {α : ι → Type *} {v_family : Π i, (α i) → V i }
1652
+ (hv_family : ∀ i, orthonormal 𝕜 (v_family i)) :
1656
1653
orthonormal 𝕜 (λ a : Σ i, α i, (v_family a.1 a.2 : E)) :=
1657
1654
begin
1658
1655
split,
@@ -1667,7 +1664,7 @@ begin
1667
1664
end
1668
1665
1669
1666
include dec_ι
1670
- lemma direct_sum.submodule_is_internal.collected_basis_orthonormal (hV : orthogonal_family 𝕜 V)
1667
+ lemma direct_sum.submodule_is_internal.collected_basis_orthonormal
1671
1668
(hV_sum : direct_sum.submodule_is_internal V) {α : ι → Type *}
1672
1669
{v_family : Π i, basis (α i) 𝕜 (V i)} (hv_family : ∀ i, orthonormal 𝕜 (v_family i)) :
1673
1670
orthonormal 𝕜 (hV_sum.collected_basis v_family) :=
0 commit comments