Metamath Proof Explorer


Theorem mgm2nsgrplem2

Description: Lemma 2 for mgm2nsgrp . (Contributed by AV, 27-Jan-2020)

Ref Expression
Hypotheses mgm2nsgrp.s ⊢ S = A B
mgm2nsgrp.b ⊢ Base M = S
mgm2nsgrp.o ⊢ + M = x ∈ S , y ∈ S ⟼ if x = A ∧ y = A B A
mgm2nsgrp.p No typesetting found for |- .o. = ( +g ` M ) with typecode |-
Assertion mgm2nsgrplem2 Could not format assertion : No typesetting found for |- ( ( A e. V /\ B e. W ) -> ( ( A .o. A ) .o. B ) = A ) with typecode |-

Proof

Step Hyp Ref Expression
1 mgm2nsgrp.s ⊢ S = A B
2 mgm2nsgrp.b ⊢ Base M = S
3 mgm2nsgrp.o ⊢ + M = x ∈ S , y ∈ S ⟼ if x = A ∧ y = A B A
4 mgm2nsgrp.p Could not format .o. = ( +g ` M ) : No typesetting found for |- .o. = ( +g ` M ) with typecode |-
5 prid1g ⊢ A ∈ V → A ∈ A B
6 5 1 eleqtrrdi ⊢ A ∈ V → A ∈ S
7 prid2g ⊢ B ∈ W → B ∈ A B
8 7 1 eleqtrrdi ⊢ B ∈ W → B ∈ S
9 4 3 eqtri Could not format .o. = ( x e. S , y e. S |-> if ( ( x = A /\ y = A ) , B , A ) ) : No typesetting found for |- .o. = ( x e. S , y e. S |-> if ( ( x = A /\ y = A ) , B , A ) ) with typecode |-
10 9 a1i Could not format ( ( A e. S /\ B e. S ) -> .o. = ( x e. S , y e. S |-> if ( ( x = A /\ y = A ) , B , A ) ) ) : No typesetting found for |- ( ( A e. S /\ B e. S ) -> .o. = ( x e. S , y e. S |-> if ( ( x = A /\ y = A ) , B , A ) ) ) with typecode |-
11 ifeq1 ⊢ B = A → if x = A ∧ y = A B A = if x = A ∧ y = A A A
12 ifid ⊢ if x = A ∧ y = A A A = A
13 11 12 eqtrdi ⊢ B = A → if x = A ∧ y = A B A = A
14 13 a1d ⊢ B = A → y = B → if x = A ∧ y = A B A = A
15 eqeq1 ⊢ y = B → y = A ↔ B = A
16 15 bicomd ⊢ y = B → B = A ↔ y = A
17 16 notbid ⊢ y = B → ¬ B = A ↔ ¬ y = A
18 17 biimpac ⊢ ¬ B = A ∧ y = B → ¬ y = A
19 18 intnand ⊢ ¬ B = A ∧ y = B → ¬ x = A ∧ y = A
20 19 iffalsed ⊢ ¬ B = A ∧ y = B → if x = A ∧ y = A B A = A
21 20 ex ⊢ ¬ B = A → y = B → if x = A ∧ y = A B A = A
22 14 21 pm2.61i ⊢ y = B → if x = A ∧ y = A B A = A
23 22 ad2antll Could not format ( ( ( A e. S /\ B e. S ) /\ ( x = ( A .o. A ) /\ y = B ) ) -> if ( ( x = A /\ y = A ) , B , A ) = A ) : No typesetting found for |- ( ( ( A e. S /\ B e. S ) /\ ( x = ( A .o. A ) /\ y = B ) ) -> if ( ( x = A /\ y = A ) , B , A ) = A ) with typecode |-
24 iftrue ⊢ x = A ∧ y = A → if x = A ∧ y = A B A = B
25 24 adantl ⊢ A ∈ S ∧ B ∈ S ∧ x = A ∧ y = A → if x = A ∧ y = A B A = B
26 simpl ⊢ A ∈ S ∧ B ∈ S → A ∈ S
27 simpr ⊢ A ∈ S ∧ B ∈ S → B ∈ S
28 10 25 26 26 27 ovmpod Could not format ( ( A e. S /\ B e. S ) -> ( A .o. A ) = B ) : No typesetting found for |- ( ( A e. S /\ B e. S ) -> ( A .o. A ) = B ) with typecode |-
29 28 27 eqeltrd Could not format ( ( A e. S /\ B e. S ) -> ( A .o. A ) e. S ) : No typesetting found for |- ( ( A e. S /\ B e. S ) -> ( A .o. A ) e. S ) with typecode |-
30 10 23 29 27 26 ovmpod Could not format ( ( A e. S /\ B e. S ) -> ( ( A .o. A ) .o. B ) = A ) : No typesetting found for |- ( ( A e. S /\ B e. S ) -> ( ( A .o. A ) .o. B ) = A ) with typecode |-
31 6 8 30 syl2an Could not format ( ( A e. V /\ B e. W ) -> ( ( A .o. A ) .o. B ) = A ) : No typesetting found for |- ( ( A e. V /\ B e. W ) -> ( ( A .o. A ) .o. B ) = A ) with typecode |-