Metamath Proof Explorer


Theorem dvaset

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

Ref Expression
Hypotheses dvaset.h 𝐻 = ( LHyp ‘ 𝐾 )
dvaset.t 𝑇 = ( ( LTrn ‘ 𝐾 ) ‘ 𝑊 )
dvaset.e 𝐸 = ( ( TEndo ‘ 𝐾 ) ‘ 𝑊 )
dvaset.d 𝐷 = ( ( EDRing ‘ 𝐾 ) ‘ 𝑊 )
dvaset.u 𝑈 = ( ( DVecA ‘ 𝐾 ) ‘ 𝑊 )
Assertion dvaset ( ( 𝐾𝑋𝑊𝐻 ) → 𝑈 = ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ) )

Proof

Step Hyp Ref Expression
1 dvaset.h 𝐻 = ( LHyp ‘ 𝐾 )
2 dvaset.t 𝑇 = ( ( LTrn ‘ 𝐾 ) ‘ 𝑊 )
3 dvaset.e 𝐸 = ( ( TEndo ‘ 𝐾 ) ‘ 𝑊 )
4 dvaset.d 𝐷 = ( ( EDRing ‘ 𝐾 ) ‘ 𝑊 )
5 dvaset.u 𝑈 = ( ( DVecA ‘ 𝐾 ) ‘ 𝑊 )
6 1 dvafset ( 𝐾𝑋 → ( DVecA ‘ 𝐾 ) = ( 𝑤𝐻 ↦ ( { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } ) ) )
7 6 fveq1d ( 𝐾𝑋 → ( ( DVecA ‘ 𝐾 ) ‘ 𝑊 ) = ( ( 𝑤𝐻 ↦ ( { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } ) ) ‘ 𝑊 ) )
8 fveq2 ( 𝑤 = 𝑊 → ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) = ( ( LTrn ‘ 𝐾 ) ‘ 𝑊 ) )
9 8 2 eqtr4di ( 𝑤 = 𝑊 → ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) = 𝑇 )
10 9 opeq2d ( 𝑤 = 𝑊 → ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ = ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ )
11 eqidd ( 𝑤 = 𝑊 → ( 𝑓𝑔 ) = ( 𝑓𝑔 ) )
12 9 9 11 mpoeq123dv ( 𝑤 = 𝑊 → ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) = ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) )
13 12 opeq2d ( 𝑤 = 𝑊 → ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ = ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ )
14 fveq2 ( 𝑤 = 𝑊 → ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) = ( ( EDRing ‘ 𝐾 ) ‘ 𝑊 ) )
15 14 4 eqtr4di ( 𝑤 = 𝑊 → ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) = 𝐷 )
16 15 opeq2d ( 𝑤 = 𝑊 → ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ = ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ )
17 10 13 16 tpeq123d ( 𝑤 = 𝑊 → { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } )
18 fveq2 ( 𝑤 = 𝑊 → ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) = ( ( TEndo ‘ 𝐾 ) ‘ 𝑊 ) )
19 18 3 eqtr4di ( 𝑤 = 𝑊 → ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) = 𝐸 )
20 eqidd ( 𝑤 = 𝑊 → ( 𝑠𝑓 ) = ( 𝑠𝑓 ) )
21 19 9 20 mpoeq123dv ( 𝑤 = 𝑊 → ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) = ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) )
22 21 opeq2d ( 𝑤 = 𝑊 → ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ = ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ )
23 22 sneqd ( 𝑤 = 𝑊 → { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } = { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } )
24 17 23 uneq12d ( 𝑤 = 𝑊 → ( { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } ) = ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ) )
25 eqid ( 𝑤𝐻 ↦ ( { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } ) ) = ( 𝑤𝐻 ↦ ( { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } ) )
26 tpex { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∈ V
27 snex { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ∈ V
28 26 27 unex ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ) ∈ V
29 24 25 28 fvmpt ( 𝑊𝐻 → ( ( 𝑤𝐻 ↦ ( { ⟨ ( Base ‘ ndx ) , ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) , 𝑔 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , ( ( EDRing ‘ 𝐾 ) ‘ 𝑤 ) ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ ( ( TEndo ‘ 𝐾 ) ‘ 𝑤 ) , 𝑓 ∈ ( ( LTrn ‘ 𝐾 ) ‘ 𝑤 ) ↦ ( 𝑠𝑓 ) ) ⟩ } ) ) ‘ 𝑊 ) = ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ) )
30 7 29 sylan9eq ( ( 𝐾𝑋𝑊𝐻 ) → ( ( DVecA ‘ 𝐾 ) ‘ 𝑊 ) = ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ) )
31 5 30 syl5eq ( ( 𝐾𝑋𝑊𝐻 ) → 𝑈 = ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓𝑇 , 𝑔𝑇 ↦ ( 𝑓𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠𝐸 , 𝑓𝑇 ↦ ( 𝑠𝑓 ) ) ⟩ } ) )