Metamath Proof Explorer


Theorem dvaabl

Description: The constructed partial vector space A for a lattice K is an abelian group. (Contributed by NM, 11-Oct-2013) (Revised by Mario Carneiro, 22-Jun-2014)

Ref Expression
Hypotheses dvalvec.h
|- H = ( LHyp ` K )
dvalvec.v
|- U = ( ( DVecA ` K ) ` W )
Assertion dvaabl
|- ( ( K e. HL /\ W e. H ) -> U e. Abel )

Proof

Step Hyp Ref Expression
1 dvalvec.h
 |-  H = ( LHyp ` K )
2 dvalvec.v
 |-  U = ( ( DVecA ` K ) ` W )
3 eqid
 |-  ( ( LTrn ` K ) ` W ) = ( ( LTrn ` K ) ` W )
4 eqid
 |-  ( ( TEndo ` K ) ` W ) = ( ( TEndo ` K ) ` W )
5 eqid
 |-  ( ( EDRing ` K ) ` W ) = ( ( EDRing ` K ) ` W )
6 1 3 4 5 2 dvaset
 |-  ( ( K e. HL /\ W e. H ) -> U = ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) )
7 eqid
 |-  ( ( TGrp ` K ) ` W ) = ( ( TGrp ` K ) ` W )
8 1 3 7 tgrpset
 |-  ( ( K e. HL /\ W e. H ) -> ( ( TGrp ` K ) ` W ) = { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } )
9 1 7 tgrpabl
 |-  ( ( K e. HL /\ W e. H ) -> ( ( TGrp ` K ) ` W ) e. Abel )
10 8 9 eqeltrrd
 |-  ( ( K e. HL /\ W e. H ) -> { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } e. Abel )
11 fvex
 |-  ( ( LTrn ` K ) ` W ) e. _V
12 eqid
 |-  { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } = { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. }
13 12 grpbase
 |-  ( ( ( LTrn ` K ) ` W ) e. _V -> ( ( LTrn ` K ) ` W ) = ( Base ` { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } ) )
14 eqid
 |-  ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) = ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } )
15 14 lmodbase
 |-  ( ( ( LTrn ` K ) ` W ) e. _V -> ( ( LTrn ` K ) ` W ) = ( Base ` ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) ) )
16 13 15 eqtr3d
 |-  ( ( ( LTrn ` K ) ` W ) e. _V -> ( Base ` { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } ) = ( Base ` ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) ) )
17 11 16 ax-mp
 |-  ( Base ` { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } ) = ( Base ` ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) )
18 11 11 mpoex
 |-  ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) e. _V
19 12 grpplusg
 |-  ( ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) e. _V -> ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) = ( +g ` { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } ) )
20 14 lmodplusg
 |-  ( ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) e. _V -> ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) = ( +g ` ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) ) )
21 19 20 eqtr3d
 |-  ( ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) e. _V -> ( +g ` { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } ) = ( +g ` ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) ) )
22 18 21 ax-mp
 |-  ( +g ` { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } ) = ( +g ` ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) )
23 17 22 ablprop
 |-  ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. } e. Abel <-> ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) e. Abel )
24 10 23 sylib
 |-  ( ( K e. HL /\ W e. H ) -> ( { <. ( Base ` ndx ) , ( ( LTrn ` K ) ` W ) >. , <. ( +g ` ndx ) , ( f e. ( ( LTrn ` K ) ` W ) , g e. ( ( LTrn ` K ) ` W ) |-> ( f o. g ) ) >. , <. ( Scalar ` ndx ) , ( ( EDRing ` K ) ` W ) >. } u. { <. ( .s ` ndx ) , ( s e. ( ( TEndo ` K ) ` W ) , f e. ( ( LTrn ` K ) ` W ) |-> ( s ` f ) ) >. } ) e. Abel )
25 6 24 eqeltrd
 |-  ( ( K e. HL /\ W e. H ) -> U e. Abel )