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 34734
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 6454 . . . . . . . 8 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
2 f1of 6442 . . . . . . . 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 717 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)⟶ran (1st𝑅))
5 eqid 2773 . . . . . . . . . 10 (2nd𝑅) = (2nd𝑅)
6 eqid 2773 . . . . . . . . . 10 (GId‘(2nd𝑅)) = (GId‘(2nd𝑅))
7 eqid 2773 . . . . . . . . . 10 (2nd𝑆) = (2nd𝑆)
8 eqid 2773 . . . . . . . . . 10 (GId‘(2nd𝑆)) = (GId‘(2nd𝑆))
95, 6, 7, 8rngohom1 34721 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1093expa 1099 . . . . . . . 8 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1110adantrr 705 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
12 eqid 2773 . . . . . . . . . . 11 ran (1st𝑅) = ran (1st𝑅)
1312, 5, 6rngo1cl 34692 . . . . . . . . . 10 (𝑅 ∈ RingOps → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
14 f1ocnvfv 6859 . . . . . . . . . 10 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (GId‘(2nd𝑅)) ∈ ran (1st𝑅)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1513, 14sylan2 584 . . . . . . . . 9 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑅 ∈ RingOps) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1615ancoms 451 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1716ad2ant2rl 737 . . . . . . 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 6858 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑥)) = 𝑥)
20 f1ocnvfv2 6858 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑦)) = 𝑦)
2119, 20anim12da 34462 . . . . . . . . . . . . 13 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦))
22 oveq12 6984 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2321, 22syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2423adantll 702 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2524adantll 702 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
26 f1ocnvdm 6865 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹𝑥) ∈ ran (1st𝑅))
27 f1ocnvdm 6865 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹𝑦) ∈ ran (1st𝑅))
2826, 27anim12da 34462 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)))
29 eqid 2773 . . . . . . . . . . . . . . . 16 (1st𝑅) = (1st𝑅)
30 eqid 2773 . . . . . . . . . . . . . . . 16 (1st𝑆) = (1st𝑆)
3129, 12, 30rngohomadd 34722 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3228, 31sylan2 584 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3332exp32 413 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
34333expa 1099 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
3534impr 447 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦)))))
3635imp 398 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
37 eqid 2773 . . . . . . . . . . . . . . . 16 ran (1st𝑆) = ran (1st𝑆)
3830, 37rngogcl 34665 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
39383expb 1101 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
40 f1ocnvfv2 6858 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4140ancoms 451 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4239, 41sylan 572 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4342an32s 640 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4443adantlll 706 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4544adantlrl 708 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4625, 36, 453eqtr4rd 2820 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
47 f1of1 6441 . . . . . . . . . . . 12 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
4847ad2antlr 715 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
49 f1ocnvdm 6865 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5049ancoms 451 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5139, 50sylan 572 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5251an32s 640 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5352adantlll 706 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5429, 12rngogcl 34665 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
55543expb 1101 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5628, 55sylan2 584 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5756anassrs 460 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5857adantllr 707 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
59 f1fveq 6844 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6048, 53, 58, 59syl12anc 825 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6160adantlrl 708 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6246, 61mpbid 224 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)))
63 oveq12 6984 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6421, 63syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6564adantll 702 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6665adantll 702 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6729, 12, 5, 7rngohommul 34723 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6828, 67sylan2 584 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6968exp32 413 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
70693expa 1099 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
7170impr 447 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦)))))
7271imp 398 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
7330, 7, 37rngocl 34654 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
74733expb 1101 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
75 f1ocnvfv2 6858 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7675ancoms 451 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7774, 76sylan 572 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7877an32s 640 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7978adantlll 706 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8079adantlrl 708 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8166, 72, 803eqtr4rd 2820 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
82 f1ocnvdm 6865 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8382ancoms 451 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8474, 83sylan 572 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8584an32s 640 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8685adantlll 706 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8729, 5, 12rngocl 34654 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
88873expb 1101 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
8928, 88sylan2 584 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9089anassrs 460 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9190adantllr 707 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
92 f1fveq 6844 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9348, 86, 91, 92syl12anc 825 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9493adantlrl 708 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9581, 94mpbid 224 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)))
9662, 95jca 504 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9796ralrimivva 3136 . . . . . 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 34718 . . . . . . . 8 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
9998ancoms 451 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
10099adantr 473 . . . . . 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 1323 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹 ∈ (𝑆 RngHom 𝑅))
1021ad2antll 717 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
103101, 102jca 504 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅)))
104103ex 405 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → ((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
10529, 12, 30, 37isrngoiso 34731 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) ↔ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))))
10630, 37, 29, 12isrngoiso 34731 . . . 4 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
107106ancoms 451 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
108104, 105, 1073imtr4d 286 . 2 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) → 𝐹 ∈ (𝑆 RngIso 𝑅)))
1091083impia 1098 1 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngIso 𝑆)) → 𝐹 ∈ (𝑆 RngIso 𝑅))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 198  wa 387  w3a 1069   = wceq 1508  wcel 2051  wral 3083  ccnv 5403  ran crn 5405  wf 6182  1-1wf1 6183  1-1-ontowf1o 6185  cfv 6186  (class class class)co 6975  1st c1st 7498  2nd c2nd 7499  GIdcgi 28060  RingOpscrngo 34647   RngHom crnghom 34713   RngIso crngiso 34714
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1759  ax-4 1773  ax-5 1870  ax-6 1929  ax-7 1966  ax-8 2053  ax-9 2060  ax-10 2080  ax-11 2094  ax-12 2107  ax-13 2302  ax-ext 2745  ax-sep 5057  ax-nul 5064  ax-pow 5116  ax-pr 5183  ax-un 7278
This theorem depends on definitions:  df-bi 199  df-an 388  df-or 835  df-3an 1071  df-tru 1511  df-ex 1744  df-nf 1748  df-sb 2017  df-mo 2548  df-eu 2585  df-clab 2754  df-cleq 2766  df-clel 2841  df-nfc 2913  df-ne 2963  df-ral 3088  df-rex 3089  df-reu 3090  df-rmo 3091  df-rab 3092  df-v 3412  df-sbc 3677  df-csb 3782  df-dif 3827  df-un 3829  df-in 3831  df-ss 3838  df-nul 4174  df-if 4346  df-pw 4419  df-sn 4437  df-pr 4439  df-op 4443  df-uni 4710  df-iun 4791  df-br 4927  df-opab 4989  df-mpt 5006  df-id 5309  df-xp 5410  df-rel 5411  df-cnv 5412  df-co 5413  df-dm 5414  df-rn 5415  df-res 5416  df-ima 5417  df-iota 6150  df-fun 6188  df-fn 6189  df-f 6190  df-f1 6191  df-fo 6192  df-f1o 6193  df-fv 6194  df-riota 6936  df-ov 6978  df-oprab 6979  df-mpo 6980  df-1st 7500  df-2nd 7501  df-map 8207  df-grpo 28063  df-gid 28064  df-ablo 28115  df-ass 34596  df-exid 34598  df-mgmOLD 34602  df-sgrOLD 34614  df-mndo 34620  df-rngo 34648  df-rngohom 34716  df-rngoiso 34729
This theorem is referenced by:  riscer  34741
  Copyright terms: Public domain W3C validator