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 eqtrid ⊢ ( ( 𝐾 ∈ 𝑋 ∧ 𝑊 ∈ 𝐻 ) → 𝑈 = ( { ⟨ ( Base ‘ ndx ) , 𝑇 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑓 ∈ 𝑇 , 𝑔 ∈ 𝑇 ↦ ( 𝑓 ∘ 𝑔 ) ) ⟩ , ⟨ ( Scalar ‘ ndx ) , 𝐷 ⟩ } ∪ { ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑠 ∈ 𝐸 , 𝑓 ∈ 𝑇 ↦ ( 𝑠 ‘ 𝑓 ) ) ⟩ } ) )