Metamath Proof Explorer


Theorem lvecdim0

Description: A vector space of dimension zero is reduced to its identity element, biconditional version. (Contributed by Thierry Arnoux, 31-Jul-2023)

Ref Expression
Hypothesis lvecdim0.1 0 = ( 0g𝑉 )
Assertion lvecdim0 ( 𝑉 ∈ LVec → ( ( dim ‘ 𝑉 ) = 0 ↔ ( Base ‘ 𝑉 ) = { 0 } ) )

Proof

Step Hyp Ref Expression
1 lvecdim0.1 0 = ( 0g𝑉 )
2 1 lvecdim0i ( ( 𝑉 ∈ LVec ∧ ( dim ‘ 𝑉 ) = 0 ) → ( Base ‘ 𝑉 ) = { 0 } )
3 simpl ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) → 𝑉 ∈ LVec )
4 eqid ( LBasis ‘ 𝑉 ) = ( LBasis ‘ 𝑉 )
5 4 lbsex ( 𝑉 ∈ LVec → ( LBasis ‘ 𝑉 ) ≠ ∅ )
6 n0 ( ( LBasis ‘ 𝑉 ) ≠ ∅ ↔ ∃ 𝑏 𝑏 ∈ ( LBasis ‘ 𝑉 ) )
7 5 6 sylib ( 𝑉 ∈ LVec → ∃ 𝑏 𝑏 ∈ ( LBasis ‘ 𝑉 ) )
8 3 7 syl ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) → ∃ 𝑏 𝑏 ∈ ( LBasis ‘ 𝑉 ) )
9 1 fvexi 0 ∈ V
10 9 snid 0 ∈ { 0 }
11 simpr ( ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) ∧ 𝑏 = { 0 } ) → 𝑏 = { 0 } )
12 10 11 eleqtrrid ( ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) ∧ 𝑏 = { 0 } ) → 0𝑏 )
13 simplll ( ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) ∧ 𝑏 = { 0 } ) → 𝑉 ∈ LVec )
14 4 lbslinds ( LBasis ‘ 𝑉 ) ⊆ ( LIndS ‘ 𝑉 )
15 simplr ( ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) ∧ 𝑏 = { 0 } ) → 𝑏 ∈ ( LBasis ‘ 𝑉 ) )
16 14 15 sselid ( ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) ∧ 𝑏 = { 0 } ) → 𝑏 ∈ ( LIndS ‘ 𝑉 ) )
17 1 0nellinds ( ( 𝑉 ∈ LVec ∧ 𝑏 ∈ ( LIndS ‘ 𝑉 ) ) → ¬ 0𝑏 )
18 13 16 17 syl2anc ( ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) ∧ 𝑏 = { 0 } ) → ¬ 0𝑏 )
19 12 18 pm2.65da ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → ¬ 𝑏 = { 0 } )
20 simpr ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → 𝑏 ∈ ( LBasis ‘ 𝑉 ) )
21 eqid ( Base ‘ 𝑉 ) = ( Base ‘ 𝑉 )
22 21 4 lbsss ( 𝑏 ∈ ( LBasis ‘ 𝑉 ) → 𝑏 ⊆ ( Base ‘ 𝑉 ) )
23 20 22 syl ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → 𝑏 ⊆ ( Base ‘ 𝑉 ) )
24 simplr ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → ( Base ‘ 𝑉 ) = { 0 } )
25 23 24 sseqtrd ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → 𝑏 ⊆ { 0 } )
26 sssn ( 𝑏 ⊆ { 0 } ↔ ( 𝑏 = ∅ ∨ 𝑏 = { 0 } ) )
27 25 26 sylib ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → ( 𝑏 = ∅ ∨ 𝑏 = { 0 } ) )
28 27 orcomd ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → ( 𝑏 = { 0 } ∨ 𝑏 = ∅ ) )
29 28 ord ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → ( ¬ 𝑏 = { 0 } → 𝑏 = ∅ ) )
30 19 29 mpd ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → 𝑏 = ∅ )
31 30 20 eqeltrrd ( ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) ∧ 𝑏 ∈ ( LBasis ‘ 𝑉 ) ) → ∅ ∈ ( LBasis ‘ 𝑉 ) )
32 8 31 exlimddv ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) → ∅ ∈ ( LBasis ‘ 𝑉 ) )
33 4 dimval ( ( 𝑉 ∈ LVec ∧ ∅ ∈ ( LBasis ‘ 𝑉 ) ) → ( dim ‘ 𝑉 ) = ( ♯ ‘ ∅ ) )
34 3 32 33 syl2anc ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) → ( dim ‘ 𝑉 ) = ( ♯ ‘ ∅ ) )
35 hash0 ( ♯ ‘ ∅ ) = 0
36 34 35 eqtrdi ( ( 𝑉 ∈ LVec ∧ ( Base ‘ 𝑉 ) = { 0 } ) → ( dim ‘ 𝑉 ) = 0 )
37 2 36 impbida ( 𝑉 ∈ LVec → ( ( dim ‘ 𝑉 ) = 0 ↔ ( Base ‘ 𝑉 ) = { 0 } ) )