Metamath Proof Explorer


Theorem lmhmco

Description: The composition of two module-linear functions is module-linear. (Contributed by Stefan O'Rear, 4-Sep-2015)

Ref Expression
Assertion lmhmco ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → ( 𝐹𝐺 ) ∈ ( 𝑀 LMHom 𝑂 ) )

Proof

Step Hyp Ref Expression
1 eqid ( Base ‘ 𝑀 ) = ( Base ‘ 𝑀 )
2 eqid ( ·𝑠𝑀 ) = ( ·𝑠𝑀 )
3 eqid ( ·𝑠𝑂 ) = ( ·𝑠𝑂 )
4 eqid ( Scalar ‘ 𝑀 ) = ( Scalar ‘ 𝑀 )
5 eqid ( Scalar ‘ 𝑂 ) = ( Scalar ‘ 𝑂 )
6 eqid ( Base ‘ ( Scalar ‘ 𝑀 ) ) = ( Base ‘ ( Scalar ‘ 𝑀 ) )
7 lmhmlmod1 ( 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) → 𝑀 ∈ LMod )
8 7 adantl ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → 𝑀 ∈ LMod )
9 lmhmlmod2 ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) → 𝑂 ∈ LMod )
10 9 adantr ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → 𝑂 ∈ LMod )
11 eqid ( Scalar ‘ 𝑁 ) = ( Scalar ‘ 𝑁 )
12 11 5 lmhmsca ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) → ( Scalar ‘ 𝑂 ) = ( Scalar ‘ 𝑁 ) )
13 4 11 lmhmsca ( 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) → ( Scalar ‘ 𝑁 ) = ( Scalar ‘ 𝑀 ) )
14 12 13 sylan9eq ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → ( Scalar ‘ 𝑂 ) = ( Scalar ‘ 𝑀 ) )
15 lmghm ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) → 𝐹 ∈ ( 𝑁 GrpHom 𝑂 ) )
16 lmghm ( 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) → 𝐺 ∈ ( 𝑀 GrpHom 𝑁 ) )
17 ghmco ( ( 𝐹 ∈ ( 𝑁 GrpHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 GrpHom 𝑁 ) ) → ( 𝐹𝐺 ) ∈ ( 𝑀 GrpHom 𝑂 ) )
18 15 16 17 syl2an ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → ( 𝐹𝐺 ) ∈ ( 𝑀 GrpHom 𝑂 ) )
19 simplr ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) )
20 simprl ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) )
21 simprr ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → 𝑦 ∈ ( Base ‘ 𝑀 ) )
22 eqid ( ·𝑠𝑁 ) = ( ·𝑠𝑁 )
23 4 6 1 2 22 lmhmlin ( ( 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ∧ 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) → ( 𝐺 ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) = ( 𝑥 ( ·𝑠𝑁 ) ( 𝐺𝑦 ) ) )
24 19 20 21 23 syl3anc ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝐺 ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) = ( 𝑥 ( ·𝑠𝑁 ) ( 𝐺𝑦 ) ) )
25 24 fveq2d ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝐹 ‘ ( 𝐺 ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) ) = ( 𝐹 ‘ ( 𝑥 ( ·𝑠𝑁 ) ( 𝐺𝑦 ) ) ) )
26 simpll ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) )
27 13 fveq2d ( 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) → ( Base ‘ ( Scalar ‘ 𝑁 ) ) = ( Base ‘ ( Scalar ‘ 𝑀 ) ) )
28 27 ad2antlr ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( Base ‘ ( Scalar ‘ 𝑁 ) ) = ( Base ‘ ( Scalar ‘ 𝑀 ) ) )
29 20 28 eleqtrrd ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑁 ) ) )
30 eqid ( Base ‘ 𝑁 ) = ( Base ‘ 𝑁 )
31 1 30 lmhmf ( 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) → 𝐺 : ( Base ‘ 𝑀 ) ⟶ ( Base ‘ 𝑁 ) )
32 31 adantl ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → 𝐺 : ( Base ‘ 𝑀 ) ⟶ ( Base ‘ 𝑁 ) )
33 32 ffvelrnda ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) → ( 𝐺𝑦 ) ∈ ( Base ‘ 𝑁 ) )
34 33 adantrl ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝐺𝑦 ) ∈ ( Base ‘ 𝑁 ) )
35 eqid ( Base ‘ ( Scalar ‘ 𝑁 ) ) = ( Base ‘ ( Scalar ‘ 𝑁 ) )
36 11 35 30 22 3 lmhmlin ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑁 ) ) ∧ ( 𝐺𝑦 ) ∈ ( Base ‘ 𝑁 ) ) → ( 𝐹 ‘ ( 𝑥 ( ·𝑠𝑁 ) ( 𝐺𝑦 ) ) ) = ( 𝑥 ( ·𝑠𝑂 ) ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) )
37 26 29 34 36 syl3anc ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝐹 ‘ ( 𝑥 ( ·𝑠𝑁 ) ( 𝐺𝑦 ) ) ) = ( 𝑥 ( ·𝑠𝑂 ) ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) )
38 25 37 eqtrd ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝐹 ‘ ( 𝐺 ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) ) = ( 𝑥 ( ·𝑠𝑂 ) ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) )
39 32 ffnd ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → 𝐺 Fn ( Base ‘ 𝑀 ) )
40 7 ad2antlr ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → 𝑀 ∈ LMod )
41 1 4 2 6 lmodvscl ( ( 𝑀 ∈ LMod ∧ 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) → ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ∈ ( Base ‘ 𝑀 ) )
42 40 20 21 41 syl3anc ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ∈ ( Base ‘ 𝑀 ) )
43 fvco2 ( ( 𝐺 Fn ( Base ‘ 𝑀 ) ∧ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ∈ ( Base ‘ 𝑀 ) ) → ( ( 𝐹𝐺 ) ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) = ( 𝐹 ‘ ( 𝐺 ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) ) )
44 39 42 43 syl2an2r ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( ( 𝐹𝐺 ) ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) = ( 𝐹 ‘ ( 𝐺 ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) ) )
45 fvco2 ( ( 𝐺 Fn ( Base ‘ 𝑀 ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) → ( ( 𝐹𝐺 ) ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝐺𝑦 ) ) )
46 39 21 45 syl2an2r ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( ( 𝐹𝐺 ) ‘ 𝑦 ) = ( 𝐹 ‘ ( 𝐺𝑦 ) ) )
47 46 oveq2d ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( 𝑥 ( ·𝑠𝑂 ) ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) = ( 𝑥 ( ·𝑠𝑂 ) ( 𝐹 ‘ ( 𝐺𝑦 ) ) ) )
48 38 44 47 3eqtr4d ( ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) ∧ ( 𝑥 ∈ ( Base ‘ ( Scalar ‘ 𝑀 ) ) ∧ 𝑦 ∈ ( Base ‘ 𝑀 ) ) ) → ( ( 𝐹𝐺 ) ‘ ( 𝑥 ( ·𝑠𝑀 ) 𝑦 ) ) = ( 𝑥 ( ·𝑠𝑂 ) ( ( 𝐹𝐺 ) ‘ 𝑦 ) ) )
49 1 2 3 4 5 6 8 10 14 18 48 islmhmd ( ( 𝐹 ∈ ( 𝑁 LMHom 𝑂 ) ∧ 𝐺 ∈ ( 𝑀 LMHom 𝑁 ) ) → ( 𝐹𝐺 ) ∈ ( 𝑀 LMHom 𝑂 ) )