Metamath Proof Explorer


Theorem issubm

Description: Expand definition of a submonoid. (Contributed by Mario Carneiro, 7-Mar-2015)

Ref Expression
Hypotheses issubm.b ⊢ 𝐵 = ( Base ‘ 𝑀 )
issubm.z ⊢ 0 = ( 0g ‘ 𝑀 )
issubm.p ⊢ + = ( +g ‘ 𝑀 )
Assertion issubm ( 𝑀 ∈ Mnd → ( 𝑆 ∈ ( SubMnd ‘ 𝑀 ) ↔ ( 𝑆 ⊆ 𝐵 ∧ 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) ) )

Proof

Step Hyp Ref Expression
1 issubm.b ⊢ 𝐵 = ( Base ‘ 𝑀 )
2 issubm.z ⊢ 0 = ( 0g ‘ 𝑀 )
3 issubm.p ⊢ + = ( +g ‘ 𝑀 )
4 fveq2 ⊢ ( 𝑚 = 𝑀 → ( Base ‘ 𝑚 ) = ( Base ‘ 𝑀 ) )
5 4 pweqd ⊢ ( 𝑚 = 𝑀 → 𝒫 ( Base ‘ 𝑚 ) = 𝒫 ( Base ‘ 𝑀 ) )
6 fveq2 ⊢ ( 𝑚 = 𝑀 → ( 0g ‘ 𝑚 ) = ( 0g ‘ 𝑀 ) )
7 6 eleq1d ⊢ ( 𝑚 = 𝑀 → ( ( 0g ‘ 𝑚 ) ∈ 𝑡 ↔ ( 0g ‘ 𝑀 ) ∈ 𝑡 ) )
8 fveq2 ⊢ ( 𝑚 = 𝑀 → ( +g ‘ 𝑚 ) = ( +g ‘ 𝑀 ) )
9 8 oveqd ⊢ ( 𝑚 = 𝑀 → ( 𝑥 ( +g ‘ 𝑚 ) 𝑦 ) = ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) )
10 9 eleq1d ⊢ ( 𝑚 = 𝑀 → ( ( 𝑥 ( +g ‘ 𝑚 ) 𝑦 ) ∈ 𝑡 ↔ ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) )
11 10 2ralbidv ⊢ ( 𝑚 = 𝑀 → ( ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑚 ) 𝑦 ) ∈ 𝑡 ↔ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) )
12 7 11 anbi12d ⊢ ( 𝑚 = 𝑀 → ( ( ( 0g ‘ 𝑚 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑚 ) 𝑦 ) ∈ 𝑡 ) ↔ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) ) )
13 5 12 rabeqbidv ⊢ ( 𝑚 = 𝑀 → { 𝑡 ∈ 𝒫 ( Base ‘ 𝑚 ) ∣ ( ( 0g ‘ 𝑚 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑚 ) 𝑦 ) ∈ 𝑡 ) } = { 𝑡 ∈ 𝒫 ( Base ‘ 𝑀 ) ∣ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) } )
14 df-submnd ⊢ SubMnd = ( 𝑚 ∈ Mnd ↦ { 𝑡 ∈ 𝒫 ( Base ‘ 𝑚 ) ∣ ( ( 0g ‘ 𝑚 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑚 ) 𝑦 ) ∈ 𝑡 ) } )
15 fvex ⊢ ( Base ‘ 𝑀 ) ∈ V
16 15 pwex ⊢ 𝒫 ( Base ‘ 𝑀 ) ∈ V
17 16 rabex ⊢ { 𝑡 ∈ 𝒫 ( Base ‘ 𝑀 ) ∣ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) } ∈ V
18 13 14 17 fvmpt ⊢ ( 𝑀 ∈ Mnd → ( SubMnd ‘ 𝑀 ) = { 𝑡 ∈ 𝒫 ( Base ‘ 𝑀 ) ∣ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) } )
19 18 eleq2d ⊢ ( 𝑀 ∈ Mnd → ( 𝑆 ∈ ( SubMnd ‘ 𝑀 ) ↔ 𝑆 ∈ { 𝑡 ∈ 𝒫 ( Base ‘ 𝑀 ) ∣ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) } ) )
20 eleq2 ⊢ ( 𝑡 = 𝑆 → ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ↔ ( 0g ‘ 𝑀 ) ∈ 𝑆 ) )
21 eleq2 ⊢ ( 𝑡 = 𝑆 → ( ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ↔ ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) )
22 21 raleqbi1dv ⊢ ( 𝑡 = 𝑆 → ( ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ↔ ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) )
23 22 raleqbi1dv ⊢ ( 𝑡 = 𝑆 → ( ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ↔ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) )
24 20 23 anbi12d ⊢ ( 𝑡 = 𝑆 → ( ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) ↔ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) ) )
25 24 elrab ⊢ ( 𝑆 ∈ { 𝑡 ∈ 𝒫 ( Base ‘ 𝑀 ) ∣ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) } ↔ ( 𝑆 ∈ 𝒫 ( Base ‘ 𝑀 ) ∧ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) ) )
26 1 sseq2i ⊢ ( 𝑆 ⊆ 𝐵 ↔ 𝑆 ⊆ ( Base ‘ 𝑀 ) )
27 2 eleq1i ⊢ ( 0 ∈ 𝑆 ↔ ( 0g ‘ 𝑀 ) ∈ 𝑆 )
28 3 oveqi ⊢ ( 𝑥 + 𝑦 ) = ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 )
29 28 eleq1i ⊢ ( ( 𝑥 + 𝑦 ) ∈ 𝑆 ↔ ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 )
30 29 2ralbii ⊢ ( ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ↔ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 )
31 27 30 anbi12i ⊢ ( ( 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) ↔ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) )
32 26 31 anbi12i ⊢ ( ( 𝑆 ⊆ 𝐵 ∧ ( 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) ) ↔ ( 𝑆 ⊆ ( Base ‘ 𝑀 ) ∧ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) ) )
33 3anass ⊢ ( ( 𝑆 ⊆ 𝐵 ∧ 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) ↔ ( 𝑆 ⊆ 𝐵 ∧ ( 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) ) )
34 15 elpw2 ⊢ ( 𝑆 ∈ 𝒫 ( Base ‘ 𝑀 ) ↔ 𝑆 ⊆ ( Base ‘ 𝑀 ) )
35 34 anbi1i ⊢ ( ( 𝑆 ∈ 𝒫 ( Base ‘ 𝑀 ) ∧ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) ) ↔ ( 𝑆 ⊆ ( Base ‘ 𝑀 ) ∧ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) ) )
36 32 33 35 3bitr4ri ⊢ ( ( 𝑆 ∈ 𝒫 ( Base ‘ 𝑀 ) ∧ ( ( 0g ‘ 𝑀 ) ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑆 ) ) ↔ ( 𝑆 ⊆ 𝐵 ∧ 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) )
37 25 36 bitri ⊢ ( 𝑆 ∈ { 𝑡 ∈ 𝒫 ( Base ‘ 𝑀 ) ∣ ( ( 0g ‘ 𝑀 ) ∈ 𝑡 ∧ ∀ 𝑥 ∈ 𝑡 ∀ 𝑦 ∈ 𝑡 ( 𝑥 ( +g ‘ 𝑀 ) 𝑦 ) ∈ 𝑡 ) } ↔ ( 𝑆 ⊆ 𝐵 ∧ 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) )
38 19 37 bitrdi ⊢ ( 𝑀 ∈ Mnd → ( 𝑆 ∈ ( SubMnd ‘ 𝑀 ) ↔ ( 𝑆 ⊆ 𝐵 ∧ 0 ∈ 𝑆 ∧ ∀ 𝑥 ∈ 𝑆 ∀ 𝑦 ∈ 𝑆 ( 𝑥 + 𝑦 ) ∈ 𝑆 ) ) )