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 32950
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 6062 . . . . . . . 8 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
2 f1of 6050 . . . . . . . 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 761 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)⟶ran (1st𝑅))
5 eqid 2610 . . . . . . . . . 10 (2nd𝑅) = (2nd𝑅)
6 eqid 2610 . . . . . . . . . 10 (GId‘(2nd𝑅)) = (GId‘(2nd𝑅))
7 eqid 2610 . . . . . . . . . 10 (2nd𝑆) = (2nd𝑆)
8 eqid 2610 . . . . . . . . . 10 (GId‘(2nd𝑆)) = (GId‘(2nd𝑆))
95, 6, 7, 8rngohom1 32937 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1093expa 1257 . . . . . . . 8 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1110adantrr 749 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
12 eqid 2610 . . . . . . . . . . 11 ran (1st𝑅) = ran (1st𝑅)
1312, 5, 6rngo1cl 32908 . . . . . . . . . 10 (𝑅 ∈ RingOps → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
14 f1ocnvfv 6434 . . . . . . . . . 10 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (GId‘(2nd𝑅)) ∈ ran (1st𝑅)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1513, 14sylan2 490 . . . . . . . . 9 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑅 ∈ RingOps) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1615ancoms 468 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1716ad2ant2rl 781 . . . . . . 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 6433 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑥)) = 𝑥)
20 f1ocnvfv2 6433 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑦)) = 𝑦)
2119, 20anim12da 32676 . . . . . . . . . . . . 13 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦))
22 oveq12 6558 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2321, 22syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2423adantll 746 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2524adantll 746 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
26 f1ocnvdm 6440 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹𝑥) ∈ ran (1st𝑅))
27 f1ocnvdm 6440 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹𝑦) ∈ ran (1st𝑅))
2826, 27anim12da 32676 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)))
29 eqid 2610 . . . . . . . . . . . . . . . 16 (1st𝑅) = (1st𝑅)
30 eqid 2610 . . . . . . . . . . . . . . . 16 (1st𝑆) = (1st𝑆)
3129, 12, 30rngohomadd 32938 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3228, 31sylan2 490 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3332exp32 629 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
34333expa 1257 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
3534impr 647 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦)))))
3635imp 444 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
37 eqid 2610 . . . . . . . . . . . . . . . 16 ran (1st𝑆) = ran (1st𝑆)
3830, 37rngogcl 32881 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
39383expb 1258 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
40 f1ocnvfv2 6433 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4140ancoms 468 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4239, 41sylan 487 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4342an32s 842 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4443adantlll 750 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4544adantlrl 752 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4625, 36, 453eqtr4rd 2655 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
47 f1of1 6049 . . . . . . . . . . . 12 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
4847ad2antlr 759 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
49 f1ocnvdm 6440 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5049ancoms 468 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5139, 50sylan 487 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5251an32s 842 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5352adantlll 750 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5429, 12rngogcl 32881 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
55543expb 1258 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5628, 55sylan2 490 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5756anassrs 678 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5857adantllr 751 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
59 f1fveq 6420 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6048, 53, 58, 59syl12anc 1316 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6160adantlrl 752 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6246, 61mpbid 221 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)))
63 oveq12 6558 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6421, 63syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6564adantll 746 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6665adantll 746 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6729, 12, 5, 7rngohommul 32939 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6828, 67sylan2 490 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6968exp32 629 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
70693expa 1257 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
7170impr 647 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦)))))
7271imp 444 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
7330, 7, 37rngocl 32870 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
74733expb 1258 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
75 f1ocnvfv2 6433 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7675ancoms 468 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7774, 76sylan 487 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7877an32s 842 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7978adantlll 750 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8079adantlrl 752 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8166, 72, 803eqtr4rd 2655 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
82 f1ocnvdm 6440 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8382ancoms 468 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8474, 83sylan 487 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8584an32s 842 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8685adantlll 750 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8729, 5, 12rngocl 32870 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
88873expb 1258 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
8928, 88sylan2 490 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9089anassrs 678 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9190adantllr 751 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
92 f1fveq 6420 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9348, 86, 91, 92syl12anc 1316 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9493adantlrl 752 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9581, 94mpbid 221 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)))
9662, 95jca 553 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9796ralrimivva 2954 . . . . . 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 32934 . . . . . . . 8 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
9998ancoms 468 . . . . . . 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 1238 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹 ∈ (𝑆 RngHom 𝑅))
1021ad2antll 761 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
103101, 102jca 553 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅)))
104103ex 449 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → ((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
10529, 12, 30, 37isrngoiso 32947 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) ↔ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))))
10630, 37, 29, 12isrngoiso 32947 . . . 4 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
107106ancoms 468 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
108104, 105, 1073imtr4d 282 . 2 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) → 𝐹 ∈ (𝑆 RngIso 𝑅)))
1091083impia 1253 1 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngIso 𝑆)) → 𝐹 ∈ (𝑆 RngIso 𝑅))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wcel 1977  wral 2896  ccnv 5037  ran crn 5039  wf 5800  1-1wf1 5801  1-1-ontowf1o 5803  cfv 5804  (class class class)co 6549  1st c1st 7057  2nd c2nd 7058  GIdcgi 26728  RingOpscrngo 32863   RngHom crnghom 32929   RngIso crngiso 32930
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-op 4132  df-uni 4373  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-id 4953  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-1st 7059  df-2nd 7060  df-map 7746  df-grpo 26731  df-gid 26732  df-ablo 26783  df-ass 32812  df-exid 32814  df-mgmOLD 32818  df-sgrOLD 32830  df-mndo 32836  df-rngo 32864  df-rngohom 32932  df-rngoiso 32945
This theorem is referenced by:  riscer  32957
  Copyright terms: Public domain W3C validator