Metamath Proof Explorer


Theorem prjspreln0

Description: Two nonzero vectors are equivalent by a nonzero scalar. (Contributed by Steven Nguyen, 31-May-2023)

Ref Expression
Hypotheses prjsprel.1 = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝐵𝑦𝐵 ) ∧ ∃ 𝑙𝐾 𝑥 = ( 𝑙 · 𝑦 ) ) }
prjspertr.b 𝐵 = ( ( Base ‘ 𝑉 ) ∖ { ( 0g𝑉 ) } )
prjspertr.s 𝑆 = ( Scalar ‘ 𝑉 )
prjspertr.x · = ( ·𝑠𝑉 )
prjspertr.k 𝐾 = ( Base ‘ 𝑆 )
prjspreln0.z 0 = ( 0g𝑆 )
Assertion prjspreln0 ( 𝑉 ∈ LVec → ( 𝑋 𝑌 ↔ ( ( 𝑋𝐵𝑌𝐵 ) ∧ ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) ) ) )

Proof

Step Hyp Ref Expression
1 prjsprel.1 = { ⟨ 𝑥 , 𝑦 ⟩ ∣ ( ( 𝑥𝐵𝑦𝐵 ) ∧ ∃ 𝑙𝐾 𝑥 = ( 𝑙 · 𝑦 ) ) }
2 prjspertr.b 𝐵 = ( ( Base ‘ 𝑉 ) ∖ { ( 0g𝑉 ) } )
3 prjspertr.s 𝑆 = ( Scalar ‘ 𝑉 )
4 prjspertr.x · = ( ·𝑠𝑉 )
5 prjspertr.k 𝐾 = ( Base ‘ 𝑆 )
6 prjspreln0.z 0 = ( 0g𝑆 )
7 1 prjsprel ( 𝑋 𝑌 ↔ ( ( 𝑋𝐵𝑌𝐵 ) ∧ ∃ 𝑚𝐾 𝑋 = ( 𝑚 · 𝑌 ) ) )
8 simprl ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) → 𝑚𝐾 )
9 simplrl ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) → 𝑋𝐵 )
10 eldifsni ( 𝑋 ∈ ( ( Base ‘ 𝑉 ) ∖ { ( 0g𝑉 ) } ) → 𝑋 ≠ ( 0g𝑉 ) )
11 10 2 eleq2s ( 𝑋𝐵𝑋 ≠ ( 0g𝑉 ) )
12 9 11 syl ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) → 𝑋 ≠ ( 0g𝑉 ) )
13 simplrr ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → 𝑋 = ( 𝑚 · 𝑌 ) )
14 simpr ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → 𝑚 = 0 )
15 14 oveq1d ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → ( 𝑚 · 𝑌 ) = ( 0 · 𝑌 ) )
16 lveclmod ( 𝑉 ∈ LVec → 𝑉 ∈ LMod )
17 16 ad3antrrr ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → 𝑉 ∈ LMod )
18 difss ( ( Base ‘ 𝑉 ) ∖ { ( 0g𝑉 ) } ) ⊆ ( Base ‘ 𝑉 )
19 2 18 eqsstri 𝐵 ⊆ ( Base ‘ 𝑉 )
20 simplrr ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ∧ 𝑚 = 0 ) ) → 𝑌𝐵 )
21 20 anassrs ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → 𝑌𝐵 )
22 19 21 sseldi ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → 𝑌 ∈ ( Base ‘ 𝑉 ) )
23 eqid ( Base ‘ 𝑉 ) = ( Base ‘ 𝑉 )
24 eqid ( 0g𝑉 ) = ( 0g𝑉 )
25 23 3 4 6 24 lmod0vs ( ( 𝑉 ∈ LMod ∧ 𝑌 ∈ ( Base ‘ 𝑉 ) ) → ( 0 · 𝑌 ) = ( 0g𝑉 ) )
26 17 22 25 syl2anc ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → ( 0 · 𝑌 ) = ( 0g𝑉 ) )
27 13 15 26 3eqtrd ( ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) ∧ 𝑚 = 0 ) → 𝑋 = ( 0g𝑉 ) )
28 12 27 mteqand ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) → 𝑚0 )
29 nelsn ( 𝑚0 → ¬ 𝑚 ∈ { 0 } )
30 28 29 syl ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) → ¬ 𝑚 ∈ { 0 } )
31 8 30 eldifd ( ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) ∧ ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) ) → 𝑚 ∈ ( 𝐾 ∖ { 0 } ) )
32 31 ex ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) → ( ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) → 𝑚 ∈ ( 𝐾 ∖ { 0 } ) ) )
33 simpr ( ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) → 𝑋 = ( 𝑚 · 𝑌 ) )
34 32 33 jca2 ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) → ( ( 𝑚𝐾𝑋 = ( 𝑚 · 𝑌 ) ) → ( 𝑚 ∈ ( 𝐾 ∖ { 0 } ) ∧ 𝑋 = ( 𝑚 · 𝑌 ) ) ) )
35 34 reximdv2 ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) → ( ∃ 𝑚𝐾 𝑋 = ( 𝑚 · 𝑌 ) → ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) ) )
36 difss ( 𝐾 ∖ { 0 } ) ⊆ 𝐾
37 ssrexv ( ( 𝐾 ∖ { 0 } ) ⊆ 𝐾 → ( ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) → ∃ 𝑚𝐾 𝑋 = ( 𝑚 · 𝑌 ) ) )
38 36 37 mp1i ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) → ( ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) → ∃ 𝑚𝐾 𝑋 = ( 𝑚 · 𝑌 ) ) )
39 35 38 impbid ( ( 𝑉 ∈ LVec ∧ ( 𝑋𝐵𝑌𝐵 ) ) → ( ∃ 𝑚𝐾 𝑋 = ( 𝑚 · 𝑌 ) ↔ ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) ) )
40 39 pm5.32da ( 𝑉 ∈ LVec → ( ( ( 𝑋𝐵𝑌𝐵 ) ∧ ∃ 𝑚𝐾 𝑋 = ( 𝑚 · 𝑌 ) ) ↔ ( ( 𝑋𝐵𝑌𝐵 ) ∧ ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) ) ) )
41 7 40 syl5bb ( 𝑉 ∈ LVec → ( 𝑋 𝑌 ↔ ( ( 𝑋𝐵𝑌𝐵 ) ∧ ∃ 𝑚 ∈ ( 𝐾 ∖ { 0 } ) 𝑋 = ( 𝑚 · 𝑌 ) ) ) )