Metamath Proof Explorer


Theorem mendval

Description: Value of the module endomorphism algebra. (Contributed by Stefan O'Rear, 2-Sep-2015)

Ref Expression
Hypotheses mendval.b 𝐵 = ( 𝑀 LMHom 𝑀 )
mendval.p + = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑥f ( +g𝑀 ) 𝑦 ) )
mendval.t × = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑥𝑦 ) )
mendval.s 𝑆 = ( Scalar ‘ 𝑀 )
mendval.v · = ( 𝑥 ∈ ( Base ‘ 𝑆 ) , 𝑦𝐵 ↦ ( ( ( Base ‘ 𝑀 ) × { 𝑥 } ) ∘f ( ·𝑠𝑀 ) 𝑦 ) )
Assertion mendval ( 𝑀𝑋 → ( MEndo ‘ 𝑀 ) = ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) )

Proof

Step Hyp Ref Expression
1 mendval.b 𝐵 = ( 𝑀 LMHom 𝑀 )
2 mendval.p + = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑥f ( +g𝑀 ) 𝑦 ) )
3 mendval.t × = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑥𝑦 ) )
4 mendval.s 𝑆 = ( Scalar ‘ 𝑀 )
5 mendval.v · = ( 𝑥 ∈ ( Base ‘ 𝑆 ) , 𝑦𝐵 ↦ ( ( ( Base ‘ 𝑀 ) × { 𝑥 } ) ∘f ( ·𝑠𝑀 ) 𝑦 ) )
6 elex ( 𝑀𝑋𝑀 ∈ V )
7 oveq12 ( ( 𝑚 = 𝑀𝑚 = 𝑀 ) → ( 𝑚 LMHom 𝑚 ) = ( 𝑀 LMHom 𝑀 ) )
8 7 anidms ( 𝑚 = 𝑀 → ( 𝑚 LMHom 𝑚 ) = ( 𝑀 LMHom 𝑀 ) )
9 8 1 eqtr4di ( 𝑚 = 𝑀 → ( 𝑚 LMHom 𝑚 ) = 𝐵 )
10 9 csbeq1d ( 𝑚 = 𝑀 ( 𝑚 LMHom 𝑚 ) / 𝑏 ( { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } ) = 𝐵 / 𝑏 ( { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } ) )
11 ovex ( 𝑚 LMHom 𝑚 ) ∈ V
12 9 11 eqeltrrdi ( 𝑚 = 𝑀𝐵 ∈ V )
13 simpr ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → 𝑏 = 𝐵 )
14 13 opeq2d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ = ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ )
15 fveq2 ( 𝑚 = 𝑀 → ( +g𝑚 ) = ( +g𝑀 ) )
16 15 ofeqd ( 𝑚 = 𝑀 → ∘f ( +g𝑚 ) = ∘f ( +g𝑀 ) )
17 16 oveqdr ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥f ( +g𝑚 ) 𝑦 ) = ( 𝑥f ( +g𝑀 ) 𝑦 ) )
18 13 13 17 mpoeq123dv ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑥f ( +g𝑀 ) 𝑦 ) ) )
19 18 2 eqtr4di ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) = + )
20 19 opeq2d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ = ⟨ ( +g ‘ ndx ) , + ⟩ )
21 eqidd ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥𝑦 ) = ( 𝑥𝑦 ) )
22 13 13 21 mpoeq123dv ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) = ( 𝑥𝐵 , 𝑦𝐵 ↦ ( 𝑥𝑦 ) ) )
23 22 3 eqtr4di ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) = × )
24 23 opeq2d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ = ⟨ ( .r ‘ ndx ) , × ⟩ )
25 14 20 24 tpeq123d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } = { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } )
26 fveq2 ( 𝑚 = 𝑀 → ( Scalar ‘ 𝑚 ) = ( Scalar ‘ 𝑀 ) )
27 26 adantr ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( Scalar ‘ 𝑚 ) = ( Scalar ‘ 𝑀 ) )
28 27 4 eqtr4di ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( Scalar ‘ 𝑚 ) = 𝑆 )
29 28 opeq2d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ = ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ )
30 28 fveq2d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( Base ‘ ( Scalar ‘ 𝑚 ) ) = ( Base ‘ 𝑆 ) )
31 fveq2 ( 𝑚 = 𝑀 → ( ·𝑠𝑚 ) = ( ·𝑠𝑀 ) )
32 31 adantr ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( ·𝑠𝑚 ) = ( ·𝑠𝑀 ) )
33 32 ofeqd ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ∘f ( ·𝑠𝑚 ) = ∘f ( ·𝑠𝑀 ) )
34 fveq2 ( 𝑚 = 𝑀 → ( Base ‘ 𝑚 ) = ( Base ‘ 𝑀 ) )
35 34 adantr ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( Base ‘ 𝑚 ) = ( Base ‘ 𝑀 ) )
36 35 xpeq1d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( ( Base ‘ 𝑚 ) × { 𝑥 } ) = ( ( Base ‘ 𝑀 ) × { 𝑥 } ) )
37 eqidd ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → 𝑦 = 𝑦 )
38 33 36 37 oveq123d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) = ( ( ( Base ‘ 𝑀 ) × { 𝑥 } ) ∘f ( ·𝑠𝑀 ) 𝑦 ) )
39 30 13 38 mpoeq123dv ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) = ( 𝑥 ∈ ( Base ‘ 𝑆 ) , 𝑦𝐵 ↦ ( ( ( Base ‘ 𝑀 ) × { 𝑥 } ) ∘f ( ·𝑠𝑀 ) 𝑦 ) ) )
40 39 5 eqtr4di ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) = · )
41 40 opeq2d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ = ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ )
42 29 41 preq12d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } = { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } )
43 25 42 uneq12d ( ( 𝑚 = 𝑀𝑏 = 𝐵 ) → ( { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } ) = ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) )
44 12 43 csbied ( 𝑚 = 𝑀 𝐵 / 𝑏 ( { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } ) = ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) )
45 10 44 eqtrd ( 𝑚 = 𝑀 ( 𝑚 LMHom 𝑚 ) / 𝑏 ( { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } ) = ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) )
46 df-mend MEndo = ( 𝑚 ∈ V ↦ ( 𝑚 LMHom 𝑚 ) / 𝑏 ( { ⟨ ( Base ‘ ndx ) , 𝑏 ⟩ , ⟨ ( +g ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥f ( +g𝑚 ) 𝑦 ) ) ⟩ , ⟨ ( .r ‘ ndx ) , ( 𝑥𝑏 , 𝑦𝑏 ↦ ( 𝑥𝑦 ) ) ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , ( Scalar ‘ 𝑚 ) ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑚 ) ) , 𝑦𝑏 ↦ ( ( ( Base ‘ 𝑚 ) × { 𝑥 } ) ∘f ( ·𝑠𝑚 ) 𝑦 ) ) ⟩ } ) )
47 tpex { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∈ V
48 prex { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ∈ V
49 47 48 unex ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) ∈ V
50 45 46 49 fvmpt ( 𝑀 ∈ V → ( MEndo ‘ 𝑀 ) = ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) )
51 6 50 syl ( 𝑀𝑋 → ( MEndo ‘ 𝑀 ) = ( { ⟨ ( Base ‘ ndx ) , 𝐵 ⟩ , ⟨ ( +g ‘ ndx ) , + ⟩ , ⟨ ( .r ‘ ndx ) , × ⟩ } ∪ { ⟨ ( Scalar ‘ ndx ) , 𝑆 ⟩ , ⟨ ( ·𝑠 ‘ ndx ) , · ⟩ } ) )