Metamath Proof Explorer


Theorem issgrpd

Description: Deduce a semigroup from its properties. (Contributed by AV, 13-Feb-2025)

Ref Expression
Hypotheses issgrpd.b ( 𝜑𝐵 = ( Base ‘ 𝐺 ) )
issgrpd.p ( 𝜑+ = ( +g𝐺 ) )
issgrpd.c ( ( 𝜑𝑥𝐵𝑦𝐵 ) → ( 𝑥 + 𝑦 ) ∈ 𝐵 )
issgrpd.a ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 + 𝑦 ) + 𝑧 ) = ( 𝑥 + ( 𝑦 + 𝑧 ) ) )
issgrpd.v ( 𝜑𝐺𝑉 )
Assertion issgrpd ( 𝜑𝐺 ∈ Smgrp )

Proof

Step Hyp Ref Expression
1 issgrpd.b ( 𝜑𝐵 = ( Base ‘ 𝐺 ) )
2 issgrpd.p ( 𝜑+ = ( +g𝐺 ) )
3 issgrpd.c ( ( 𝜑𝑥𝐵𝑦𝐵 ) → ( 𝑥 + 𝑦 ) ∈ 𝐵 )
4 issgrpd.a ( ( 𝜑 ∧ ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ) → ( ( 𝑥 + 𝑦 ) + 𝑧 ) = ( 𝑥 + ( 𝑦 + 𝑧 ) ) )
5 issgrpd.v ( 𝜑𝐺𝑉 )
6 3 3expib ( 𝜑 → ( ( 𝑥𝐵𝑦𝐵 ) → ( 𝑥 + 𝑦 ) ∈ 𝐵 ) )
7 1 eleq2d ( 𝜑 → ( 𝑥𝐵𝑥 ∈ ( Base ‘ 𝐺 ) ) )
8 1 eleq2d ( 𝜑 → ( 𝑦𝐵𝑦 ∈ ( Base ‘ 𝐺 ) ) )
9 7 8 anbi12d ( 𝜑 → ( ( 𝑥𝐵𝑦𝐵 ) ↔ ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ) )
10 2 oveqd ( 𝜑 → ( 𝑥 + 𝑦 ) = ( 𝑥 ( +g𝐺 ) 𝑦 ) )
11 10 1 eleq12d ( 𝜑 → ( ( 𝑥 + 𝑦 ) ∈ 𝐵 ↔ ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) ) )
12 6 9 11 3imtr3d ( 𝜑 → ( ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) → ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) ) )
13 12 imp ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ) → ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) )
14 df-3an ( ( 𝑥𝐵𝑦𝐵𝑧𝐵 ) ↔ ( ( 𝑥𝐵𝑦𝐵 ) ∧ 𝑧𝐵 ) )
15 14 4 sylan2br ( ( 𝜑 ∧ ( ( 𝑥𝐵𝑦𝐵 ) ∧ 𝑧𝐵 ) ) → ( ( 𝑥 + 𝑦 ) + 𝑧 ) = ( 𝑥 + ( 𝑦 + 𝑧 ) ) )
16 15 ex ( 𝜑 → ( ( ( 𝑥𝐵𝑦𝐵 ) ∧ 𝑧𝐵 ) → ( ( 𝑥 + 𝑦 ) + 𝑧 ) = ( 𝑥 + ( 𝑦 + 𝑧 ) ) ) )
17 1 eleq2d ( 𝜑 → ( 𝑧𝐵𝑧 ∈ ( Base ‘ 𝐺 ) ) )
18 9 17 anbi12d ( 𝜑 → ( ( ( 𝑥𝐵𝑦𝐵 ) ∧ 𝑧𝐵 ) ↔ ( ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐺 ) ) ) )
19 eqidd ( 𝜑𝑧 = 𝑧 )
20 2 10 19 oveq123d ( 𝜑 → ( ( 𝑥 + 𝑦 ) + 𝑧 ) = ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) )
21 eqidd ( 𝜑𝑥 = 𝑥 )
22 2 oveqd ( 𝜑 → ( 𝑦 + 𝑧 ) = ( 𝑦 ( +g𝐺 ) 𝑧 ) )
23 2 21 22 oveq123d ( 𝜑 → ( 𝑥 + ( 𝑦 + 𝑧 ) ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) )
24 20 23 eqeq12d ( 𝜑 → ( ( ( 𝑥 + 𝑦 ) + 𝑧 ) = ( 𝑥 + ( 𝑦 + 𝑧 ) ) ↔ ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ) )
25 16 18 24 3imtr3d ( 𝜑 → ( ( ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐺 ) ) → ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ) )
26 25 impl ( ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ) ∧ 𝑧 ∈ ( Base ‘ 𝐺 ) ) → ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) )
27 26 ralrimiva ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ) → ∀ 𝑧 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) )
28 13 27 jca ( ( 𝜑 ∧ ( 𝑥 ∈ ( Base ‘ 𝐺 ) ∧ 𝑦 ∈ ( Base ‘ 𝐺 ) ) ) → ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ) )
29 28 ralrimivva ( 𝜑 → ∀ 𝑥 ∈ ( Base ‘ 𝐺 ) ∀ 𝑦 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ) )
30 eqid ( Base ‘ 𝐺 ) = ( Base ‘ 𝐺 )
31 eqid ( +g𝐺 ) = ( +g𝐺 )
32 30 31 issgrpv ( 𝐺𝑉 → ( 𝐺 ∈ Smgrp ↔ ∀ 𝑥 ∈ ( Base ‘ 𝐺 ) ∀ 𝑦 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ) ) )
33 5 32 syl ( 𝜑 → ( 𝐺 ∈ Smgrp ↔ ∀ 𝑥 ∈ ( Base ‘ 𝐺 ) ∀ 𝑦 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ∈ ( Base ‘ 𝐺 ) ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐺 ) ( ( 𝑥 ( +g𝐺 ) 𝑦 ) ( +g𝐺 ) 𝑧 ) = ( 𝑥 ( +g𝐺 ) ( 𝑦 ( +g𝐺 ) 𝑧 ) ) ) ) )
34 29 33 mpbird ( 𝜑𝐺 ∈ Smgrp )