| 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 | eqtrid |  |-  ( ph -> S = ( Base ` ( Scalar ` W ) ) ) | 
						
							| 21 | 18 | fveq2d |  |-  ( ph -> ( 0g ` K ) = ( 0g ` ( Scalar ` W ) ) ) | 
						
							| 22 | 6 21 | eqtrid |  |-  ( 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 ) |