Metamath Proof Explorer


Theorem prjspnvs

Description: A nonzero multiple of a vector is equivalent to the vector. This converts the equivalence relation used in prjspvs (see prjspnerlem ). (Contributed by SN, 8-Aug-2024)

Ref Expression
Hypotheses prjspnvs.e
|- .~ = { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. S x = ( l .x. y ) ) }
prjspnvs.w
|- W = ( K freeLMod ( 0 ... N ) )
prjspnvs.b
|- B = ( ( Base ` W ) \ { ( 0g ` W ) } )
prjspnvs.s
|- S = ( Base ` K )
prjspnvs.x
|- .x. = ( .s ` W )
prjspnvs.0
|- .0. = ( 0g ` K )
prjspnvs.k
|- ( ph -> K e. DivRing )
prjspnvs.1
|- ( ph -> X e. B )
prjspnvs.2
|- ( ph -> C e. S )
prjspnvs.3
|- ( ph -> C =/= .0. )
Assertion prjspnvs
|- ( ph -> ( C .x. X ) .~ X )

Proof

Step Hyp Ref Expression
1 prjspnvs.e
 |-  .~ = { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. S x = ( l .x. y ) ) }
2 prjspnvs.w
 |-  W = ( K freeLMod ( 0 ... N ) )
3 prjspnvs.b
 |-  B = ( ( Base ` W ) \ { ( 0g ` W ) } )
4 prjspnvs.s
 |-  S = ( Base ` K )
5 prjspnvs.x
 |-  .x. = ( .s ` W )
6 prjspnvs.0
 |-  .0. = ( 0g ` K )
7 prjspnvs.k
 |-  ( ph -> K e. DivRing )
8 prjspnvs.1
 |-  ( ph -> X e. B )
9 prjspnvs.2
 |-  ( ph -> C e. S )
10 prjspnvs.3
 |-  ( ph -> C =/= .0. )
11 ovexd
 |-  ( ph -> ( 0 ... N ) e. _V )
12 2 frlmlvec
 |-  ( ( K e. DivRing /\ ( 0 ... N ) e. _V ) -> W e. LVec )
13 7 11 12 syl2anc
 |-  ( ph -> W e. LVec )
14 nelsn
 |-  ( C =/= .0. -> -. C e. { .0. } )
15 10 14 syl
 |-  ( ph -> -. C e. { .0. } )
16 9 15 eldifd
 |-  ( ph -> C e. ( S \ { .0. } ) )
17 2 frlmsca
 |-  ( ( K e. DivRing /\ ( 0 ... N ) e. _V ) -> K = ( Scalar ` W ) )
18 7 11 17 syl2anc
 |-  ( ph -> K = ( Scalar ` W ) )
19 18 fveq2d
 |-  ( ph -> ( Base ` K ) = ( Base ` ( Scalar ` W ) ) )
20 4 19 syl5eq
 |-  ( ph -> S = ( Base ` ( Scalar ` W ) ) )
21 18 fveq2d
 |-  ( ph -> ( 0g ` K ) = ( 0g ` ( Scalar ` W ) ) )
22 6 21 syl5eq
 |-  ( ph -> .0. = ( 0g ` ( Scalar ` W ) ) )
23 22 sneqd
 |-  ( ph -> { .0. } = { ( 0g ` ( Scalar ` W ) ) } )
24 20 23 difeq12d
 |-  ( ph -> ( S \ { .0. } ) = ( ( Base ` ( Scalar ` W ) ) \ { ( 0g ` ( Scalar ` W ) ) } ) )
25 16 24 eleqtrd
 |-  ( ph -> C e. ( ( Base ` ( Scalar ` W ) ) \ { ( 0g ` ( Scalar ` W ) ) } ) )
26 eqid
 |-  { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) } = { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) }
27 eqid
 |-  ( Scalar ` W ) = ( Scalar ` W )
28 eqid
 |-  ( Base ` ( Scalar ` W ) ) = ( Base ` ( Scalar ` W ) )
29 eqid
 |-  ( 0g ` ( Scalar ` W ) ) = ( 0g ` ( Scalar ` W ) )
30 26 3 27 5 28 29 prjspvs
 |-  ( ( W e. LVec /\ X e. B /\ C e. ( ( Base ` ( Scalar ` W ) ) \ { ( 0g ` ( Scalar ` W ) ) } ) ) -> ( C .x. X ) { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) } X )
31 13 8 25 30 syl3anc
 |-  ( ph -> ( C .x. X ) { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) } X )
32 1 2 3 4 5 prjspnerlem
 |-  ( K e. DivRing -> .~ = { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) } )
33 7 32 syl
 |-  ( ph -> .~ = { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) } )
34 33 breqd
 |-  ( ph -> ( ( C .x. X ) .~ X <-> ( C .x. X ) { <. x , y >. | ( ( x e. B /\ y e. B ) /\ E. l e. ( Base ` ( Scalar ` W ) ) x = ( l .x. y ) ) } X ) )
35 31 34 mpbird
 |-  ( ph -> ( C .x. X ) .~ X )