Metamath Proof Explorer


Theorem lsatspn0

Description: The span of a vector is an atom iff the vector is nonzero. (Contributed by NM, 4-Feb-2015)

Ref Expression
Hypotheses lsatspn0.v 𝑉 = ( Base ‘ 𝑊 )
lsatspn0.n 𝑁 = ( LSpan ‘ 𝑊 )
lsatspn0.o 0 = ( 0g𝑊 )
lsatspn0.a 𝐴 = ( LSAtoms ‘ 𝑊 )
isateln0.w ( 𝜑𝑊 ∈ LMod )
isateln0.x ( 𝜑𝑋𝑉 )
Assertion lsatspn0 ( 𝜑 → ( ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴𝑋0 ) )

Proof

Step Hyp Ref Expression
1 lsatspn0.v 𝑉 = ( Base ‘ 𝑊 )
2 lsatspn0.n 𝑁 = ( LSpan ‘ 𝑊 )
3 lsatspn0.o 0 = ( 0g𝑊 )
4 lsatspn0.a 𝐴 = ( LSAtoms ‘ 𝑊 )
5 isateln0.w ( 𝜑𝑊 ∈ LMod )
6 isateln0.x ( 𝜑𝑋𝑉 )
7 5 adantr ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) → 𝑊 ∈ LMod )
8 simpr ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) → ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 )
9 3 4 7 8 lsatn0 ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) → ( 𝑁 ‘ { 𝑋 } ) ≠ { 0 } )
10 sneq ( 𝑋 = 0 → { 𝑋 } = { 0 } )
11 10 fveq2d ( 𝑋 = 0 → ( 𝑁 ‘ { 𝑋 } ) = ( 𝑁 ‘ { 0 } ) )
12 11 adantl ( ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) ∧ 𝑋 = 0 ) → ( 𝑁 ‘ { 𝑋 } ) = ( 𝑁 ‘ { 0 } ) )
13 7 adantr ( ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) ∧ 𝑋 = 0 ) → 𝑊 ∈ LMod )
14 3 2 lspsn0 ( 𝑊 ∈ LMod → ( 𝑁 ‘ { 0 } ) = { 0 } )
15 13 14 syl ( ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) ∧ 𝑋 = 0 ) → ( 𝑁 ‘ { 0 } ) = { 0 } )
16 12 15 eqtrd ( ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) ∧ 𝑋 = 0 ) → ( 𝑁 ‘ { 𝑋 } ) = { 0 } )
17 16 ex ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) → ( 𝑋 = 0 → ( 𝑁 ‘ { 𝑋 } ) = { 0 } ) )
18 17 necon3d ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) → ( ( 𝑁 ‘ { 𝑋 } ) ≠ { 0 } → 𝑋0 ) )
19 9 18 mpd ( ( 𝜑 ∧ ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 ) → 𝑋0 )
20 5 adantr ( ( 𝜑𝑋0 ) → 𝑊 ∈ LMod )
21 6 adantr ( ( 𝜑𝑋0 ) → 𝑋𝑉 )
22 simpr ( ( 𝜑𝑋0 ) → 𝑋0 )
23 eldifsn ( 𝑋 ∈ ( 𝑉 ∖ { 0 } ) ↔ ( 𝑋𝑉𝑋0 ) )
24 21 22 23 sylanbrc ( ( 𝜑𝑋0 ) → 𝑋 ∈ ( 𝑉 ∖ { 0 } ) )
25 1 2 3 4 20 24 lsatlspsn ( ( 𝜑𝑋0 ) → ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴 )
26 19 25 impbida ( 𝜑 → ( ( 𝑁 ‘ { 𝑋 } ) ∈ 𝐴𝑋0 ) )