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 38835
Description: Obsolete theorem, use rimcnv 20679 instead. The inverse of a ring isomorphism is a ring isomorphism. (Contributed by Jeff Madsen, 16-Jun-2011.) (Proof modification is discouraged.) (New usage is discouraged.)
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 6825 . . . . . . . 8 (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → ◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅))
2 f1of 6812 . . . . . . . 8 (◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅) → ◡𝐹:ran (1st ‘𝑆)⟶ran (1st ‘𝑅))
31, 2syl 18 . . . . . . 7 (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → ◡𝐹:ran (1st ‘𝑆)⟶ran (1st ‘𝑅))
43ad2antll 742 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → ◡𝐹:ran (1st ‘𝑆)⟶ran (1st ‘𝑅))
5 eqid 2760 . . . . . . . . . 10 (2nd ‘𝑅) = (2nd ‘𝑅)
6 eqid 2760 . . . . . . . . . 10 (GId‘(2nd ‘𝑅)) = (GId‘(2nd ‘𝑅))
7 eqid 2760 . . . . . . . . . 10 (2nd ‘𝑆) = (2nd ‘𝑆)
8 eqid 2760 . . . . . . . . . 10 (GId‘(2nd ‘𝑆)) = (GId‘(2nd ‘𝑆))
95, 6, 7, 8rngohom1 38822 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)))
1093expa 1136 . . . . . . . 8 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)))
1110adantrr 730 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → (𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)))
12 eqid 2760 . . . . . . . . . . 11 ran (1st ‘𝑅) = ran (1st ‘𝑅)
1312, 5, 6rngo1cl 38793 . . . . . . . . . 10 (𝑅 ∈ RingOps → (GId‘(2nd ‘𝑅)) ∈ ran (1st ‘𝑅))
14 f1ocnvfv 7274 . . . . . . . . . 10 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (GId‘(2nd ‘𝑅)) ∈ ran (1st ‘𝑅)) → ((𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)) → (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅))))
1513, 14sylan2 605 . . . . . . . . 9 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ 𝑅 ∈ RingOps) → ((𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)) → (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅))))
1615ancoms 464 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → ((𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)) → (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅))))
1716ad2ant2rl 762 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → ((𝐹‘(GId‘(2nd ‘𝑅))) = (GId‘(2nd ‘𝑆)) → (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅))))
1811, 17mpd 16 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅)))
19 f1ocnvfv2 7273 . . . . . . . . . . . . . 14 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ 𝑥 ∈ ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘𝑥)) = 𝑥)
20 f1ocnvfv2 7273 . . . . . . . . . . . . . 14 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘𝑦)) = 𝑦)
2119, 20anim12dan 631 . . . . . . . . . . . . 13 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥)) = 𝑥 ∧ (𝐹‘(◡𝐹‘𝑦)) = 𝑦))
22 oveq12 7417 . . . . . . . . . . . . 13 (((𝐹‘(◡𝐹‘𝑥)) = 𝑥 ∧ (𝐹‘(◡𝐹‘𝑦)) = 𝑦) → ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(1st ‘𝑆)𝑦))
2321, 22syl 18 . . . . . . . . . . . 12 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(1st ‘𝑆)𝑦))
2423adantll 727 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(1st ‘𝑆)𝑦))
2524adantll 727 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(1st ‘𝑆)𝑦))
26 f1ocnvdm 7281 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ 𝑥 ∈ ran (1st ‘𝑆)) → (◡𝐹‘𝑥) ∈ ran (1st ‘𝑅))
27 f1ocnvdm 7281 . . . . . . . . . . . . . . . 16 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅))
2826, 27anim12dan 631 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅)))
29 eqid 2760 . . . . . . . . . . . . . . . 16 (1st ‘𝑅) = (1st ‘𝑅)
30 eqid 2760 . . . . . . . . . . . . . . . 16 (1st ‘𝑆) = (1st ‘𝑆)
3129, 12, 30rngohomadd 38823 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ ((◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅))) → (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))
3228, 31sylan2 605 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)))) → (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))
3332exp32 426 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → ((𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))))
34333expa 1136 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → ((𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))))
3534impr 460 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → ((𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦)))))
3635imp 412 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(1st ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))
37 eqid 2760 . . . . . . . . . . . . . . . 16 ran (1st ‘𝑆) = ran (1st ‘𝑆)
3830, 37rngogcl 38766 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝑥(1st ‘𝑆)𝑦) ∈ ran (1st ‘𝑆))
39383expb 1138 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝑥(1st ‘𝑆)𝑦) ∈ ran (1st ‘𝑆))
40 f1ocnvfv2 7273 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥(1st ‘𝑆)𝑦) ∈ ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝑥(1st ‘𝑆)𝑦))
4140ancoms 464 . . . . . . . . . . . . . 14 (((𝑥(1st ‘𝑆)𝑦) ∈ ran (1st ‘𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝑥(1st ‘𝑆)𝑦))
4239, 41sylan 592 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝑥(1st ‘𝑆)𝑦))
4342an32s 665 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝑥(1st ‘𝑆)𝑦))
4443adantlll 731 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝑥(1st ‘𝑆)𝑦))
4544adantlrl 733 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝑥(1st ‘𝑆)𝑦))
4625, 36, 453eqtr4rd 2806 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))))
47 f1of1 6811 . . . . . . . . . . . 12 (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → 𝐹:ran (1st ‘𝑅)–1-1→ran (1st ‘𝑆))
4847ad2antlr 740 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → 𝐹:ran (1st ‘𝑅)–1-1→ran (1st ‘𝑆))
49 f1ocnvdm 7281 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥(1st ‘𝑆)𝑦) ∈ ran (1st ‘𝑆)) → (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
5049ancoms 464 . . . . . . . . . . . . . 14 (((𝑥(1st ‘𝑆)𝑦) ∈ ran (1st ‘𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
5139, 50sylan 592 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
5251an32s 665 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
5352adantlll 731 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
5429, 12rngogcl 38766 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅)) → ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
55543expb 1138 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅))) → ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
5628, 55sylan2 605 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)))) → ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
5756anassrs 473 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
5857adantllr 732 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
59 f1fveq 7254 . . . . . . . . . . 11 ((𝐹:ran (1st ‘𝑅)–1-1→ran (1st ‘𝑆) ∧ ((◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅) ∧ ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))) → ((𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) ↔ (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))))
6048, 53, 58, 59syl12anc 850 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) ↔ (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))))
6160adantlrl 733 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘(𝑥(1st ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))) ↔ (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦))))
6246, 61mpbid 235 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)))
63 oveq12 7417 . . . . . . . . . . . . 13 (((𝐹‘(◡𝐹‘𝑥)) = 𝑥 ∧ (𝐹‘(◡𝐹‘𝑦)) = 𝑦) → ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
6421, 63syl 18 . . . . . . . . . . . 12 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
6564adantll 727 . . . . . . . . . . 11 (((𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
6665adantll 727 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
6729, 12, 5, 7rngohommul 38824 . . . . . . . . . . . . . . 15 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ ((◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅))) → (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))
6828, 67sylan2 605 . . . . . . . . . . . . . 14 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)))) → (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))
6968exp32 426 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → ((𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))))
70693expa 1136 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) → ((𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))))
7170impr 460 . . . . . . . . . . 11 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → ((𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦)))))
7271imp 412 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) = ((𝐹‘(◡𝐹‘𝑥))(2nd ‘𝑆)(𝐹‘(◡𝐹‘𝑦))))
7330, 7, 37rngocl 38755 . . . . . . . . . . . . . . 15 ((𝑆 ∈ RingOps ∧ 𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)) → (𝑥(2nd ‘𝑆)𝑦) ∈ ran (1st ‘𝑆))
74733expb 1138 . . . . . . . . . . . . . 14 ((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝑥(2nd ‘𝑆)𝑦) ∈ ran (1st ‘𝑆))
75 f1ocnvfv2 7273 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥(2nd ‘𝑆)𝑦) ∈ ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
7675ancoms 464 . . . . . . . . . . . . . 14 (((𝑥(2nd ‘𝑆)𝑦) ∈ ran (1st ‘𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
7774, 76sylan 592 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
7877an32s 665 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
7978adantlll 731 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
8079adantlrl 733 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝑥(2nd ‘𝑆)𝑦))
8166, 72, 803eqtr4rd 2806 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))
82 f1ocnvdm 7281 . . . . . . . . . . . . . . 15 ((𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥(2nd ‘𝑆)𝑦) ∈ ran (1st ‘𝑆)) → (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
8382ancoms 464 . . . . . . . . . . . . . 14 (((𝑥(2nd ‘𝑆)𝑦) ∈ ran (1st ‘𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
8474, 83sylan 592 . . . . . . . . . . . . 13 (((𝑆 ∈ RingOps ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
8584an32s 665 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
8685adantlll 731 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅))
8729, 5, 12rngocl 38755 . . . . . . . . . . . . . . 15 ((𝑅 ∈ RingOps ∧ (◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅)) → ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
88873expb 1138 . . . . . . . . . . . . . 14 ((𝑅 ∈ RingOps ∧ ((◡𝐹‘𝑥) ∈ ran (1st ‘𝑅) ∧ (◡𝐹‘𝑦) ∈ ran (1st ‘𝑅))) → ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
8928, 88sylan2 605 . . . . . . . . . . . . 13 ((𝑅 ∈ RingOps ∧ (𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆)))) → ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
9089anassrs 473 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
9190adantllr 732 . . . . . . . . . . 11 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))
92 f1fveq 7254 . . . . . . . . . . 11 ((𝐹:ran (1st ‘𝑅)–1-1→ran (1st ‘𝑆) ∧ ((◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) ∈ ran (1st ‘𝑅) ∧ ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)) ∈ ran (1st ‘𝑅))) → ((𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) ↔ (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))
9348, 86, 91, 92syl12anc 850 . . . . . . . . . 10 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) ↔ (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))
9493adantlrl 733 . . . . . . . . 9 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((𝐹‘(◡𝐹‘(𝑥(2nd ‘𝑆)𝑦))) = (𝐹‘((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))) ↔ (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))
9581, 94mpbid 235 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦)))
9662, 95jca 521 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) ∧ (𝑥 ∈ ran (1st ‘𝑆) ∧ 𝑦 ∈ ran (1st ‘𝑆))) → ((◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∧ (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))
9796ralrimivva 3205 . . . . . 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 38819 . . . . . . . 8 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (◡𝐹 ∈ (𝑆 RingOpsHom 𝑅) ↔ (◡𝐹:ran (1st ‘𝑆)⟶ran (1st ‘𝑅) ∧ (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅)) ∧ ∀𝑥 ∈ ran (1st ‘𝑆)∀𝑦 ∈ ran (1st ‘𝑆)((◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∧ (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))))
9998ancoms 464 . . . . . . 7 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (◡𝐹 ∈ (𝑆 RingOpsHom 𝑅) ↔ (◡𝐹:ran (1st ‘𝑆)⟶ran (1st ‘𝑅) ∧ (◡𝐹‘(GId‘(2nd ‘𝑆))) = (GId‘(2nd ‘𝑅)) ∧ ∀𝑥 ∈ ran (1st ‘𝑆)∀𝑦 ∈ ran (1st ‘𝑆)((◡𝐹‘(𝑥(1st ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(1st ‘𝑅)(◡𝐹‘𝑦)) ∧ (◡𝐹‘(𝑥(2nd ‘𝑆)𝑦)) = ((◡𝐹‘𝑥)(2nd ‘𝑅)(◡𝐹‘𝑦))))))
10099adantr 486 . . . . . 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 1361 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → ◡𝐹 ∈ (𝑆 RingOpsHom 𝑅))
1021ad2antll 742 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → ◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅))
103101, 102jca 521 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))) → (◡𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ ◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅)))
104103ex 418 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → ((𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆)) → (◡𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ ◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅))))
10529, 12, 30, 37isrngoiso 38832 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RingOpsIso 𝑆) ↔ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:ran (1st ‘𝑅)–1-1-onto→ran (1st ‘𝑆))))
10630, 37, 29, 12isrngoiso 38832 . . . 4 ((𝑆 ∈ RingOps ∧ 𝑅 ∈ RingOps) → (◡𝐹 ∈ (𝑆 RingOpsIso 𝑅) ↔ (◡𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ ◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅))))
107106ancoms 464 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (◡𝐹 ∈ (𝑆 RingOpsIso 𝑅) ↔ (◡𝐹 ∈ (𝑆 RingOpsHom 𝑅) ∧ ◡𝐹:ran (1st ‘𝑆)–1-1-onto→ran (1st ‘𝑅))))
108104, 105, 1073imtr4d 297 . 2 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) → (𝐹 ∈ (𝑅 RingOpsIso 𝑆) → ◡𝐹 ∈ (𝑆 RingOpsIso 𝑅)))
1091083impia 1135 1 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsIso 𝑆)) → ◡𝐹 ∈ (𝑆 RingOpsIso 𝑅))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:   → wi 4   ↔ wb 209   ∧ wa 401   ∧ w3a 1103   = wceq 1570   ∈ wcel 2145  ∀wral 3076  ◡ccnv 5646  ran crn 5648  ⟶wf 6523  –1-1→wf1 6524  –1-1-onto→wf1o 6526  ‘cfv 6527  (class class class)co 7408  1st c1st 7982  2nd c2nd 7983  GIdcgi 31026  RingOpscrngo 38748   RingOpsHom crngohom 38814   RingOpsIso crngoiso 38815
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2213  ax-ext 2732  ax-sep 5248  ax-nul 5259  ax-pow 5326  ax-pr 5390  ax-un 7734
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2564  df-eu 2594  df-clab 2739  df-cleq 2752  df-clel 2835  df-nfc 2909  df-ne 2956  df-ral 3077  df-rex 3087  df-rmo 3365  df-reu 3366  df-rab 3413  df-v 3452  df-sbc 3739  df-csb 3847  df-dif 3901  df-un 3903  df-in 3905  df-ss 3915  df-nul 4279  df-if 4482  df-pw 4558  df-sn 4584  df-pr 4586  df-op 4590  df-uni 4867  df-iun 4952  df-br 5103  df-opab 5167  df-mpt 5186  df-id 5542  df-xp 5653  df-rel 5654  df-cnv 5655  df-co 5656  df-dm 5657  df-rn 5658  df-res 5659  df-ima 5660  df-iota 6483  df-fun 6529  df-fn 6530  df-f 6531  df-f1 6532  df-fo 6533  df-f1o 6534  df-fv 6535  df-riota 7365  df-ov 7411  df-oprab 7412  df-mpo 7413  df-1st 7984  df-2nd 7985  df-map 8827  df-grpo 31029  df-gid 31030  df-ablo 31081  df-ass 38697  df-exid 38699  df-mgmOLD 38703  df-sgrOLD 38715  df-mndo 38721  df-rngo 38749  df-rngohom 38817  df-rngoiso 38830
This theorem is used by:  riscer  38842
  Copyright terms: Public domain W3C validator