Metamath Proof Explorer


Theorem rngoisocnv

Description: The inverse of a ring isomorphism is a ring isomorphism. (Contributed by Jeff Madsen, 16-Jun-2011)

Ref Expression
Assertion rngoisocnv RRingOpsSRingOpsFRRngIsoSF-1SRngIsoR

Proof

Step Hyp Ref Expression
1 f1ocnv F:ran1stR1-1 ontoran1stSF-1:ran1stS1-1 ontoran1stR
2 f1of F-1:ran1stS1-1 ontoran1stRF-1:ran1stSran1stR
3 1 2 syl F:ran1stR1-1 ontoran1stSF-1:ran1stSran1stR
4 3 ad2antll RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1:ran1stSran1stR
5 eqid 2ndR=2ndR
6 eqid GId2ndR=GId2ndR
7 eqid 2ndS=2ndS
8 eqid GId2ndS=GId2ndS
9 5 6 7 8 rngohom1 RRingOpsSRingOpsFRRngHomSFGId2ndR=GId2ndS
10 9 3expa RRingOpsSRingOpsFRRngHomSFGId2ndR=GId2ndS
11 10 adantrr RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSFGId2ndR=GId2ndS
12 eqid ran1stR=ran1stR
13 12 5 6 rngo1cl RRingOpsGId2ndRran1stR
14 f1ocnvfv F:ran1stR1-1 ontoran1stSGId2ndRran1stRFGId2ndR=GId2ndSF-1GId2ndS=GId2ndR
15 13 14 sylan2 F:ran1stR1-1 ontoran1stSRRingOpsFGId2ndR=GId2ndSF-1GId2ndS=GId2ndR
16 15 ancoms RRingOpsF:ran1stR1-1 ontoran1stSFGId2ndR=GId2ndSF-1GId2ndS=GId2ndR
17 16 ad2ant2rl RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSFGId2ndR=GId2ndSF-1GId2ndS=GId2ndR
18 11 17 mpd RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1GId2ndS=GId2ndR
19 f1ocnvfv2 F:ran1stR1-1 ontoran1stSxran1stSFF-1x=x
20 f1ocnvfv2 F:ran1stR1-1 ontoran1stSyran1stSFF-1y=y
21 19 20 anim12dan F:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x=xFF-1y=y
22 oveq12 FF-1x=xFF-1y=yFF-1x1stSFF-1y=x1stSy
23 21 22 syl F:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSFF-1y=x1stSy
24 23 adantll FRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSFF-1y=x1stSy
25 24 adantll RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSFF-1y=x1stSy
26 f1ocnvdm F:ran1stR1-1 ontoran1stSxran1stSF-1xran1stR
27 f1ocnvdm F:ran1stR1-1 ontoran1stSyran1stSF-1yran1stR
28 26 27 anim12dan F:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1xran1stRF-1yran1stR
29 eqid 1stR=1stR
30 eqid 1stS=1stS
31 29 12 30 rngohomadd RRingOpsSRingOpsFRRngHomSF-1xran1stRF-1yran1stRFF-1x1stRF-1y=FF-1x1stSFF-1y
32 28 31 sylan2 RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stRF-1y=FF-1x1stSFF-1y
33 32 exp32 RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stRF-1y=FF-1x1stSFF-1y
34 33 3expa RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stRF-1y=FF-1x1stSFF-1y
35 34 impr RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stRF-1y=FF-1x1stSFF-1y
36 35 imp RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stRF-1y=FF-1x1stSFF-1y
37 eqid ran1stS=ran1stS
38 30 37 rngogcl SRingOpsxran1stSyran1stSx1stSyran1stS
39 38 3expb SRingOpsxran1stSyran1stSx1stSyran1stS
40 f1ocnvfv2 F:ran1stR1-1 ontoran1stSx1stSyran1stSFF-1x1stSy=x1stSy
41 40 ancoms x1stSyran1stSF:ran1stR1-1 ontoran1stSFF-1x1stSy=x1stSy
42 39 41 sylan SRingOpsxran1stSyran1stSF:ran1stR1-1 ontoran1stSFF-1x1stSy=x1stSy
43 42 an32s SRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSy=x1stSy
44 43 adantlll RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSy=x1stSy
45 44 adantlrl RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSy=x1stSy
46 25 36 45 3eqtr4rd RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSy=FF-1x1stRF-1y
47 f1of1 F:ran1stR1-1 ontoran1stSF:ran1stR1-1ran1stS
48 47 ad2antlr RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF:ran1stR1-1ran1stS
49 f1ocnvdm F:ran1stR1-1 ontoran1stSx1stSyran1stSF-1x1stSyran1stR
50 49 ancoms x1stSyran1stSF:ran1stR1-1 ontoran1stSF-1x1stSyran1stR
51 39 50 sylan SRingOpsxran1stSyran1stSF:ran1stR1-1 ontoran1stSF-1x1stSyran1stR
52 51 an32s SRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stSyran1stR
53 52 adantlll RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stSyran1stR
54 29 12 rngogcl RRingOpsF-1xran1stRF-1yran1stRF-1x1stRF-1yran1stR
55 54 3expb RRingOpsF-1xran1stRF-1yran1stRF-1x1stRF-1yran1stR
56 28 55 sylan2 RRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stRF-1yran1stR
57 56 anassrs RRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stRF-1yran1stR
58 57 adantllr RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stRF-1yran1stR
59 f1fveq F:ran1stR1-1ran1stSF-1x1stSyran1stRF-1x1stRF-1yran1stRFF-1x1stSy=FF-1x1stRF-1yF-1x1stSy=F-1x1stRF-1y
60 48 53 58 59 syl12anc RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSy=FF-1x1stRF-1yF-1x1stSy=F-1x1stRF-1y
61 60 adantlrl RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x1stSy=FF-1x1stRF-1yF-1x1stSy=F-1x1stRF-1y
62 46 61 mpbid RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stSy=F-1x1stRF-1y
63 oveq12 FF-1x=xFF-1y=yFF-1x2ndSFF-1y=x2ndSy
64 21 63 syl F:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSFF-1y=x2ndSy
65 64 adantll FRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSFF-1y=x2ndSy
66 65 adantll RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSFF-1y=x2ndSy
67 29 12 5 7 rngohommul RRingOpsSRingOpsFRRngHomSF-1xran1stRF-1yran1stRFF-1x2ndRF-1y=FF-1x2ndSFF-1y
68 28 67 sylan2 RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndRF-1y=FF-1x2ndSFF-1y
69 68 exp32 RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndRF-1y=FF-1x2ndSFF-1y
70 69 3expa RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndRF-1y=FF-1x2ndSFF-1y
71 70 impr RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndRF-1y=FF-1x2ndSFF-1y
72 71 imp RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndRF-1y=FF-1x2ndSFF-1y
73 30 7 37 rngocl SRingOpsxran1stSyran1stSx2ndSyran1stS
74 73 3expb SRingOpsxran1stSyran1stSx2ndSyran1stS
75 f1ocnvfv2 F:ran1stR1-1 ontoran1stSx2ndSyran1stSFF-1x2ndSy=x2ndSy
76 75 ancoms x2ndSyran1stSF:ran1stR1-1 ontoran1stSFF-1x2ndSy=x2ndSy
77 74 76 sylan SRingOpsxran1stSyran1stSF:ran1stR1-1 ontoran1stSFF-1x2ndSy=x2ndSy
78 77 an32s SRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSy=x2ndSy
79 78 adantlll RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSy=x2ndSy
80 79 adantlrl RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSy=x2ndSy
81 66 72 80 3eqtr4rd RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSy=FF-1x2ndRF-1y
82 f1ocnvdm F:ran1stR1-1 ontoran1stSx2ndSyran1stSF-1x2ndSyran1stR
83 82 ancoms x2ndSyran1stSF:ran1stR1-1 ontoran1stSF-1x2ndSyran1stR
84 74 83 sylan SRingOpsxran1stSyran1stSF:ran1stR1-1 ontoran1stSF-1x2ndSyran1stR
85 84 an32s SRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x2ndSyran1stR
86 85 adantlll RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x2ndSyran1stR
87 29 5 12 rngocl RRingOpsF-1xran1stRF-1yran1stRF-1x2ndRF-1yran1stR
88 87 3expb RRingOpsF-1xran1stRF-1yran1stRF-1x2ndRF-1yran1stR
89 28 88 sylan2 RRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x2ndRF-1yran1stR
90 89 anassrs RRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x2ndRF-1yran1stR
91 90 adantllr RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x2ndRF-1yran1stR
92 f1fveq F:ran1stR1-1ran1stSF-1x2ndSyran1stRF-1x2ndRF-1yran1stRFF-1x2ndSy=FF-1x2ndRF-1yF-1x2ndSy=F-1x2ndRF-1y
93 48 86 91 92 syl12anc RRingOpsSRingOpsF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSy=FF-1x2ndRF-1yF-1x2ndSy=F-1x2ndRF-1y
94 93 adantlrl RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSFF-1x2ndSy=FF-1x2ndRF-1yF-1x2ndSy=F-1x2ndRF-1y
95 81 94 mpbid RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x2ndSy=F-1x2ndRF-1y
96 62 95 jca RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stSy=F-1x1stRF-1yF-1x2ndSy=F-1x2ndRF-1y
97 96 ralrimivva RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSxran1stSyran1stSF-1x1stSy=F-1x1stRF-1yF-1x2ndSy=F-1x2ndRF-1y
98 30 7 37 8 29 5 12 6 isrngohom SRingOpsRRingOpsF-1SRngHomRF-1:ran1stSran1stRF-1GId2ndS=GId2ndRxran1stSyran1stSF-1x1stSy=F-1x1stRF-1yF-1x2ndSy=F-1x2ndRF-1y
99 98 ancoms RRingOpsSRingOpsF-1SRngHomRF-1:ran1stSran1stRF-1GId2ndS=GId2ndRxran1stSyran1stSF-1x1stSy=F-1x1stRF-1yF-1x2ndSy=F-1x2ndRF-1y
100 99 adantr RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1SRngHomRF-1:ran1stSran1stRF-1GId2ndS=GId2ndRxran1stSyran1stSF-1x1stSy=F-1x1stRF-1yF-1x2ndSy=F-1x2ndRF-1y
101 4 18 97 100 mpbir3and RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1SRngHomR
102 1 ad2antll RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1:ran1stS1-1 ontoran1stR
103 101 102 jca RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1SRngHomRF-1:ran1stS1-1 ontoran1stR
104 103 ex RRingOpsSRingOpsFRRngHomSF:ran1stR1-1 ontoran1stSF-1SRngHomRF-1:ran1stS1-1 ontoran1stR
105 29 12 30 37 isrngoiso RRingOpsSRingOpsFRRngIsoSFRRngHomSF:ran1stR1-1 ontoran1stS
106 30 37 29 12 isrngoiso SRingOpsRRingOpsF-1SRngIsoRF-1SRngHomRF-1:ran1stS1-1 ontoran1stR
107 106 ancoms RRingOpsSRingOpsF-1SRngIsoRF-1SRngHomRF-1:ran1stS1-1 ontoran1stR
108 104 105 107 3imtr4d RRingOpsSRingOpsFRRngIsoSF-1SRngIsoR
109 108 3impia RRingOpsSRingOpsFRRngIsoSF-1SRngIsoR