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 ( ( 𝐴C𝐵C𝐶 ∈ ℋ ) → ( ( 𝐴𝐵𝐵 ⊆ ( 𝐴 ( span ‘ { 𝐶 } ) ) ) → 𝐵 = ( 𝐴 ( span ‘ { 𝐶 } ) ) ) )

Proof

Step Hyp Ref Expression
1 psseq1 ( 𝐴 = if ( 𝐴C , 𝐴 , ℋ ) → ( 𝐴𝐵 ↔ if ( 𝐴C , 𝐴 , ℋ ) ⊊ 𝐵 ) )
2 oveq1 ( 𝐴 = if ( 𝐴C , 𝐴 , ℋ ) → ( 𝐴 ( span ‘ { 𝐶 } ) ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) )
3 2 sseq2d ( 𝐴 = if ( 𝐴C , 𝐴 , ℋ ) → ( 𝐵 ⊆ ( 𝐴 ( span ‘ { 𝐶 } ) ) ↔ 𝐵 ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) )
4 1 3 anbi12d ( 𝐴 = if ( 𝐴C , 𝐴 , ℋ ) → ( ( 𝐴𝐵𝐵 ⊆ ( 𝐴 ( span ‘ { 𝐶 } ) ) ) ↔ ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ 𝐵𝐵 ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ) )
5 2 eqeq2d ( 𝐴 = if ( 𝐴C , 𝐴 , ℋ ) → ( 𝐵 = ( 𝐴 ( span ‘ { 𝐶 } ) ) ↔ 𝐵 = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) )
6 4 5 imbi12d ( 𝐴 = if ( 𝐴C , 𝐴 , ℋ ) → ( ( ( 𝐴𝐵𝐵 ⊆ ( 𝐴 ( span ‘ { 𝐶 } ) ) ) → 𝐵 = ( 𝐴 ( span ‘ { 𝐶 } ) ) ) ↔ ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ 𝐵𝐵 ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) → 𝐵 = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ) )
7 psseq2 ( 𝐵 = if ( 𝐵C , 𝐵 , ℋ ) → ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ 𝐵 ↔ if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ) )
8 sseq1 ( 𝐵 = if ( 𝐵C , 𝐵 , ℋ ) → ( 𝐵 ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ↔ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) )
9 7 8 anbi12d ( 𝐵 = if ( 𝐵C , 𝐵 , ℋ ) → ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ 𝐵𝐵 ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ↔ ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ) )
10 eqeq1 ( 𝐵 = if ( 𝐵C , 𝐵 , ℋ ) → ( 𝐵 = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ↔ if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) )
11 9 10 imbi12d ( 𝐵 = if ( 𝐵C , 𝐵 , ℋ ) → ( ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ 𝐵𝐵 ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) → 𝐵 = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ↔ ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) → if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ) )
12 sneq ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → { 𝐶 } = { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } )
13 12 fveq2d ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → ( span ‘ { 𝐶 } ) = ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) )
14 13 oveq2d ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) )
15 14 sseq2d ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → ( if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ↔ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) ) )
16 15 anbi2d ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ↔ ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) ) ) )
17 14 eqeq2d ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → ( if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ↔ if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) ) )
18 16 17 imbi12d ( 𝐶 = if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) → ( ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) → if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { 𝐶 } ) ) ) ↔ ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) ) → if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) ) ) )
19 ifchhv if ( 𝐴C , 𝐴 , ℋ ) ∈ C
20 ifchhv if ( 𝐵C , 𝐵 , ℋ ) ∈ C
21 ifhvhv0 if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) ∈ ℋ
22 19 20 21 spansncvi ( ( if ( 𝐴C , 𝐴 , ℋ ) ⊊ if ( 𝐵C , 𝐵 , ℋ ) ∧ if ( 𝐵C , 𝐵 , ℋ ) ⊆ ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) ) → if ( 𝐵C , 𝐵 , ℋ ) = ( if ( 𝐴C , 𝐴 , ℋ ) ∨ ( span ‘ { if ( 𝐶 ∈ ℋ , 𝐶 , 0 ) } ) ) )
23 6 11 18 22 dedth3h ( ( 𝐴C𝐵C𝐶 ∈ ℋ ) → ( ( 𝐴𝐵𝐵 ⊆ ( 𝐴 ( span ‘ { 𝐶 } ) ) ) → 𝐵 = ( 𝐴 ( span ‘ { 𝐶 } ) ) ) )