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 35876
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 6673 . . . . . . . 8 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
2 f1of 6661 . . . . . . . 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 729 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)⟶ran (1st𝑅))
5 eqid 2737 . . . . . . . . . 10 (2nd𝑅) = (2nd𝑅)
6 eqid 2737 . . . . . . . . . 10 (GId‘(2nd𝑅)) = (GId‘(2nd𝑅))
7 eqid 2737 . . . . . . . . . 10 (2nd𝑆) = (2nd𝑆)
8 eqid 2737 . . . . . . . . . 10 (GId‘(2nd𝑆)) = (GId‘(2nd𝑆))
95, 6, 7, 8rngohom1 35863 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1093expa 1120 . . . . . . . 8 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1110adantrr 717 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
12 eqid 2737 . . . . . . . . . . 11 ran (1st𝑅) = ran (1st𝑅)
1312, 5, 6rngo1cl 35834 . . . . . . . . . 10 (𝑅 ∈ RingOps → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
14 f1ocnvfv 7089 . . . . . . . . . 10 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (GId‘(2nd𝑅)) ∈ ran (1st𝑅)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1513, 14sylan2 596 . . . . . . . . 9 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑅 ∈ RingOps) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1615ancoms 462 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1716ad2ant2rl 749 . . . . . . 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 7088 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑥)) = 𝑥)
20 f1ocnvfv2 7088 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑦)) = 𝑦)
2119, 20anim12dan 622 . . . . . . . . . . . . 13 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦))
22 oveq12 7222 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2321, 22syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2423adantll 714 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2524adantll 714 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
26 f1ocnvdm 7095 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹𝑥) ∈ ran (1st𝑅))
27 f1ocnvdm 7095 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹𝑦) ∈ ran (1st𝑅))
2826, 27anim12dan 622 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)))
29 eqid 2737 . . . . . . . . . . . . . . . 16 (1st𝑅) = (1st𝑅)
30 eqid 2737 . . . . . . . . . . . . . . . 16 (1st𝑆) = (1st𝑆)
3129, 12, 30rngohomadd 35864 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3228, 31sylan2 596 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3332exp32 424 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
34333expa 1120 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
3534impr 458 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦)))))
3635imp 410 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
37 eqid 2737 . . . . . . . . . . . . . . . 16 ran (1st𝑆) = ran (1st𝑆)
3830, 37rngogcl 35807 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
39383expb 1122 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
40 f1ocnvfv2 7088 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4140ancoms 462 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4239, 41sylan 583 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4342an32s 652 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4443adantlll 718 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4544adantlrl 720 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4625, 36, 453eqtr4rd 2788 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
47 f1of1 6660 . . . . . . . . . . . 12 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
4847ad2antlr 727 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → 𝐹:ran (1st𝑅)–1-1→ran (1st𝑆))
49 f1ocnvdm 7095 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5049ancoms 462 . . . . . . . . . . . . . 14 (((𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5139, 50sylan 583 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5251an32s 652 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5352adantlll 718 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅))
5429, 12rngogcl 35807 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
55543expb 1122 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5628, 55sylan2 596 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5756anassrs 471 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5857adantllr 719 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
59 f1fveq 7074 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(1st𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6048, 53, 58, 59syl12anc 837 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6160adantlrl 720 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6246, 61mpbid 235 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)))
63 oveq12 7222 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6421, 63syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6564adantll 714 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6665adantll 714 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6729, 12, 5, 7rngohommul 35865 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6828, 67sylan2 596 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6968exp32 424 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
70693expa 1120 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
7170impr 458 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦)))))
7271imp 410 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
7330, 7, 37rngocl 35796 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
74733expb 1122 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
75 f1ocnvfv2 7088 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7675ancoms 462 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7774, 76sylan 583 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7877an32s 652 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
7978adantlll 718 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8079adantlrl 720 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8166, 72, 803eqtr4rd 2788 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
82 f1ocnvdm 7095 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8382ancoms 462 . . . . . . . . . . . . . 14 (((𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8474, 83sylan 583 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8584an32s 652 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8685adantlll 718 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅))
8729, 5, 12rngocl 35796 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
88873expb 1122 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
8928, 88sylan2 596 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9089anassrs 471 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
9190adantllr 719 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
92 f1fveq 7074 . . . . . . . . . . 11 ((𝐹:ran (1st𝑅)–1-1→ran (1st𝑆) ∧ ((𝐹‘(𝑥(2nd𝑆)𝑦)) ∈ ran (1st𝑅) ∧ ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9348, 86, 91, 92syl12anc 837 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9493adantlrl 720 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9581, 94mpbid 235 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)))
9662, 95jca 515 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9796ralrimivva 3112 . . . . . 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 35860 . . . . . . . 8 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
9998ancoms 462 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
10099adantr 484 . . . . . 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 1344 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹 ∈ (𝑆 RngHom 𝑅))
1021ad2antll 729 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
103101, 102jca 515 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅)))
104103ex 416 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → ((𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
10529, 12, 30, 37isrngoiso 35873 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) ↔ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))))
10630, 37, 29, 12isrngoiso 35873 . . . 4 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
107106ancoms 462 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RngIso 𝑅) ↔ (𝐹 ∈ (𝑆 RngHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
108104, 105, 1073imtr4d 297 . 2 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RngIso 𝑆) → 𝐹 ∈ (𝑆 RngIso 𝑅)))
1091083impia 1119 1 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngIso 𝑆)) → 𝐹 ∈ (𝑆 RngIso 𝑅))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 209  wa 399  w3a 1089   = wceq 1543  wcel 2110  wral 3061  ccnv 5550  ran crn 5552  wf 6376  1-1wf1 6377  1-1-ontowf1o 6379  cfv 6380  (class class class)co 7213  1st c1st 7759  2nd c2nd 7760  GIdcgi 28571  RingOpscrngo 35789   RngHom crnghom 35855   RngIso crngiso 35856
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1803  ax-4 1817  ax-5 1918  ax-6 1976  ax-7 2016  ax-8 2112  ax-9 2120  ax-10 2141  ax-11 2158  ax-12 2175  ax-ext 2708  ax-sep 5192  ax-nul 5199  ax-pow 5258  ax-pr 5322  ax-un 7523
This theorem depends on definitions:  df-bi 210  df-an 400  df-or 848  df-3an 1091  df-tru 1546  df-fal 1556  df-ex 1788  df-nf 1792  df-sb 2071  df-mo 2539  df-eu 2568  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2886  df-ne 2941  df-ral 3066  df-rex 3067  df-reu 3068  df-rmo 3069  df-rab 3070  df-v 3410  df-sbc 3695  df-csb 3812  df-dif 3869  df-un 3871  df-in 3873  df-ss 3883  df-nul 4238  df-if 4440  df-pw 4515  df-sn 4542  df-pr 4544  df-op 4548  df-uni 4820  df-iun 4906  df-br 5054  df-opab 5116  df-mpt 5136  df-id 5455  df-xp 5557  df-rel 5558  df-cnv 5559  df-co 5560  df-dm 5561  df-rn 5562  df-res 5563  df-ima 5564  df-iota 6338  df-fun 6382  df-fn 6383  df-f 6384  df-f1 6385  df-fo 6386  df-f1o 6387  df-fv 6388  df-riota 7170  df-ov 7216  df-oprab 7217  df-mpo 7218  df-1st 7761  df-2nd 7762  df-map 8510  df-grpo 28574  df-gid 28575  df-ablo 28626  df-ass 35738  df-exid 35740  df-mgmOLD 35744  df-sgrOLD 35756  df-mndo 35762  df-rngo 35790  df-rngohom 35858  df-rngoiso 35871
This theorem is referenced by:  riscer  35883
  Copyright terms: Public domain W3C validator