| Step | Hyp | Ref
| Expression |
| 1 | | simplr 768 |
. 2
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → 𝑆 ∈ RingOps) |
| 2 | | foelrn 7102 |
. . . . . . . 8
⊢ ((𝐹:𝑋–onto→𝑌 ∧ 𝑦 ∈ 𝑌) → ∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤)) |
| 3 | 2 | ex 412 |
. . . . . . 7
⊢ (𝐹:𝑋–onto→𝑌 → (𝑦 ∈ 𝑌 → ∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤))) |
| 4 | | foelrn 7102 |
. . . . . . . 8
⊢ ((𝐹:𝑋–onto→𝑌 ∧ 𝑧 ∈ 𝑌) → ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥)) |
| 5 | 4 | ex 412 |
. . . . . . 7
⊢ (𝐹:𝑋–onto→𝑌 → (𝑧 ∈ 𝑌 → ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥))) |
| 6 | 3, 5 | anim12d 609 |
. . . . . 6
⊢ (𝐹:𝑋–onto→𝑌 → ((𝑦 ∈ 𝑌 ∧ 𝑧 ∈ 𝑌) → (∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤) ∧ ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥)))) |
| 7 | | reeanv 3217 |
. . . . . 6
⊢
(∃𝑤 ∈
𝑋 ∃𝑥 ∈ 𝑋 (𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) ↔ (∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤) ∧ ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥))) |
| 8 | 6, 7 | imbitrrdi 252 |
. . . . 5
⊢ (𝐹:𝑋–onto→𝑌 → ((𝑦 ∈ 𝑌 ∧ 𝑧 ∈ 𝑌) → ∃𝑤 ∈ 𝑋 ∃𝑥 ∈ 𝑋 (𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)))) |
| 9 | 8 | ad2antll 729 |
. . . 4
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → ((𝑦 ∈ 𝑌 ∧ 𝑧 ∈ 𝑌) → ∃𝑤 ∈ 𝑋 ∃𝑥 ∈ 𝑋 (𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)))) |
| 10 | | crngohomfo.1 |
. . . . . . . . . . . . . 14
⊢ 𝐺 = (1st ‘𝑅) |
| 11 | | eqid 2736 |
. . . . . . . . . . . . . 14
⊢
(2nd ‘𝑅) = (2nd ‘𝑅) |
| 12 | | crngohomfo.2 |
. . . . . . . . . . . . . 14
⊢ 𝑋 = ran 𝐺 |
| 13 | 10, 11, 12 | crngocom 38030 |
. . . . . . . . . . . . 13
⊢ ((𝑅 ∈ CRingOps ∧ 𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋) → (𝑤(2nd ‘𝑅)𝑥) = (𝑥(2nd ‘𝑅)𝑤)) |
| 14 | 13 | 3expb 1120 |
. . . . . . . . . . . 12
⊢ ((𝑅 ∈ CRingOps ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝑤(2nd ‘𝑅)𝑥) = (𝑥(2nd ‘𝑅)𝑤)) |
| 15 | 14 | 3ad2antl1 1186 |
. . . . . . . . . . 11
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝑤(2nd ‘𝑅)𝑥) = (𝑥(2nd ‘𝑅)𝑤)) |
| 16 | 15 | fveq2d 6885 |
. . . . . . . . . 10
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑤(2nd ‘𝑅)𝑥)) = (𝐹‘(𝑥(2nd ‘𝑅)𝑤))) |
| 17 | | crngorngo 38029 |
. . . . . . . . . . 11
⊢ (𝑅 ∈ CRingOps → 𝑅 ∈
RingOps) |
| 18 | | eqid 2736 |
. . . . . . . . . . . 12
⊢
(2nd ‘𝑆) = (2nd ‘𝑆) |
| 19 | 10, 12, 11, 18 | rngohommul 37999 |
. . . . . . . . . . 11
⊢ (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑤(2nd ‘𝑅)𝑥)) = ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥))) |
| 20 | 17, 19 | syl3anl1 1414 |
. . . . . . . . . 10
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑤(2nd ‘𝑅)𝑥)) = ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥))) |
| 21 | 10, 12, 11, 18 | rngohommul 37999 |
. . . . . . . . . . . 12
⊢ (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑥 ∈ 𝑋 ∧ 𝑤 ∈ 𝑋)) → (𝐹‘(𝑥(2nd ‘𝑅)𝑤)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) |
| 22 | 21 | ancom2s 650 |
. . . . . . . . . . 11
⊢ (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑥(2nd ‘𝑅)𝑤)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) |
| 23 | 17, 22 | syl3anl1 1414 |
. . . . . . . . . 10
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑥(2nd ‘𝑅)𝑤)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) |
| 24 | 16, 20, 23 | 3eqtr3d 2779 |
. . . . . . . . 9
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) |
| 25 | | oveq12 7419 |
. . . . . . . . . 10
⊢ ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥))) |
| 26 | | oveq12 7419 |
. . . . . . . . . . 11
⊢ ((𝑧 = (𝐹‘𝑥) ∧ 𝑦 = (𝐹‘𝑤)) → (𝑧(2nd ‘𝑆)𝑦) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) |
| 27 | 26 | ancoms 458 |
. . . . . . . . . 10
⊢ ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑧(2nd ‘𝑆)𝑦) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) |
| 28 | 25, 27 | eqeq12d 2752 |
. . . . . . . . 9
⊢ ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → ((𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦) ↔ ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤)))) |
| 29 | 24, 28 | syl5ibrcom 247 |
. . . . . . . 8
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) |
| 30 | 29 | ex 412 |
. . . . . . 7
⊢ ((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → ((𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋) → ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦)))) |
| 31 | 30 | 3expa 1118 |
. . . . . 6
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) → ((𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋) → ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦)))) |
| 32 | 31 | adantrr 717 |
. . . . 5
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → ((𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋) → ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦)))) |
| 33 | 32 | rexlimdvv 3201 |
. . . 4
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → (∃𝑤 ∈ 𝑋 ∃𝑥 ∈ 𝑋 (𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) |
| 34 | 9, 33 | syld 47 |
. . 3
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → ((𝑦 ∈ 𝑌 ∧ 𝑧 ∈ 𝑌) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) |
| 35 | 34 | ralrimivv 3186 |
. 2
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → ∀𝑦 ∈ 𝑌 ∀𝑧 ∈ 𝑌 (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦)) |
| 36 | | crngohomfo.3 |
. . 3
⊢ 𝐽 = (1st ‘𝑆) |
| 37 | | crngohomfo.4 |
. . 3
⊢ 𝑌 = ran 𝐽 |
| 38 | 36, 18, 37 | iscrngo2 38026 |
. 2
⊢ (𝑆 ∈ CRingOps ↔ (𝑆 ∈ RingOps ∧
∀𝑦 ∈ 𝑌 ∀𝑧 ∈ 𝑌 (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) |
| 39 | 1, 35, 38 | sylanbrc 583 |
1
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → 𝑆 ∈ CRingOps) |