Metamath Proof Explorer


Theorem issubmd

Description: Deduction for proving a submonoid. (Contributed by Stefan O'Rear, 23-Aug-2015) (Revised by Stefan O'Rear, 5-Sep-2015)

Ref Expression
Hypotheses issubmd.b 𝐵 = ( Base ‘ 𝑀 )
issubmd.p + = ( +g𝑀 )
issubmd.z 0 = ( 0g𝑀 )
issubmd.m ( 𝜑𝑀 ∈ Mnd )
issubmd.cz ( 𝜑𝜒 )
issubmd.cp ( ( 𝜑 ∧ ( ( 𝑥𝐵𝑦𝐵 ) ∧ ( 𝜃𝜏 ) ) ) → 𝜂 )
issubmd.ch ( 𝑧 = 0 → ( 𝜓𝜒 ) )
issubmd.th ( 𝑧 = 𝑥 → ( 𝜓𝜃 ) )
issubmd.ta ( 𝑧 = 𝑦 → ( 𝜓𝜏 ) )
issubmd.et ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝜓𝜂 ) )
Assertion issubmd ( 𝜑 → { 𝑧𝐵𝜓 } ∈ ( SubMnd ‘ 𝑀 ) )

Proof

Step Hyp Ref Expression
1 issubmd.b 𝐵 = ( Base ‘ 𝑀 )
2 issubmd.p + = ( +g𝑀 )
3 issubmd.z 0 = ( 0g𝑀 )
4 issubmd.m ( 𝜑𝑀 ∈ Mnd )
5 issubmd.cz ( 𝜑𝜒 )
6 issubmd.cp ( ( 𝜑 ∧ ( ( 𝑥𝐵𝑦𝐵 ) ∧ ( 𝜃𝜏 ) ) ) → 𝜂 )
7 issubmd.ch ( 𝑧 = 0 → ( 𝜓𝜒 ) )
8 issubmd.th ( 𝑧 = 𝑥 → ( 𝜓𝜃 ) )
9 issubmd.ta ( 𝑧 = 𝑦 → ( 𝜓𝜏 ) )
10 issubmd.et ( 𝑧 = ( 𝑥 + 𝑦 ) → ( 𝜓𝜂 ) )
11 ssrab2 { 𝑧𝐵𝜓 } ⊆ 𝐵
12 11 a1i ( 𝜑 → { 𝑧𝐵𝜓 } ⊆ 𝐵 )
13 1 3 mndidcl ( 𝑀 ∈ Mnd → 0𝐵 )
14 4 13 syl ( 𝜑0𝐵 )
15 7 14 5 elrabd ( 𝜑0 ∈ { 𝑧𝐵𝜓 } )
16 8 elrab ( 𝑥 ∈ { 𝑧𝐵𝜓 } ↔ ( 𝑥𝐵𝜃 ) )
17 9 elrab ( 𝑦 ∈ { 𝑧𝐵𝜓 } ↔ ( 𝑦𝐵𝜏 ) )
18 16 17 anbi12i ( ( 𝑥 ∈ { 𝑧𝐵𝜓 } ∧ 𝑦 ∈ { 𝑧𝐵𝜓 } ) ↔ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) )
19 4 adantr ( ( 𝜑 ∧ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ) → 𝑀 ∈ Mnd )
20 simprll ( ( 𝜑 ∧ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ) → 𝑥𝐵 )
21 simprrl ( ( 𝜑 ∧ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ) → 𝑦𝐵 )
22 1 2 mndcl ( ( 𝑀 ∈ Mnd ∧ 𝑥𝐵𝑦𝐵 ) → ( 𝑥 + 𝑦 ) ∈ 𝐵 )
23 19 20 21 22 syl3anc ( ( 𝜑 ∧ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ) → ( 𝑥 + 𝑦 ) ∈ 𝐵 )
24 an4 ( ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ↔ ( ( 𝑥𝐵𝑦𝐵 ) ∧ ( 𝜃𝜏 ) ) )
25 24 6 sylan2b ( ( 𝜑 ∧ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ) → 𝜂 )
26 10 23 25 elrabd ( ( 𝜑 ∧ ( ( 𝑥𝐵𝜃 ) ∧ ( 𝑦𝐵𝜏 ) ) ) → ( 𝑥 + 𝑦 ) ∈ { 𝑧𝐵𝜓 } )
27 18 26 sylan2b ( ( 𝜑 ∧ ( 𝑥 ∈ { 𝑧𝐵𝜓 } ∧ 𝑦 ∈ { 𝑧𝐵𝜓 } ) ) → ( 𝑥 + 𝑦 ) ∈ { 𝑧𝐵𝜓 } )
28 27 ralrimivva ( 𝜑 → ∀ 𝑥 ∈ { 𝑧𝐵𝜓 } ∀ 𝑦 ∈ { 𝑧𝐵𝜓 } ( 𝑥 + 𝑦 ) ∈ { 𝑧𝐵𝜓 } )
29 1 3 2 issubm ( 𝑀 ∈ Mnd → ( { 𝑧𝐵𝜓 } ∈ ( SubMnd ‘ 𝑀 ) ↔ ( { 𝑧𝐵𝜓 } ⊆ 𝐵0 ∈ { 𝑧𝐵𝜓 } ∧ ∀ 𝑥 ∈ { 𝑧𝐵𝜓 } ∀ 𝑦 ∈ { 𝑧𝐵𝜓 } ( 𝑥 + 𝑦 ) ∈ { 𝑧𝐵𝜓 } ) ) )
30 4 29 syl ( 𝜑 → ( { 𝑧𝐵𝜓 } ∈ ( SubMnd ‘ 𝑀 ) ↔ ( { 𝑧𝐵𝜓 } ⊆ 𝐵0 ∈ { 𝑧𝐵𝜓 } ∧ ∀ 𝑥 ∈ { 𝑧𝐵𝜓 } ∀ 𝑦 ∈ { 𝑧𝐵𝜓 } ( 𝑥 + 𝑦 ) ∈ { 𝑧𝐵𝜓 } ) ) )
31 12 15 28 30 mpbir3and ( 𝜑 → { 𝑧𝐵𝜓 } ∈ ( SubMnd ‘ 𝑀 ) )