Metamath Proof Explorer


Theorem prdsmndd

Description: The product of a family of monoids is a monoid. (Contributed by Stefan O'Rear, 10-Jan-2015)

Ref Expression
Hypotheses prdsmndd.y 𝑌 = ( 𝑆 Xs 𝑅 )
prdsmndd.i ( 𝜑𝐼𝑊 )
prdsmndd.s ( 𝜑𝑆𝑉 )
prdsmndd.r ( 𝜑𝑅 : 𝐼 ⟶ Mnd )
Assertion prdsmndd ( 𝜑𝑌 ∈ Mnd )

Proof

Step Hyp Ref Expression
1 prdsmndd.y 𝑌 = ( 𝑆 Xs 𝑅 )
2 prdsmndd.i ( 𝜑𝐼𝑊 )
3 prdsmndd.s ( 𝜑𝑆𝑉 )
4 prdsmndd.r ( 𝜑𝑅 : 𝐼 ⟶ Mnd )
5 eqidd ( 𝜑 → ( Base ‘ 𝑌 ) = ( Base ‘ 𝑌 ) )
6 eqidd ( 𝜑 → ( +g𝑌 ) = ( +g𝑌 ) )
7 eqid ( Base ‘ 𝑌 ) = ( Base ‘ 𝑌 )
8 eqid ( +g𝑌 ) = ( +g𝑌 )
9 3 elexd ( 𝜑𝑆 ∈ V )
10 9 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑆 ∈ V )
11 2 elexd ( 𝜑𝐼 ∈ V )
12 11 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) ) → 𝐼 ∈ V )
13 4 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑅 : 𝐼 ⟶ Mnd )
14 simprl ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑎 ∈ ( Base ‘ 𝑌 ) )
15 simprr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑏 ∈ ( Base ‘ 𝑌 ) )
16 1 7 8 10 12 13 14 15 prdsplusgcl ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) ) → ( 𝑎 ( +g𝑌 ) 𝑏 ) ∈ ( Base ‘ 𝑌 ) )
17 16 3impb ( ( 𝜑𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ) → ( 𝑎 ( +g𝑌 ) 𝑏 ) ∈ ( Base ‘ 𝑌 ) )
18 4 ffvelrnda ( ( 𝜑𝑦𝐼 ) → ( 𝑅𝑦 ) ∈ Mnd )
19 18 adantlr ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( 𝑅𝑦 ) ∈ Mnd )
20 9 ad2antrr ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝑆 ∈ V )
21 11 ad2antrr ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝐼 ∈ V )
22 4 ffnd ( 𝜑𝑅 Fn 𝐼 )
23 22 ad2antrr ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝑅 Fn 𝐼 )
24 simplr1 ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝑎 ∈ ( Base ‘ 𝑌 ) )
25 simpr ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝑦𝐼 )
26 1 7 20 21 23 24 25 prdsbasprj ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( 𝑎𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
27 simplr2 ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝑏 ∈ ( Base ‘ 𝑌 ) )
28 1 7 20 21 23 27 25 prdsbasprj ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( 𝑏𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
29 simplr3 ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → 𝑐 ∈ ( Base ‘ 𝑌 ) )
30 1 7 20 21 23 29 25 prdsbasprj ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( 𝑐𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) )
31 eqid ( Base ‘ ( 𝑅𝑦 ) ) = ( Base ‘ ( 𝑅𝑦 ) )
32 eqid ( +g ‘ ( 𝑅𝑦 ) ) = ( +g ‘ ( 𝑅𝑦 ) )
33 31 32 mndass ( ( ( 𝑅𝑦 ) ∈ Mnd ∧ ( ( 𝑎𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ∧ ( 𝑏𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ∧ ( 𝑐𝑦 ) ∈ ( Base ‘ ( 𝑅𝑦 ) ) ) ) → ( ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑏𝑦 ) ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) = ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) ) )
34 19 26 28 30 33 syl13anc ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑏𝑦 ) ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) = ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) ) )
35 1 7 20 21 23 24 27 8 25 prdsplusgfval ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ‘ 𝑦 ) = ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑏𝑦 ) ) )
36 35 oveq1d ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ‘ 𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) = ( ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑏𝑦 ) ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) )
37 1 7 20 21 23 27 29 8 25 prdsplusgfval ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( ( 𝑏 ( +g𝑌 ) 𝑐 ) ‘ 𝑦 ) = ( ( 𝑏𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) )
38 37 oveq2d ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏 ( +g𝑌 ) 𝑐 ) ‘ 𝑦 ) ) = ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) ) )
39 34 36 38 3eqtr4d ( ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) ∧ 𝑦𝐼 ) → ( ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ‘ 𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) = ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏 ( +g𝑌 ) 𝑐 ) ‘ 𝑦 ) ) )
40 39 mpteq2dva ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → ( 𝑦𝐼 ↦ ( ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ‘ 𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) ) = ( 𝑦𝐼 ↦ ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏 ( +g𝑌 ) 𝑐 ) ‘ 𝑦 ) ) ) )
41 9 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑆 ∈ V )
42 11 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝐼 ∈ V )
43 22 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑅 Fn 𝐼 )
44 16 3adantr3 ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → ( 𝑎 ( +g𝑌 ) 𝑏 ) ∈ ( Base ‘ 𝑌 ) )
45 simpr3 ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑐 ∈ ( Base ‘ 𝑌 ) )
46 1 7 41 42 43 44 45 8 prdsplusgval ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ( +g𝑌 ) 𝑐 ) = ( 𝑦𝐼 ↦ ( ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ‘ 𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( 𝑐𝑦 ) ) ) )
47 simpr1 ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑎 ∈ ( Base ‘ 𝑌 ) )
48 4 adantr ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑅 : 𝐼 ⟶ Mnd )
49 simpr2 ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → 𝑏 ∈ ( Base ‘ 𝑌 ) )
50 1 7 8 41 42 48 49 45 prdsplusgcl ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → ( 𝑏 ( +g𝑌 ) 𝑐 ) ∈ ( Base ‘ 𝑌 ) )
51 1 7 41 42 43 47 50 8 prdsplusgval ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → ( 𝑎 ( +g𝑌 ) ( 𝑏 ( +g𝑌 ) 𝑐 ) ) = ( 𝑦𝐼 ↦ ( ( 𝑎𝑦 ) ( +g ‘ ( 𝑅𝑦 ) ) ( ( 𝑏 ( +g𝑌 ) 𝑐 ) ‘ 𝑦 ) ) ) )
52 40 46 51 3eqtr4d ( ( 𝜑 ∧ ( 𝑎 ∈ ( Base ‘ 𝑌 ) ∧ 𝑏 ∈ ( Base ‘ 𝑌 ) ∧ 𝑐 ∈ ( Base ‘ 𝑌 ) ) ) → ( ( 𝑎 ( +g𝑌 ) 𝑏 ) ( +g𝑌 ) 𝑐 ) = ( 𝑎 ( +g𝑌 ) ( 𝑏 ( +g𝑌 ) 𝑐 ) ) )
53 eqid ( 0g𝑅 ) = ( 0g𝑅 )
54 1 7 8 9 11 4 53 prdsidlem ( 𝜑 → ( ( 0g𝑅 ) ∈ ( Base ‘ 𝑌 ) ∧ ∀ 𝑎 ∈ ( Base ‘ 𝑌 ) ( ( ( 0g𝑅 ) ( +g𝑌 ) 𝑎 ) = 𝑎 ∧ ( 𝑎 ( +g𝑌 ) ( 0g𝑅 ) ) = 𝑎 ) ) )
55 54 simpld ( 𝜑 → ( 0g𝑅 ) ∈ ( Base ‘ 𝑌 ) )
56 54 simprd ( 𝜑 → ∀ 𝑎 ∈ ( Base ‘ 𝑌 ) ( ( ( 0g𝑅 ) ( +g𝑌 ) 𝑎 ) = 𝑎 ∧ ( 𝑎 ( +g𝑌 ) ( 0g𝑅 ) ) = 𝑎 ) )
57 56 r19.21bi ( ( 𝜑𝑎 ∈ ( Base ‘ 𝑌 ) ) → ( ( ( 0g𝑅 ) ( +g𝑌 ) 𝑎 ) = 𝑎 ∧ ( 𝑎 ( +g𝑌 ) ( 0g𝑅 ) ) = 𝑎 ) )
58 57 simpld ( ( 𝜑𝑎 ∈ ( Base ‘ 𝑌 ) ) → ( ( 0g𝑅 ) ( +g𝑌 ) 𝑎 ) = 𝑎 )
59 57 simprd ( ( 𝜑𝑎 ∈ ( Base ‘ 𝑌 ) ) → ( 𝑎 ( +g𝑌 ) ( 0g𝑅 ) ) = 𝑎 )
60 5 6 17 52 55 58 59 ismndd ( 𝜑𝑌 ∈ Mnd )