Metamath Proof Explorer


Theorem spansncv

Description: Hilbert space has the covering property (using spans of singletons to represent atoms). Exercise 5 of Kalmbach p. 153. (Contributed by NM, 9-Jun-2004) (New usage is discouraged.)

Ref Expression
Assertion spansncv
|- ( ( A e. CH /\ B e. CH /\ C e. ~H ) -> ( ( A C. B /\ B C_ ( A vH ( span ` { C } ) ) ) -> B = ( A vH ( span ` { C } ) ) ) )

Proof

Step Hyp Ref Expression
1 psseq1
 |-  ( 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 vH ( span ` { C } ) ) = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) )
3 2 sseq2d
 |-  ( A = if ( A e. CH , A , ~H ) -> ( B C_ ( A vH ( span ` { C } ) ) <-> B C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) )
4 1 3 anbi12d
 |-  ( A = if ( A e. CH , A , ~H ) -> ( ( A C. B /\ B C_ ( A vH ( span ` { C } ) ) ) <-> ( if ( A e. CH , A , ~H ) C. B /\ B C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) ) )
5 2 eqeq2d
 |-  ( A = if ( A e. CH , A , ~H ) -> ( B = ( A vH ( span ` { C } ) ) <-> B = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) )
6 4 5 imbi12d
 |-  ( A = if ( A e. CH , A , ~H ) -> ( ( ( A C. B /\ B C_ ( A vH ( span ` { C } ) ) ) -> B = ( A vH ( span ` { C } ) ) ) <-> ( ( if ( A e. CH , A , ~H ) C. B /\ B C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) -> B = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) ) )
7 psseq2
 |-  ( 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 sseq1
 |-  ( B = if ( B e. CH , B , ~H ) -> ( B C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) <-> if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) )
9 7 8 anbi12d
 |-  ( B = if ( B e. CH , B , ~H ) -> ( ( if ( A e. CH , A , ~H ) C. B /\ B C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) <-> ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) ) )
10 eqeq1
 |-  ( B = if ( B e. CH , B , ~H ) -> ( B = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) <-> if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) )
11 9 10 imbi12d
 |-  ( B = if ( B e. CH , B , ~H ) -> ( ( ( if ( A e. CH , A , ~H ) C. B /\ B C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) -> B = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) <-> ( ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) -> if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) ) )
12 sneq
 |-  ( C = if ( C e. ~H , C , 0h ) -> { C } = { if ( C e. ~H , C , 0h ) } )
13 12 fveq2d
 |-  ( C = if ( C e. ~H , C , 0h ) -> ( span ` { C } ) = ( span ` { if ( C e. ~H , C , 0h ) } ) )
14 13 oveq2d
 |-  ( C = if ( C e. ~H , C , 0h ) -> ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) = ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) )
15 14 sseq2d
 |-  ( C = if ( C e. ~H , C , 0h ) -> ( if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) <-> if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) ) )
16 15 anbi2d
 |-  ( C = if ( C e. ~H , C , 0h ) -> ( ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) <-> ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) ) ) )
17 14 eqeq2d
 |-  ( C = if ( C e. ~H , C , 0h ) -> ( if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) <-> if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) ) )
18 16 17 imbi12d
 |-  ( C = if ( C e. ~H , C , 0h ) -> ( ( ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) -> if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { C } ) ) ) <-> ( ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) ) -> if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) ) ) )
19 ifchhv
 |-  if ( A e. CH , A , ~H ) e. CH
20 ifchhv
 |-  if ( B e. CH , B , ~H ) e. CH
21 ifhvhv0
 |-  if ( C e. ~H , C , 0h ) e. ~H
22 19 20 21 spansncvi
 |-  ( ( if ( A e. CH , A , ~H ) C. if ( B e. CH , B , ~H ) /\ if ( B e. CH , B , ~H ) C_ ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) ) -> if ( B e. CH , B , ~H ) = ( if ( A e. CH , A , ~H ) vH ( span ` { if ( C e. ~H , C , 0h ) } ) ) )
23 6 11 18 22 dedth3h
 |-  ( ( A e. CH /\ B e. CH /\ C e. ~H ) -> ( ( A C. B /\ B C_ ( A vH ( span ` { C } ) ) ) -> B = ( A vH ( span ` { C } ) ) ) )