Users' Mathboxes Mathbox for Jeff Madsen < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  rngoisocnv Structured version   Visualization version   GIF version

Theorem rngoisocnv 36066
Description: The inverse of a ring isomorphism is a ring isomorphism. (Contributed by Jeff Madsen, 16-Jun-2011.)
Assertion
Ref Expression
rngoisocnv ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngIso 𝑆)) → 𝐹 ∈ (𝑆 RngIso 𝑅))

Proof of Theorem rngoisocnv
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 f1ocnv 6712 . . . . . . . 8 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
2 f1of 6700 . . . . . . . 8 (𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅) → 𝐹:ran (1st𝑆)⟶ran (1st𝑅))
31, 2syl 17 . . . . . . 7 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑆)⟶ran (1st𝑅))
43ad2antll 725 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)⟶ran (1st𝑅))
5 eqid 2738 . . . . . . . . . 10 (2nd𝑅) = (2nd𝑅)
6 eqid 2738 . . . . . . . . . 10 (GId‘(2nd𝑅)) = (GId‘(2nd𝑅))
7 eqid 2738 . . . . . . . . . 10 (2nd𝑆) = (2nd𝑆)
8 eqid 2738 . . . . . . . . . 10 (GId‘(2nd𝑆)) = (GId‘(2nd𝑆))
95, 6, 7, 8rngohom1 36053 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1093expa 1116 . . . . . . . 8 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1110adantrr 713 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
12 eqid 2738 . . . . . . . . . . 11 ran (1st𝑅) = ran (1st𝑅)
1312, 5, 6rngo1cl 36024 . . . . . . . . . 10 (𝑅 ∈ RingOps → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
14 f1ocnvfv 7131 . . . . . . . . . 10 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (GId‘(2nd𝑅)) ∈ ran (1st𝑅)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1513, 14sylan2 592 . . . . . . . . 9 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑅 ∈ RingOps) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1615ancoms 458 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1716ad2ant2rl 745 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1811, 17mpd 15 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)))
19 f1ocnvfv2 7130 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑥)) = 𝑥)
20 f1ocnvfv2 7130 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑦)) = 𝑦)
2119, 20anim12dan 618 . . . . . . . . . . . . 13 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦))
22 oveq12 7264 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2321, 22syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2423adantll 710 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2524adantll 710 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
26 f1ocnvdm 7137 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹𝑥) ∈ ran (1st𝑅))
27 f1ocnvdm 7137 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹𝑦) ∈ ran (1st𝑅))
2826, 27anim12dan 618 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)))
29 eqid 2738 . . . . . . . . . . . . . . . 16 (1st𝑅) = (1st𝑅)
30 eqid 2738 . . . . . . . . . . . . . . . 16 (1st𝑆) = (1st𝑆)
3129, 12, 30rngohomadd 36054 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3228, 31sylan2 592 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3332exp32 420 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
34333expa 1116 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
3534impr 454 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦)))))
3635imp 406 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
37 eqid 2738 . . . . . . . . . . . . . . . 16 ran (1st𝑆) = ran (1st𝑆)
3830, 37rngogcl 35997 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
39383expb 1118 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
40 f1ocnvfv2 7130 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4140ancoms 458 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4239, 41sylan 579 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4342an32s 648 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4443adantlll 714 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4544adantlrl 716 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4625, 36, 453eqtr4rd 2789 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
47 f1of1 6699 . . . . . . . . . . . 12 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
4847ad2antlr 723 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
49 f1ocnvdm 7137 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5049ancoms 458 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5139, 50sylan 579 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5251an32s 648 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5352adantlll 714 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5429, 12rngogcl 35997 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
55543expb 1118 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5628, 55sylan2 592 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5756anassrs 467 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5857adantllr 715 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
59 f1fveq 7116 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6048, 53, 58, 59syl12anc 833 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6160adantlrl 716 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6246, 61mpbid 231 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)))
63 oveq12 7264 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6421, 63syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6564adantll 710 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6665adantll 710 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6729, 12, 5, 7rngohommul 36055 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6828, 67sylan2 592 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6968exp32 420 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
70693expa 1116 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
7170impr 454 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦)))))
7271imp 406 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
7330, 7, 37rngocl 35986 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
74733expb 1118 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
75 f1ocnvfv2 7130 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7675ancoms 458 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7774, 76sylan 579 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7877an32s 648 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7978adantlll 714 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8079adantlrl 716 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8166, 72, 803eqtr4rd 2789 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
82 f1ocnvdm 7137 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8382ancoms 458 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8474, 83sylan 579 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8584an32s 648 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8685adantlll 714 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8729, 5, 12rngocl 35986 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
88873expb 1118 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
8928, 88sylan2 592 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9089anassrs 467 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9190adantllr 715 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
92 f1fveq 7116 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9348, 86, 91, 92syl12anc 833 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9493adantlrl 716 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9581, 94mpbid 231 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)))
9662, 95jca 511 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9796ralrimivva 3114 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9830, 7, 37, 8, 29, 5, 12, 6isrngohom 36050 . . . . . . . 8 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
9998ancoms 458 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
10099adantr 480 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
1014, 18, 97, 100mpbir3and 1340 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹 ∈ (𝑆 RngHom 𝑅))
1021ad2antll 725 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
103101, 102jca 511 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅)))
104103ex 412 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → ((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
10529, 12, 30, 37isrngoiso 36063 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) ↔ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))))
10630, 37, 29, 12isrngoiso 36063 . . . 4 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
107106ancoms 458 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
108104, 105, 1073imtr4d 293 . 2 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) → 𝐹 ∈ (𝑆 RngIso 𝑅)))
1091083impia 1115 1 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngIso 𝑆)) → 𝐹 ∈ (𝑆 RngIso 𝑅))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 395  w3a 1085   = wceq 1539  wcel 2108  wral 3063  ccnv 5579  ran crn 5581  wf 6414  1-1wf1 6415  1-1-ontowf1o 6417  cfv 6418  (class class class)co 7255  1st c1st 7802  2nd c2nd 7803  GIdcgi 28753  RingOpscrngo 35979   RngHom crnghom 36045   RngIso crngiso 36046
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1799  ax-4 1813  ax-5 1914  ax-6 1972  ax-7 2012  ax-8 2110  ax-9 2118  ax-10 2139  ax-11 2156  ax-12 2173  ax-ext 2709  ax-sep 5218  ax-nul 5225  ax-pow 5283  ax-pr 5347  ax-un 7566
This theorem depends on definitions:  df-bi 206  df-an 396  df-or 844  df-3an 1087  df-tru 1542  df-fal 1552  df-ex 1784  df-nf 1788  df-sb 2069  df-mo 2540  df-eu 2569  df-clab 2716  df-cleq 2730  df-clel 2817  df-nfc 2888  df-ne 2943  df-ral 3068  df-rex 3069  df-reu 3070  df-rmo 3071  df-rab 3072  df-v 3424  df-sbc 3712  df-csb 3829  df-dif 3886  df-un 3888  df-in 3890  df-ss 3900  df-nul 4254  df-if 4457  df-pw 4532  df-sn 4559  df-pr 4561  df-op 4565  df-uni 4837  df-iun 4923  df-br 5071  df-opab 5133  df-mpt 5154  df-id 5480  df-xp 5586  df-rel 5587  df-cnv 5588  df-co 5589  df-dm 5590  df-rn 5591  df-res 5592  df-ima 5593  df-iota 6376  df-fun 6420  df-fn 6421  df-f 6422  df-f1 6423  df-fo 6424  df-f1o 6425  df-fv 6426  df-riota 7212  df-ov 7258  df-oprab 7259  df-mpo 7260  df-1st 7804  df-2nd 7805  df-map 8575  df-grpo 28756  df-gid 28757  df-ablo 28808  df-ass 35928  df-exid 35930  df-mgmOLD 35934  df-sgrOLD 35946  df-mndo 35952  df-rngo 35980  df-rngohom 36048  df-rngoiso 36061
This theorem is referenced by:  riscer  36073
  Copyright terms: Public domain W3C validator