| Step | Hyp | Ref | Expression | 
|---|
| 1 |  | simplr 768 | . 2
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → 𝑆 ∈ RingOps) | 
| 2 |  | foelrn 7126 | . . . . . . . 8
⊢ ((𝐹:𝑋–onto→𝑌 ∧ 𝑦 ∈ 𝑌) → ∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤)) | 
| 3 | 2 | ex 412 | . . . . . . 7
⊢ (𝐹:𝑋–onto→𝑌 → (𝑦 ∈ 𝑌 → ∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤))) | 
| 4 |  | foelrn 7126 | . . . . . . . 8
⊢ ((𝐹:𝑋–onto→𝑌 ∧ 𝑧 ∈ 𝑌) → ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥)) | 
| 5 | 4 | ex 412 | . . . . . . 7
⊢ (𝐹:𝑋–onto→𝑌 → (𝑧 ∈ 𝑌 → ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥))) | 
| 6 | 3, 5 | anim12d 609 | . . . . . 6
⊢ (𝐹:𝑋–onto→𝑌 → ((𝑦 ∈ 𝑌 ∧ 𝑧 ∈ 𝑌) → (∃𝑤 ∈ 𝑋 𝑦 = (𝐹‘𝑤) ∧ ∃𝑥 ∈ 𝑋 𝑧 = (𝐹‘𝑥)))) | 
| 7 |  | reeanv 3228 | . . . . . 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 38009 | . . . . . . . . . . . . 13
⊢ ((𝑅 ∈ CRingOps ∧ 𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋) → (𝑤(2nd ‘𝑅)𝑥) = (𝑥(2nd ‘𝑅)𝑤)) | 
| 14 | 13 | 3expb 1120 | . . . . . . . . . . . 12
⊢ ((𝑅 ∈ CRingOps ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝑤(2nd ‘𝑅)𝑥) = (𝑥(2nd ‘𝑅)𝑤)) | 
| 15 | 14 | 3ad2antl1 1185 | . . . . . . . . . . 11
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝑤(2nd ‘𝑅)𝑥) = (𝑥(2nd ‘𝑅)𝑤)) | 
| 16 | 15 | fveq2d 6909 | . . . . . . . . . 10
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑤(2nd ‘𝑅)𝑥)) = (𝐹‘(𝑥(2nd ‘𝑅)𝑤))) | 
| 17 |  | crngorngo 38008 | . . . . . . . . . . 11
⊢ (𝑅 ∈ CRingOps → 𝑅 ∈
RingOps) | 
| 18 |  | eqid 2736 | . . . . . . . . . . . 12
⊢
(2nd ‘𝑆) = (2nd ‘𝑆) | 
| 19 | 10, 12, 11, 18 | rngohommul 37978 | . . . . . . . . . . 11
⊢ (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑤(2nd ‘𝑅)𝑥)) = ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥))) | 
| 20 | 17, 19 | syl3anl1 1413 | . . . . . . . . . 10
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑤(2nd ‘𝑅)𝑥)) = ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥))) | 
| 21 | 10, 12, 11, 18 | rngohommul 37978 | . . . . . . . . . . . 12
⊢ (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑥 ∈ 𝑋 ∧ 𝑤 ∈ 𝑋)) → (𝐹‘(𝑥(2nd ‘𝑅)𝑤)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) | 
| 22 | 21 | ancom2s 650 | . . . . . . . . . . 11
⊢ (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑥(2nd ‘𝑅)𝑤)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) | 
| 23 | 17, 22 | syl3anl1 1413 | . . . . . . . . . 10
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → (𝐹‘(𝑥(2nd ‘𝑅)𝑤)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) | 
| 24 | 16, 20, 23 | 3eqtr3d 2784 | . . . . . . . . 9
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RingOpsHom 𝑆)) ∧ (𝑤 ∈ 𝑋 ∧ 𝑥 ∈ 𝑋)) → ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥)) = ((𝐹‘𝑥)(2nd ‘𝑆)(𝐹‘𝑤))) | 
| 25 |  | oveq12 7441 | . . . . . . . . . 10
⊢ ((𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = ((𝐹‘𝑤)(2nd ‘𝑆)(𝐹‘𝑥))) | 
| 26 |  | oveq12 7441 | . . . . . . . . . . 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 3211 | . . . 4
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → (∃𝑤 ∈ 𝑋 ∃𝑥 ∈ 𝑋 (𝑦 = (𝐹‘𝑤) ∧ 𝑧 = (𝐹‘𝑥)) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) | 
| 34 | 9, 33 | syld 47 | . . 3
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → ((𝑦 ∈ 𝑌 ∧ 𝑧 ∈ 𝑌) → (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) | 
| 35 | 34 | ralrimivv 3199 | . 2
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → ∀𝑦 ∈ 𝑌 ∀𝑧 ∈ 𝑌 (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦)) | 
| 36 |  | crngohomfo.3 | . . 3
⊢ 𝐽 = (1st ‘𝑆) | 
| 37 |  | crngohomfo.4 | . . 3
⊢ 𝑌 = ran 𝐽 | 
| 38 | 36, 18, 37 | iscrngo2 38005 | . 2
⊢ (𝑆 ∈ CRingOps ↔ (𝑆 ∈ RingOps ∧
∀𝑦 ∈ 𝑌 ∀𝑧 ∈ 𝑌 (𝑦(2nd ‘𝑆)𝑧) = (𝑧(2nd ‘𝑆)𝑦))) | 
| 39 | 1, 35, 38 | sylanbrc 583 | 1
⊢ (((𝑅 ∈ CRingOps ∧ 𝑆 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RingOpsHom 𝑆) ∧ 𝐹:𝑋–onto→𝑌)) → 𝑆 ∈ CRingOps) |