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 37988
Description: The inverse of a ring isomorphism is a ring isomorphism. (Contributed by Jeff Madsen, 16-Jun-2011.)
Assertion
Ref Expression
rngoisocnv ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsIso 𝑆)) → 𝐹 ∈ (𝑆 RingOpsIso 𝑅))

Proof of Theorem rngoisocnv
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 f1ocnv 6860 . . . . . . . 8 (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
2 f1of 6848 . . . . . . . 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) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹: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 37975 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1093expa 1119 . . . . . . . 8 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
1110adantrr 717 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
12 eqid 2737 . . . . . . . . . . 11 ran (1st𝑅) = ran (1st𝑅)
1312, 5, 6rngo1cl 37946 . . . . . . . . . 10 (𝑅 ∈ RingOps → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
14 f1ocnvfv 7298 . . . . . . . . . 10 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (GId‘(2nd𝑅)) ∈ ran (1st𝑅)) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1513, 14sylan2 593 . . . . . . . . 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 749 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅))))
1811, 17mpd 15 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)))
19 f1ocnvfv2 7297 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑥)) = 𝑥)
20 f1ocnvfv2 7297 . . . . . . . . . . . . . 14 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘(𝐹𝑦)) = 𝑦)
2119, 20anim12dan 619 . . . . . . . . . . . . 13 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦))
22 oveq12 7440 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2321, 22syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2423adantll 714 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
2524adantll 714 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(1st𝑆)𝑦))
26 f1ocnvdm 7305 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑆)) → (𝐹𝑥) ∈ ran (1st𝑅))
27 f1ocnvdm 7305 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹𝑦) ∈ ran (1st𝑅))
2826, 27anim12dan 619 . . . . . . . . . . . . . . 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 37976 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3228, 31sylan2 593 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
3332exp32 420 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
34333expa 1119 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))))
3534impr 454 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦)))))
3635imp 406 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(1st𝑆)(𝐹‘(𝐹𝑦))))
37 eqid 2737 . . . . . . . . . . . . . . . 16 ran (1st𝑆) = ran (1st𝑆)
3830, 37rngogcl 37919 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
39383expb 1121 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(1st𝑆)𝑦) ∈ ran (1st𝑆))
40 f1ocnvfv2 7297 . . . . . . . . . . . . . . 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 580 . . . . . . . . . . . . 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) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝑥(1st𝑆)𝑦))
4625, 36, 453eqtr4rd 2788 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
47 f1of1 6847 . . . . . . . . . . . 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 7305 . . . . . . . . . . . . . . 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 580 . . . . . . . . . . . . 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 37919 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
55543expb 1121 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
5628, 55sylan2 593 . . . . . . . . . . . . 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 719 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
59 f1fveq 7282 . . . . . . . . . . 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) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(1st𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(1st𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦))))
6246, 61mpbid 232 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)))
63 oveq12 7440 . . . . . . . . . . . . 13 (((𝐹‘(𝐹𝑥)) = 𝑥 ∧ (𝐹‘(𝐹𝑦)) = 𝑦) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6421, 63syl 17 . . . . . . . . . . . 12 ((𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6564adantll 714 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6665adantll 714 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))) = (𝑥(2nd𝑆)𝑦))
6729, 12, 5, 7rngohommul 37977 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6828, 67sylan2 593 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
6968exp32 420 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
70693expa 1119 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))))
7170impr 454 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ((𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦)))))
7271imp 406 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) = ((𝐹‘(𝐹𝑥))(2nd𝑆)(𝐹‘(𝐹𝑦))))
7330, 7, 37rngocl 37908 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆)) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
74733expb 1121 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝑥(2nd𝑆)𝑦) ∈ ran (1st𝑆))
75 f1ocnvfv2 7297 . . . . . . . . . . . . . . 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 580 . . . . . . . . . . . . 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) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝑥(2nd𝑆)𝑦))
8166, 72, 803eqtr4rd 2788 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
82 f1ocnvdm 7305 . . . . . . . . . . . . . . 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 580 . . . . . . . . . . . . 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 37908 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅)) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
88873expb 1121 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((𝐹𝑥) ∈ ran (1st𝑅) ∧ (𝐹𝑦) ∈ ran (1st𝑅))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
8928, 88sylan2 593 . . . . . . . . . . . . 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 719 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)) ∈ ran (1st𝑅))
92 f1fveq 7282 . . . . . . . . . . 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) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝐹‘(𝑥(2nd𝑆)𝑦))) = (𝐹‘((𝐹𝑥)(2nd𝑅)(𝐹𝑦))) ↔ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9581, 94mpbid 232 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦)))
9662, 95jca 511 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) ∧ (𝑥 ∈ ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑆))) → ((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9796ralrimivva 3202 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))
9830, 7, 37, 8, 29, 5, 12, 6isrngohom 37972 . . . . . . . 8 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
9998ancoms 458 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
10099adantr 480 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ↔ (𝐹:ran (1st𝑆)⟶ran (1st𝑅) ∧ (𝐹‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑅)) ∧ ∀𝑥 ∈ ran (1st𝑆)∀𝑦 ∈ ran (1st𝑆)((𝐹‘(𝑥(1st𝑆)𝑦)) = ((𝐹𝑥)(1st𝑅)(𝐹𝑦)) ∧ (𝐹‘(𝑥(2nd𝑆)𝑦)) = ((𝐹𝑥)(2nd𝑅)(𝐹𝑦))))))
1014, 18, 97, 100mpbir3and 1343 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹 ∈ (𝑆 RingOpsHom 𝑅))
1021ad2antll 729 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))
103101, 102jca 511 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))) → (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅)))
104103ex 412 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → ((𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆)) → (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
10529, 12, 30, 37isrngoiso 37985 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RingOpsIso 𝑆) ↔ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st𝑅)–1-1-onto→ran (1st𝑆))))
10630, 37, 29, 12isrngoiso 37985 . . . 4 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (𝐹 ∈ (𝑆 RingOpsIso 𝑅) ↔ (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
107106ancoms 458 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑆 RingOpsIso 𝑅) ↔ (𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ 𝐹:ran (1st𝑆)–1-1-onto→ran (1st𝑅))))
108104, 105, 1073imtr4d 294 . 2 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RingOpsIso 𝑆) → 𝐹 ∈ (𝑆 RingOpsIso 𝑅)))
1091083impia 1118 1 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsIso 𝑆)) → 𝐹 ∈ (𝑆 RingOpsIso 𝑅))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1540  wcel 2108  wral 3061  ccnv 5684  ran crn 5686  wf 6557  1-1wf1 6558  1-1-ontowf1o 6560  cfv 6561  (class class class)co 7431  1st c1st 8012  2nd c2nd 8013  GIdcgi 30509  RingOpscrngo 37901   RingOpsHom crngohom 37967   RingOpsIso crngoiso 37968
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-sep 5296  ax-nul 5306  ax-pow 5365  ax-pr 5432  ax-un 7755
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-ral 3062  df-rex 3071  df-rmo 3380  df-reu 3381  df-rab 3437  df-v 3482  df-sbc 3789  df-csb 3900  df-dif 3954  df-un 3956  df-in 3958  df-ss 3968  df-nul 4334  df-if 4526  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-id 5578  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-res 5697  df-ima 5698  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-1st 8014  df-2nd 8015  df-map 8868  df-grpo 30512  df-gid 30513  df-ablo 30564  df-ass 37850  df-exid 37852  df-mgmOLD 37856  df-sgrOLD 37868  df-mndo 37874  df-rngo 37902  df-rngohom 37970  df-rngoiso 37983
This theorem is referenced by:  riscer  37995
  Copyright terms: Public domain W3C validator