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

Theorem isring 8137
Description: The predicate "is a (unital) ring." Definition of ring with unit in [Schechter] p. 187. (Contributed by Jeffrey Hankins, 21-Nov-2006.)
Hypothesis
Ref Expression
isring.1 |- X = ran G
Assertion
Ref Expression
isring |- (H e. A -> (<.G, H>. e. Ring <-> ((G e. Abel /\ H:(X X. X)-->X) /\ (A.x e. X A.y e. X A.z e. X (((xHy)Hz) = (xH(yHz)) /\ (xH(yGz)) = ((xHy)G(xHz)) /\ ((xGy)Hz) = ((xHz)G(yHz))) /\ E.x e. X A.y e. X ((yHx) = y /\ (xHy) = y)))))
Distinct variable groups:   x,y,z,G   x,H,y,z   x,X,y,z

Proof of Theorem isring
StepHypRef Expression
1 df-br 2625 . . . . 5 |- (GRingH <-> <.G, H>. e. Ring)
2 relopab 3272 . . . . . . 7 |- Rel {<.g, h>. | ((g e. Abel /\ h:(ran g X. ran g)-->ran g) /\ (A.x e. ran gA.y e. ran gA.z e. ran g(((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) /\ E.x e. ran gA.y e. ran g((yhx) = y /\ (xhy) = y)))}
3 df-ring 8136 . . . . . . . 8 |- Ring = {<.g, h>. | ((g e. Abel /\ h:(ran g X. ran g)-->ran g) /\ (A.x e. ran gA.y e. ran gA.z e. ran g(((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) /\ E.x e. ran gA.y e. ran g((yhx) = y /\ (xhy) = y)))}
43releqi 3250 . . . . . . 7 |- (Rel Ring <-> Rel {<.g, h>. | ((g e. Abel /\ h:(ran g X. ran g)-->ran g) /\ (A.x e. ran gA.y e. ran gA.z e. ran g(((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) /\ E.x e. ran gA.y e. ran g((yhx) = y /\ (xhy) = y)))})
52, 4mpbir 190 . . . . . 6 |- Rel Ring
65brrelexi 3214 . . . . 5 |- (GRingH -> G e. V)
71, 6sylbir 201 . . . 4 |- (<.G, H>. e. Ring -> G e. V)
87anim1i 334 . . 3 |- ((<.G, H>. e. Ring /\ H e. A) -> (G e. V /\ H e. A))
98ancoms 438 . 2 |- ((H e. A /\ <.G, H>. e. Ring) -> (G e. V /\ H e. A))
10 elisset 1820 . . . . . 6 |- (G e. Abel -> G e. V)
1110anim1i 334 . . . . 5 |- ((G e. Abel /\ H e. A) -> (G e. V /\ H e. A))
1211ancoms 438 . . . 4 |- ((H e. A /\ G e. Abel) -> (G e. V /\ H e. A))
1312adantrr 397 . . 3 |- ((H e. A /\ (G e. Abel /\ H:(X X. X)-->X)) -> (G e. V /\ H e. A))
1413adantrr 397 . 2 |- ((H e. A /\ ((G e. Abel /\ H:(X X. X)-->X) /\ (A.x e. X A.y e. X A.z e. X (((xHy)Hz) = (xH(yHz)) /\ (xH(yGz)) = ((xHy)G(xHz)) /\ ((xGy)Hz) = ((xHz)G(yHz))) /\ E.x e. X A.y e. X ((yHx) = y /\ (xHy) = y)))) -> (G e. V /\ H e. A))
15 eleq1 1537 . . . . . 6 |- (g = G -> (g e. Abel <-> G e. Abel))
16 rneq 3345 . . . . . . . 8 |- (g = G -> ran g = ran G)
17 isring.1 . . . . . . . 8 |- X = ran G
1816, 17syl6eqr 1528 . . . . . . 7 |- (g = G -> ran g = X)
19 xpeq1 3206 . . . . . . . . . 10 |- (ran g = X -> (ran g X. ran g) = (X X. ran g))
20 xpeq2 3207 . . . . . . . . . 10 |- (ran g = X -> (X X. ran g) = (X X. X))
2119, 20eqtrd 1510 . . . . . . . . 9 |- (ran g = X -> (ran g X. ran g) = (X X. X))
22 feq2 3627 . . . . . . . . 9 |- ((ran g X. ran g) = (X X. X) -> (h:(ran g X. ran g)-->ran g <-> h:(X X. X)-->ran g))
2321, 22syl 10 . . . . . . . 8 |- (ran g = X -> (h:(ran g X. ran g)-->ran g <-> h:(X X. X)-->ran g))
24 feq3 3628 . . . . . . . 8 |- (ran g = X -> (h:(X X. X)-->ran g <-> h:(X X. X)-->X))
2523, 24bitrd 530 . . . . . . 7 |- (ran g = X -> (h:(ran g X. ran g)-->ran g <-> h:(X X. X)-->X))
2618, 25syl 10 . . . . . 6 |- (g = G -> (h:(ran g X. ran g)-->ran g <-> h:(X X. X)-->X))
2715, 26anbi12d 630 . . . . 5 |- (g = G -> ((g e. Abel /\ h:(ran g X. ran g)-->ran g) <-> (G e. Abel /\ h:(X X. X)-->X)))
28 opreq 3973 . . . . . . . . . . . 12 |- (g = G -> (ygz) = (yGz))
2928opreq2d 3982 . . . . . . . . . . 11 |- (g = G -> (xh(ygz)) = (xh(yGz)))
30 opreq 3973 . . . . . . . . . . 11 |- (g = G -> ((xhy)g(xhz)) = ((xhy)G(xhz)))
3129, 30eqeq12d 1492 . . . . . . . . . 10 |- (g = G -> ((xh(ygz)) = ((xhy)g(xhz)) <-> (xh(yGz)) = ((xhy)G(xhz))))
32 opreq 3973 . . . . . . . . . . . 12 |- (g = G -> (xgy) = (xGy))
3332opreq1d 3981 . . . . . . . . . . 11 |- (g = G -> ((xgy)hz) = ((xGy)hz))
34 opreq 3973 . . . . . . . . . . 11 |- (g = G -> ((xhz)g(yhz)) = ((xhz)G(yhz)))
3533, 34eqeq12d 1492 . . . . . . . . . 10 |- (g = G -> (((xgy)hz) = ((xhz)g(yhz)) <-> ((xGy)hz) = ((xhz)G(yhz))))
3631, 353anbi23d 898 . . . . . . . . 9 |- (g = G -> ((((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) <-> (((xhy)hz) = (xh(yhz)) /\ (xh(yGz)) = ((xhy)G(xhz)) /\ ((xGy)hz) = ((xhz)G(yhz)))))
3718, 36raleq12d 1797 . . . . . . . 8 |- (g = G -> (A.z e. ran g(((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) <-> A.z e. X (((xhy)hz) = (xh(yhz)) /\ (xh(yGz)) = ((xhy)G(xhz)) /\ ((xGy)hz) = ((xhz)G(yhz)))))
3818, 37raleq12d 1797 . . . . . . 7 |- (g = G -> (A.y e. ran gA.z e. ran g(((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) <-> A.y e. X A.z e. X (((xhy)hz) = (xh(yhz)) /\ (xh(yGz)) = ((xhy)G(xhz)) /\ ((xGy)hz) = ((xhz)G(yhz)))))
3918, 38raleq12d 1797 . . . . . 6 |- (g = G -> (A.x e. ran gA.y e. ran gA.z e. ran g(((xhy)hz) = (xh(yhz)) /\ (xh(ygz)) = ((xhy)g(xhz)) /\ ((xgy)hz) = ((xhz)g(yhz))) <-> A.x e. X A.y e. X A.z e. X (((xhy)hz) = (xh(yhz)) /\ (xh(yGz)) = ((xhy)G(xhz)) /\ ((xGy)hz) = (