Metamath Proof Explorer


Theorem osum

Description: If two closed subspaces of a Hilbert space are orthogonal, their subspace sum equals their subspace join. Lemma 3 of Kalmbach p. 67. (Contributed by NM, 31-Oct-2005) (New usage is discouraged.)

Ref Expression
Assertion osum
|- ( ( A e. CH /\ B e. CH /\ A C_ ( _|_ ` B ) ) -> ( A +H B ) = ( A vH B ) )

Proof

Step Hyp Ref Expression
1 sseq1
 |-  ( A = if ( A e. CH , A , ~H ) -> ( A C_ ( _|_ ` B ) <-> if ( A e. CH , A , ~H ) C_ ( _|_ ` B ) ) )
2 oveq1
 |-  ( A = if ( A e. CH , A , ~H ) -> ( A +H B ) = ( if ( A e. CH , A , ~H ) +H B ) )
3 oveq1
 |-  ( A = if ( A e. CH , A , ~H ) -> ( A vH B ) = ( if ( A e. CH , A , ~H ) vH B ) )
4 2 3 eqeq12d
 |-  ( A = if ( A e. CH , A , ~H ) -> ( ( A +H B ) = ( A vH B ) <-> ( if ( A e. CH , A , ~H ) +H B ) = ( if ( A e. CH , A , ~H ) vH B ) ) )
5 1 4 imbi12d
 |-  ( A = if ( A e. CH , A , ~H ) -> ( ( A C_ ( _|_ ` B ) -> ( A +H B ) = ( A vH B ) ) <-> ( if ( A e. CH , A , ~H ) C_ ( _|_ ` B ) -> ( if ( A e. CH , A , ~H ) +H B ) = ( if ( A e. CH , A , ~H ) vH B ) ) ) )
6 fveq2
 |-  ( B = if ( B e. CH , B , ~H ) -> ( _|_ ` B ) = ( _|_ ` if ( B e. CH , B , ~H ) ) )
7 6 sseq2d
 |-  ( B = if ( B e. CH , B , ~H ) -> ( if ( A e. CH , A , ~H ) C_ ( _|_ ` B ) <-> if ( A e. CH , A , ~H ) C_ ( _|_ ` if ( B e. CH , B , ~H ) ) ) )
8 oveq2
 |-  ( B = if ( B e. CH , B , ~H ) -> ( if ( A e. CH , A , ~H ) +H B ) = ( if ( A e. CH , A , ~H ) +H if ( B e. CH , B , ~H ) ) )
9 oveq2
 |-  ( B = if ( B e. CH , B , ~H ) -> ( if ( A e. CH , A , ~H ) vH B ) = ( if ( A e. CH , A , ~H ) vH if ( B e. CH , B , ~H ) ) )
10 8 9 eqeq12d
 |-  ( B = if ( B e. CH , B , ~H ) -> ( ( if ( A e. CH , A , ~H ) +H B ) = ( if ( A e. CH , A , ~H ) vH B ) <-> ( if ( A e. CH , A , ~H ) +H if ( B e. CH , B , ~H ) ) = ( if ( A e. CH , A , ~H ) vH if ( B e. CH , B , ~H ) ) ) )
11 7 10 imbi12d
 |-  ( B = if ( B e. CH , B , ~H ) -> ( ( if ( A e. CH , A , ~H ) C_ ( _|_ ` B ) -> ( if ( A e. CH , A , ~H ) +H B ) = ( if ( A e. CH , A , ~H ) vH B ) ) <-> ( if ( A e. CH , A , ~H ) C_ ( _|_ ` if ( B e. CH , B , ~H ) ) -> ( if ( A e. CH , A , ~H ) +H if ( B e. CH , B , ~H ) ) = ( if ( A e. CH , A , ~H ) vH if ( B e. CH , B , ~H ) ) ) ) )
12 ifchhv
 |-  if ( A e. CH , A , ~H ) e. CH
13 ifchhv
 |-  if ( B e. CH , B , ~H ) e. CH
14 12 13 osumi
 |-  ( if ( A e. CH , A , ~H ) C_ ( _|_ ` if ( B e. CH , B , ~H ) ) -> ( if ( A e. CH , A , ~H ) +H if ( B e. CH , B , ~H ) ) = ( if ( A e. CH , A , ~H ) vH if ( B e. CH , B , ~H ) ) )
15 5 11 14 dedth2h
 |-  ( ( A e. CH /\ B e. CH ) -> ( A C_ ( _|_ ` B ) -> ( A +H B ) = ( A vH B ) ) )
16 15 3impia
 |-  ( ( A e. CH /\ B e. CH /\ A C_ ( _|_ ` B ) ) -> ( A +H B ) = ( A vH B ) )