HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
Unicode version

Theorem isgrp2i 9360
Description: An alternate way to show a group operation. Exercise 1 of [Herstein] p. 57.
Hypotheses
Ref Expression
isgrp2i.1 |- X e. _V
isgrp2i.2 |- X =/= (/)
isgrp2i.3 |- G:(X X. X)-->X
isgrp2i.4 |- ((x e. X /\ y e. X /\ z e. X) -> ((xGy)Gz) = (xG(yGz)))
isgrp2i.5 |- ((x e. X /\ y e. X) -> E.z e. X (zGx) = y)
isgrp2i.6 |- ((x e. X /\ y e. X) -> E.z e. X (xGz) = y)
Assertion
Ref Expression
isgrp2i |- G e. Grp
Distinct variable groups:   x,y,z,G   x,X,y,z

Proof of Theorem isgrp2i
StepHypRef Expression
1 isgrp2i.3 . . . 4 |- G:(X X. X)-->X
2 isgrp2i.1 . . . . 5 |- X e. _V
32, 2xpex 4096 . . . 4 |- (X X. X) e. _V
4 fex 4595 . . . 4 |- ((G:(X X. X)-->X /\ (X X. X) e. _V) -> G e. _V)
51, 3, 4mp2an 761 . . 3 |- G e. _V
6 fooprv 4967 . . . . . . 7 |- (G:(X X. X)-onto->X <-> (G:(X X. X)-->X /\ A.y e. X E.x e. X E.z e. X y = (xGz)))
7 r19.2z 2958 . . . . . . . . 9 |- ((X =/= (/) /\ A.x e. X E.z e. X y = (xGz)) -> E.x e. X E.z e. X y = (xGz))
8 isgrp2i.2 . . . . . . . . 9 |- X =/= (/)
9 isgrp2i.6 . . . . . . . . . . . 12 |- ((x e. X /\ y e. X) -> E.z e. X (xGz) = y)
109ancoms 484 . . . . . . . . . . 11 |- ((y e. X /\ x e. X) -> E.z e. X (xGz) = y)
11 eqcom 1886 . . . . . . . . . . . 12 |- ((xGz) = y <-> y = (xGz))
1211rexbii 2128 . . . . . . . . . . 11 |- (E.z e. X (xGz) = y <-> E.z e. X y = (xGz))
1310, 12sylib 215 . . . . . . . . . 10 |- ((y e. X /\ x e. X) -> E.z e. X y = (xGz))
1413r19.21aiva 2176 . . . . . . . . 9 |- (y e. X -> A.x e. X E.z e. X y = (xGz))
157, 8, 14sylancr 526 . . . . . . . 8 |- (y e. X -> E.x e. X E.z e. X y = (xGz))
1615rgen 2159 . . . . . . 7 |- A.y e. X E.x e. X E.z e. X y = (xGz)
176, 1, 16mpbir2an 800 . . . . . 6 |- G:(X X. X)-onto->X
18 forn 4620 . . . . . 6 |- (G:(X X. X)-onto->X -> ran G = X)
1917, 18ax-mp 7 . . . . 5 |- ran G = X
2019eqcomi 1888 . . . 4 |- X = ran G
2120isgrp 9321 . . 3 |- (G e. _V -> (G e. Grp <-> (G:(X X. X)-->X /\ A.x e. X A.y e. X A.z e. X ((xGy)Gz) = (xG(yGz)) /\ E.u e. X A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u))))
225, 21ax-mp 7 . 2 |- (G e. Grp <-> (G:(X X. X)-->X /\ A.x e. X A.y e. X A.z e. X ((xGy)Gz) = (xG(yGz)) /\ E.u e. X A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u)))
23 isgrp2i.4 . . 3 |- ((x e. X /\ y e. X /\ z e. X) -> ((xGy)Gz) = (xG(yGz)))
2423rgen3 2187 . 2 |- A.x e. X A.y e. X A.z e. X ((xGy)Gz) = (xG(yGz))
25 n0 2884 . . . 4 |- (X =/= (/) <-> E.w w e. X)
268, 25mpbi 206 . . 3 |- E.w w e. X
27 eleq1 1957 . . . . . . . . . 10 |- (x = w -> (x e. X <-> w e. X))
2827anbi1d 679 . . . . . . . . 9 |- (x = w -> ((x e. X /\ w e. X) <-> (w e. X /\ w e. X)))
29 opreq2 4890 . . . . . . . . . . 11 |- (x = w -> (zGx) = (zGw))
3029eqeq1d 1892 . . . . . . . . . 10 |- (x = w -> ((zGx) = w <-> (zGw) = w))
3130rexbidv 2124 . . . . . . . . 9 |- (x = w -> (E.z e. X (zGx) = w <-> E.z e. X (zGw) = w))
3228, 31imbi12d 688 . . . . . . . 8 |- (x = w -> (((x e. X /\ w e. X) -> E.z e. X (zGx) = w) <-> ((w e. X /\ w e. X) -> E.z e. X (zGw) = w)))
33 eleq1 1957 . . . . . . . . . . 11 |- (y = w -> (y e. X <-> w e. X))
3433anbi2d 678 . . . . . . . . . 10 |- (y = w -> ((x e. X /\ y e. X) <-> (x e. X /\ w e. X)))
35 eqeq2 1893 . . . . . . . . . . 11 |- (y = w -> ((zGx) = y <-> (zGx) = w))
3635rexbidv 2124 . . . . . . . . . 10 |- (y = w -> (E.z e. X (zGx) = y <-> E.z e. X (zGx) = w))
3734, 36imbi12d 688 . . . . . . . . 9 |- (y = w -> (((x e. X /\ y e. X) -> E.z e. X (zGx) = y) <-> ((x e. X /\ w e. X) -> E.z e. X (zGx) = w)))
38 isgrp2i.5 . . . . . . . . 9 |- ((x e. X /\ y e. X) -> E.z e. X (zGx) = y)
3937, 38chvarv 1712 . . . . . . . 8 |- ((x e. X /\ w e. X) -> E.z e. X (zGx) = w)
4032, 39chvarv 1712 . . . . . . 7 |- ((w e. X /\ w e. X) -> E.z e. X (zGw) = w)
4140anidms 480 . . . . . 6 |- (w e. X -> E.z e. X (zGw) = w)
42 opreq1 4889 . . . . . . . 8 |- (z = u -> (zGw) = (uGw))
4342eqeq1d 1892 . . . . . . 7 |- (z = u -> ((zGw) = w <-> (uGw) = w))
4443cbvrexv 2281 . . . . . 6 |- (E.z e. X (zGw) = w <-> E.u e. X (uGw) = w)
4541, 44sylib 215 . . . . 5 |- (w e. X -> E.u e. X (uGw) = w)
46 opreq1 4889 . . . . . . . . . . . . . . . . 17 |- (x = w -> (xGz) = (wGz))
4746eqeq1d 1892 . . . . . . . . . . . . . . . 16 |- (x = w -> ((xGz) = y <-> (wGz) = y))
4847rexbidv 2124 . . . . . . . . . . . . . . 15 |- (x = w -> (E.z e. X (xGz) = y <-> E.z e. X (wGz) = y))
49 eqeq2 1893 . . . . . . . . . . . . . . . 16 |- (y = x -> ((wGz) = y <-> (wGz) = x))
5049rexbidv 2124 . . . . . . . . . . . . . . 15 |- (y = x -> (E.z e. X (wGz) = y <-> E.z e. X (wGz) = x))
5148, 50, 9vtocl2ga 2353 . . . . . . . . . . . . . 14 |- ((w e. X /\ x e. X) -> E.z e. X (wGz) = x)
52 opreq2 4890 . . . . . . . . . . . . . . . 16 |- (z = v -> (wGz) = (wGv))
5352eqeq1d 1892 . . . . . . . . . . . . . . 15 |- (z = v -> ((wGz) = x <-> (wGv) = x))
5453cbvrexv 2281 . . . . . . . . . . . . . 14 |- (E.z e. X (wGz) = x <-> E.v e. X (wGv) = x)
5551, 54sylib 215 . . . . . . . . . . . . 13 |- ((w e. X /\ x e. X) -> E.v e. X (wGv) = x)
5655adantlr 429 . . . . . . . . . . . 12 |- (((w e. X /\ u e. X) /\ x e. X) -> E.v e. X (wGv) = x)
5756adantr 425 . . . . . . . . . . 11 |- ((((w e. X /\ u e. X) /\ x e. X) /\ (uGw) = w) -> E.v e. X (wGv) = x)
58 eleq1 1957 . . . . . . . . . . . . . . . . . . . . . . 23 |- (x = u -> (x e. X <-> u e. X))
59583anbi1d 1172 . . . . . . . . . . . . . . . . . . . . . 22 |- (x = u -> ((x e. X /\ w e. X /\ v e. X) <-> (u e. X /\ w e. X /\ v e. X)))
60 opreq1 4889 . . . . . . . . . . . . . . . . . . . . . . . 24 |- (x = u -> (xGw) = (uGw))
6160opreq1d 4897 . . . . . . . . . . . . . . . . . . . . . . 23 |- (x = u -> ((xGw)Gv) = ((uGw)Gv))
62 opreq1 4889 . . . . . . . . . . . . . . . . . . . . . . 23 |- (x = u -> (xG(wGv)) = (uG(wGv)))
6361, 62eqeq12d 1899 . . . . . . . . . . . . . . . . . . . . . 22 |- (x = u -> (((xGw)Gv) = (xG(wGv)) <-> ((uGw)Gv) = (uG(wGv))))
6459, 63imbi12d 688 . . . . . . . . . . . . . . . . . . . . 21 |- (x = u -> (((x e. X /\ w e. X /\ v e. X) -> ((xGw)Gv) = (xG(wGv))) <-> ((u e. X /\ w e. X /\ v e. X) -> ((uGw)Gv) = (uG(wGv)))))
65333anbi2d 1173 . . . . . . . . . . . . . . . . . . . . . . 23 |- (y = w -> ((x e. X /\ y e. X /\ v e. X) <-> (x e. X /\ w e. X /\ v e. X)))
66 opreq2 4890 . . . . . . . . . . . . . . . . . . . . . . . . 25 |- (y = w -> (xGy) = (xGw))
6766opreq1d 4897 . . . . . . . . . . . . . . . . . . . . . . . 24 |- (y = w -> ((xGy)Gv) = ((xGw)Gv))
68 opreq1 4889 . . . . . . . . . . . . . . . . . . . . . . . . 25 |- (y = w -> (yGv) = (wGv))
6968opreq2d 4898 . . . . . . . . . . . . . . . . . . . . . . . 24 |- (y = w -> (xG(yGv)) = (xG(wGv)))
7067, 69eqeq12d 1899 . . . . . . . . . . . . . . . . . . . . . . 23 |- (y = w -> (((xGy)Gv) = (xG(yGv)) <-> ((xGw)Gv) = (xG(wGv))))
7165, 70imbi12d 688 . . . . . . . . . . . . . . . . . . . . . 22 |- (y = w -> (((x e. X /\ y e. X /\ v e. X) -> ((xGy)Gv) = (xG(yGv))) <-> ((x e. X /\ w e. X /\ v e. X) -> ((xGw)Gv) = (xG(wGv)))))
72 eleq1 1957 . . . . . . . . . . . . . . . . . . . . . . . . 25 |- (z = v -> (z e. X <-> v e. X))
73723anbi3d 1174 . . . . . . . . . . . . . . . . . . . . . . . 24 |- (z = v -> ((x e. X /\ y e. X /\ z e. X) <-> (x e. X /\ y e. X /\ v e. X)))
74 opreq2 4890 . . . . . . . . . . . . . . . . . . . . . . . . 25 |- (z = v -> ((xGy)Gz) = ((xGy)Gv))
75 opreq2 4890 . . . . . . . . . . . . . . . . . . . . . . . . . 26 |- (z = v -> (yGz) = (yGv))
7675opreq2d 4898 . . . . . . . . . . . . . . . . . . . . . . . . 25 |- (z = v -> (xG(yGz)) = (xG(yGv)))
7774, 76eqeq12d 1899 . . . . . . . . . . . . . . . . . . . . . . . 24 |- (z = v -> (((xGy)Gz) = (xG(yGz)) <-> ((xGy)Gv) = (xG(yGv))))
7873, 77imbi12d 688 . . . . . . . . . . . . . . . . . . . . . . 23 |- (z = v -> (((x e. X /\ y e. X /\ z e. X) -> ((xGy)Gz) = (xG(yGz))) <-> ((x e. X /\ y e. X /\ v e. X) -> ((xGy)Gv) = (xG(yGv)))))
7978, 23chvarv 1712 . . . . . . . . . . . . . . . . . . . . . 22 |- ((x e. X /\ y e. X /\ v e. X) -> ((xGy)Gv) = (xG(yGv)))
8071, 79chvarv 1712 . . . . . . . . . . . . . . . . . . . . 21 |- ((x e. X /\ w e. X /\ v e. X) -> ((xGw)Gv) = (xG(wGv)))
8164, 80chvarv 1712 . . . . . . . . . . . . . . . . . . . 20 |- ((u e. X /\ w e. X /\ v e. X) -> ((uGw)Gv) = (uG(wGv)))
82813com12 1071 . . . . . . . . . . . . . . . . . . 19 |- ((w e. X /\ u e. X /\ v e. X) -> ((uGw)Gv) = (uG(wGv)))
83823expa 1067 . . . . . . . . . . . . . . . . . 18 |- (((w e. X /\ u e. X) /\ v e. X) -> ((uGw)Gv) = (uG(wGv)))
8483adantlr 429 . . . . . . . . . . . . . . . . 17 |- ((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) -> ((uGw)Gv) = (uG(wGv)))
85 opreq1 4889 . . . . . . . . . . . . . . . . . 18 |- ((uGw) = w -> ((uGw)Gv) = (wGv))
8685ad2antlr 441 . . . . . . . . . . . . . . . . 17 |- ((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) -> ((uGw)Gv) = (wGv))
8784, 86eqtr3d 1927 . . . . . . . . . . . . . . . 16 |- ((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) -> (uG(wGv)) = (wGv))
8887adantr 425 . . . . . . . . . . . . . . 15 |- (((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) /\ (wGv) = x) -> (uG(wGv)) = (wGv))
89 opreq2 4890 . . . . . . . . . . . . . . . 16 |- ((wGv) = x -> (uG(wGv)) = (uGx))
9089adantl 424 . . . . . . . . . . . . . . 15 |- (((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) /\ (wGv) = x) -> (uG(wGv)) = (uGx))
91 simpr 350 . . . . . . . . . . . . . . 15 |- (((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) /\ (wGv) = x) -> (wGv) = x)
9288, 90, 913eqtr3d 1934 . . . . . . . . . . . . . 14 |- (((((w e. X /\ u e. X) /\ (uGw) = w) /\ v e. X) /\ (wGv) = x) -> (uGx) = x)
9392exp31 407 . . . . . . . . . . . . 13 |- (((w e. X /\ u e. X) /\ (uGw) = w) -> (v e. X -> ((wGv) = x -> (uGx) = x)))
9493r19.23adv 2215 . . . . . . . . . . . 12 |- (((w e. X /\ u e. X) /\ (uGw) = w) -> (E.v e. X (wGv) = x -> (uGx) = x))
9594adantlr 429 . . . . . . . . . . 11 |- ((((w e. X /\ u e. X) /\ x e. X) /\ (uGw) = w) -> (E.v e. X (wGv) = x -> (uGx) = x))
9657, 95mpd 29 . . . . . . . . . 10 |- ((((w e. X /\ u e. X) /\ x e. X) /\ (uGw) = w) -> (uGx) = x)
97 eleq1 1957 . . . . . . . . . . . . . . . . 17 |- (y = u -> (y e. X <-> u e. X))
9897anbi2d 678 . . . . . . . . . . . . . . . 16 |- (y = u -> ((x e. X /\ y e. X) <-> (x e. X /\ u e. X)))
99 eqeq2 1893 . . . . . . . . . . . . . . . . 17 |- (y = u -> ((zGx) = y <-> (zGx) = u))
10099rexbidv 2124 . . . . . . . . . . . . . . . 16 |- (y = u -> (E.z e. X (zGx) = y <-> E.z e. X (zGx) = u))
10198, 100imbi12d 688 . . . . . . . . . . . . . . 15 |- (y = u -> (((x e. X /\ y e. X) -> E.z e. X (zGx) = y) <-> ((x e. X /\ u e. X) -> E.z e. X (zGx) = u)))
102101, 38chvarv 1712 . . . . . . . . . . . . . 14 |- ((x e. X /\ u e. X) -> E.z e. X (zGx) = u)
103 opreq1 4889 . . . . . . . . . . . . . . . 16 |- (z = y -> (zGx) = (yGx))
104103eqeq1d 1892 . . . . . . . . . . . . . . 15 |- (z = y -> ((zGx) = u <-> (yGx) = u))
105104cbvrexv 2281 . . . . . . . . . . . . . 14 |- (E.z e. X (zGx) = u <-> E.y e. X (yGx) = u)
106102, 105sylib 215 . . . . . . . . . . . . 13 |- ((x e. X /\ u e. X) -> E.y e. X (yGx) = u)
107106ancoms 484 . . . . . . . . . . . 12 |- ((u e. X /\ x e. X) -> E.y e. X (yGx) = u)
108107adantll 428 . . . . . . . . . . 11 |- (((w e. X /\ u e. X) /\ x e. X) -> E.y e. X (yGx) = u)
109108adantr 425 . . . . . . . . . 10 |- ((((w e. X /\ u e. X) /\ x e. X) /\ (uGw) = w) -> E.y e. X (yGx) = u)
11096, 109jca 310 . . . . . . . . 9 |- ((((w e. X /\ u e. X) /\ x e. X) /\ (uGw) = w) -> ((uGx) = x /\ E.y e. X (yGx) = u))
111110exp31 407 . . . . . . . 8 |- ((w e. X /\ u e. X) -> (x e. X -> ((uGw) = w -> ((uGx) = x /\ E.y e. X (yGx) = u))))
112111com23 36 . . . . . . 7 |- ((w e. X /\ u e. X) -> ((uGw) = w -> (x e. X -> ((uGx) = x /\ E.y e. X (yGx) = u))))
113112r19.21adv 2181 . . . . . 6 |- ((w e. X /\ u e. X) -> ((uGw) = w -> A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u)))
114113reximdva 2203 . . . . 5 |- (w e. X -> (E.u e. X (uGw) = w -> E.u e. X A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u)))
11545, 114mpd 29 . . . 4 |- (w e. X -> E.u e. X A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u))
11611519.23aiv 1674 . . 3 |- (E.w w e. X -> E.u e. X A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u))
11726, 116ax-mp 7 . 2 |- E.u e. X A.x e. X ((uGx) = x /\ E.y e. X (yGx) = u)
11822, 1, 24, 117mpbir3an 1052 1 |- G e. Grp
Colors of variables: wff set class
Syntax hints:   -> wi 3   <-> wb 163   /\ wa 240   /\ w3a 858   = wceq 1298   e. wcel 1300  E.wex 1326   =/= wne 2017  A.wral 2105  E.wrex 2106  _Vcvv 2292  (/)c0 2875   X. cxp 3984  ran crn 3987  -->wf 3994  -onto->wfo 3996  (class class class)co 4884  Grpcgr 9311
This theorem is referenced by:  ghgrpilem4 9444
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 1304  ax-gen 1305  ax-8 1306  ax-9 1307  ax-10 1308  ax-11 1309  ax-12 1310  ax-13 1311  ax-14 1312  ax-17 1317  ax-4 1319  ax-5o 1321  ax-6o 1324  ax-9o 1481  ax-10o 1500  ax-16 1580  ax-11o 1588  ax-ext 1865  ax-rep 3428  ax-sep 3438  ax-nul 3445  ax-pow 3481  ax-pr 3524  ax-un 3790
This theorem depends on definitions:  df-bi 164  df-or 241  df-an 242  df-3an 860  df-ex 1327  df-sb 1536  df-eu 1775  df-mo 1776  df-clab 1872  df-cleq 1877  df-clel 1880  df-ne 2019  df-ral 2109  df-rex 2110  df-v 2294  df-dif 2597  df-un 2600  df-in 2603  df-ss 2605  df-nul 2876  df-pw 3035  df-sn 3049  df-pr 3050  df-op 3053  df-uni 3178  df-br 3339  df-opab 3396  df-id 3586  df-xp 4000  df-rel 4001  df-cnv 4002  df-co 4003  df-dm 4004  df-rn 4005  df-res 4006  df-ima 4007  df-fun 4008  df-fn 4009  df-f 4010  df-fo 4012  df-fv 4014  df-opr 4886  df-grp 9316
Copyright terms: Public domain