 Mathbox for Jeff Madsen < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  rngohomco Structured version   Visualization version   GIF version

Theorem rngohomco 34105
 Description: The composition of two ring homomorphisms is a ring homomorphism. (Contributed by Jeff Madsen, 16-Jun-2011.)
Assertion
Ref Expression
rngohomco (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐺𝐹) ∈ (𝑅 RngHom 𝑇))

Proof of Theorem rngohomco
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2771 . . . . . . 7 (1st𝑆) = (1st𝑆)
2 eqid 2771 . . . . . . 7 ran (1st𝑆) = ran (1st𝑆)
3 eqid 2771 . . . . . . 7 (1st𝑇) = (1st𝑇)
4 eqid 2771 . . . . . . 7 ran (1st𝑇) = ran (1st𝑇)
51, 2, 3, 4rngohomf 34097 . . . . . 6 ((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → 𝐺:ran (1st𝑆)⟶ran (1st𝑇))
653expa 1111 . . . . 5 (((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → 𝐺:ran (1st𝑆)⟶ran (1st𝑇))
763adantl1 1171 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → 𝐺:ran (1st𝑆)⟶ran (1st𝑇))
87adantrl 695 . . 3 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → 𝐺:ran (1st𝑆)⟶ran (1st𝑇))
9 eqid 2771 . . . . . . 7 (1st𝑅) = (1st𝑅)
10 eqid 2771 . . . . . . 7 ran (1st𝑅) = ran (1st𝑅)
119, 10, 1, 2rngohomf 34097 . . . . . 6 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → 𝐹:ran (1st𝑅)⟶ran (1st𝑆))
12113expa 1111 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → 𝐹:ran (1st𝑅)⟶ran (1st𝑆))
13123adantl3 1173 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → 𝐹:ran (1st𝑅)⟶ran (1st𝑆))
1413adantrr 696 . . 3 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → 𝐹:ran (1st𝑅)⟶ran (1st𝑆))
15 fco 6198 . . 3 ((𝐺:ran (1st𝑆)⟶ran (1st𝑇) ∧ 𝐹:ran (1st𝑅)⟶ran (1st𝑆)) → (𝐺𝐹):ran (1st𝑅)⟶ran (1st𝑇))
168, 14, 15syl2anc 573 . 2 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐺𝐹):ran (1st𝑅)⟶ran (1st𝑇))
17 eqid 2771 . . . . . . 7 (2nd𝑅) = (2nd𝑅)
18 eqid 2771 . . . . . . 7 (GId‘(2nd𝑅)) = (GId‘(2nd𝑅))
1910, 17, 18rngo1cl 34070 . . . . . 6 (𝑅 ∈ RingOps → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
20193ad2ant1 1127 . . . . 5 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
2120adantr 466 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (GId‘(2nd𝑅)) ∈ ran (1st𝑅))
22 fvco3 6417 . . . 4 ((𝐹:ran (1st𝑅)⟶ran (1st𝑆) ∧ (GId‘(2nd𝑅)) ∈ ran (1st𝑅)) → ((𝐺𝐹)‘(GId‘(2nd𝑅))) = (𝐺‘(𝐹‘(GId‘(2nd𝑅)))))
2314, 21, 22syl2anc 573 . . 3 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → ((𝐺𝐹)‘(GId‘(2nd𝑅))) = (𝐺‘(𝐹‘(GId‘(2nd𝑅)))))
24 eqid 2771 . . . . . . . . 9 (2nd𝑆) = (2nd𝑆)
25 eqid 2771 . . . . . . . . 9 (GId‘(2nd𝑆)) = (GId‘(2nd𝑆))
2617, 18, 24, 25rngohom1 34099 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
27263expa 1111 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
28273adantl3 1173 . . . . . 6 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
2928adantrr 696 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐹‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑆)))
3029fveq2d 6336 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐺‘(𝐹‘(GId‘(2nd𝑅)))) = (𝐺‘(GId‘(2nd𝑆))))
31 eqid 2771 . . . . . . . 8 (2nd𝑇) = (2nd𝑇)
32 eqid 2771 . . . . . . . 8 (GId‘(2nd𝑇)) = (GId‘(2nd𝑇))
3324, 25, 31, 32rngohom1 34099 . . . . . . 7 ((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (𝐺‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑇)))
34333expa 1111 . . . . . 6 (((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (𝐺‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑇)))
35343adantl1 1171 . . . . 5 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (𝐺‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑇)))
3635adantrl 695 . . . 4 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐺‘(GId‘(2nd𝑆))) = (GId‘(2nd𝑇)))
3730, 36eqtrd 2805 . . 3 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐺‘(𝐹‘(GId‘(2nd𝑅)))) = (GId‘(2nd𝑇)))
3823, 37eqtrd 2805 . 2 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → ((𝐺𝐹)‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑇)))
399, 10, 1rngohomadd 34100 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐹‘(𝑥(1st𝑅)𝑦)) = ((𝐹𝑥)(1st𝑆)(𝐹𝑦)))
4039ex 397 . . . . . . . . . . 11 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹‘(𝑥(1st𝑅)𝑦)) = ((𝐹𝑥)(1st𝑆)(𝐹𝑦))))
41403expa 1111 . . . . . . . . . 10 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹‘(𝑥(1st𝑅)𝑦)) = ((𝐹𝑥)(1st𝑆)(𝐹𝑦))))
42413adantl3 1173 . . . . . . . . 9 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹‘(𝑥(1st𝑅)𝑦)) = ((𝐹𝑥)(1st𝑆)(𝐹𝑦))))
4342imp 393 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐹‘(𝑥(1st𝑅)𝑦)) = ((𝐹𝑥)(1st𝑆)(𝐹𝑦)))
4443adantlrr 700 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐹‘(𝑥(1st𝑅)𝑦)) = ((𝐹𝑥)(1st𝑆)(𝐹𝑦)))
4544fveq2d 6336 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐺‘(𝐹‘(𝑥(1st𝑅)𝑦))) = (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))))
469, 10, 1, 2rngohomcl 34098 . . . . . . . . . . . . 13 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ 𝑥 ∈ ran (1st𝑅)) → (𝐹𝑥) ∈ ran (1st𝑆))
479, 10, 1, 2rngohomcl 34098 . . . . . . . . . . . . 13 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹𝑦) ∈ ran (1st𝑆))
4846, 47anim12da 33838 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)))
4948ex 397 . . . . . . . . . . 11 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))))
50493expa 1111 . . . . . . . . . 10 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))))
51503adantl3 1173 . . . . . . . . 9 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))))
5251imp 393 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)))
5352adantlrr 700 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)))
541, 2, 3rngohomadd 34100 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) ∧ ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
5554ex 397 . . . . . . . . . . 11 ((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦)))))
56553expa 1111 . . . . . . . . . 10 (((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦)))))
57563adantl1 1171 . . . . . . . . 9 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦)))))
5857imp 393 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) ∧ ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
5958adantlrl 699 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
6053, 59syldan 579 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐺‘((𝐹𝑥)(1st𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
6145, 60eqtrd 2805 . . . . 5 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐺‘(𝐹‘(𝑥(1st𝑅)𝑦))) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
629, 10rngogcl 34043 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝑥(1st𝑅)𝑦) ∈ ran (1st𝑅))
63623expb 1113 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝑥(1st𝑅)𝑦) ∈ ran (1st𝑅))
64633ad2antl1 1200 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝑥(1st𝑅)𝑦) ∈ ran (1st𝑅))
6564adantlr 694 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝑥(1st𝑅)𝑦) ∈ ran (1st𝑅))
66 fvco3 6417 . . . . . . 7 ((𝐹:ran (1st𝑅)⟶ran (1st𝑆) ∧ (𝑥(1st𝑅)𝑦) ∈ ran (1st𝑅)) → ((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (𝐺‘(𝐹‘(𝑥(1st𝑅)𝑦))))
6714, 66sylan 569 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥(1st𝑅)𝑦) ∈ ran (1st𝑅)) → ((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (𝐺‘(𝐹‘(𝑥(1st𝑅)𝑦))))
6865, 67syldan 579 . . . . 5 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (𝐺‘(𝐹‘(𝑥(1st𝑅)𝑦))))
69 fvco3 6417 . . . . . . . 8 ((𝐹:ran (1st𝑅)⟶ran (1st𝑆) ∧ 𝑥 ∈ ran (1st𝑅)) → ((𝐺𝐹)‘𝑥) = (𝐺‘(𝐹𝑥)))
7014, 69sylan 569 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ 𝑥 ∈ ran (1st𝑅)) → ((𝐺𝐹)‘𝑥) = (𝐺‘(𝐹𝑥)))
71 fvco3 6417 . . . . . . . 8 ((𝐹:ran (1st𝑅)⟶ran (1st𝑆) ∧ 𝑦 ∈ ran (1st𝑅)) → ((𝐺𝐹)‘𝑦) = (𝐺‘(𝐹𝑦)))
7214, 71sylan 569 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ 𝑦 ∈ ran (1st𝑅)) → ((𝐺𝐹)‘𝑦) = (𝐺‘(𝐹𝑦)))
7370, 72anim12da 33838 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (((𝐺𝐹)‘𝑥) = (𝐺‘(𝐹𝑥)) ∧ ((𝐺𝐹)‘𝑦) = (𝐺‘(𝐹𝑦))))
74 oveq12 6802 . . . . . 6 ((((𝐺𝐹)‘𝑥) = (𝐺‘(𝐹𝑥)) ∧ ((𝐺𝐹)‘𝑦) = (𝐺‘(𝐹𝑦))) → (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
7573, 74syl 17 . . . . 5 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) = ((𝐺‘(𝐹𝑥))(1st𝑇)(𝐺‘(𝐹𝑦))))
7661, 68, 753eqtr4d 2815 . . . 4 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)))
779, 10, 17, 24rngohommul 34101 . . . . . . . . . . . 12 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐹‘(𝑥(2nd𝑅)𝑦)) = ((𝐹𝑥)(2nd𝑆)(𝐹𝑦)))
7877ex 397 . . . . . . . . . . 11 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹‘(𝑥(2nd𝑅)𝑦)) = ((𝐹𝑥)(2nd𝑆)(𝐹𝑦))))
79783expa 1111 . . . . . . . . . 10 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹‘(𝑥(2nd𝑅)𝑦)) = ((𝐹𝑥)(2nd𝑆)(𝐹𝑦))))
80793adantl3 1173 . . . . . . . . 9 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) → ((𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝐹‘(𝑥(2nd𝑅)𝑦)) = ((𝐹𝑥)(2nd𝑆)(𝐹𝑦))))
8180imp 393 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐹 ∈ (𝑅 RngHom 𝑆)) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐹‘(𝑥(2nd𝑅)𝑦)) = ((𝐹𝑥)(2nd𝑆)(𝐹𝑦)))
8281adantlrr 700 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐹‘(𝑥(2nd𝑅)𝑦)) = ((𝐹𝑥)(2nd𝑆)(𝐹𝑦)))
8382fveq2d 6336 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐺‘(𝐹‘(𝑥(2nd𝑅)𝑦))) = (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))))
841, 2, 24, 31rngohommul 34101 . . . . . . . . . . . 12 (((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) ∧ ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
8584ex 397 . . . . . . . . . . 11 ((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦)))))
86853expa 1111 . . . . . . . . . 10 (((𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦)))))
87863adantl1 1171 . . . . . . . . 9 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) → (((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆)) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦)))))
8887imp 393 . . . . . . . 8 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇)) ∧ ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
8988adantlrl 699 . . . . . . 7 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ ((𝐹𝑥) ∈ ran (1st𝑆) ∧ (𝐹𝑦) ∈ ran (1st𝑆))) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
9053, 89syldan 579 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐺‘((𝐹𝑥)(2nd𝑆)(𝐹𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
9183, 90eqtrd 2805 . . . . 5 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝐺‘(𝐹‘(𝑥(2nd𝑅)𝑦))) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
929, 17, 10rngocl 34032 . . . . . . . . 9 ((𝑅 ∈ RingOps ∧ 𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅)) → (𝑥(2nd𝑅)𝑦) ∈ ran (1st𝑅))
93923expb 1113 . . . . . . . 8 ((𝑅 ∈ RingOps ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝑥(2nd𝑅)𝑦) ∈ ran (1st𝑅))
94933ad2antl1 1200 . . . . . . 7 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝑥(2nd𝑅)𝑦) ∈ ran (1st𝑅))
9594adantlr 694 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (𝑥(2nd𝑅)𝑦) ∈ ran (1st𝑅))
96 fvco3 6417 . . . . . . 7 ((𝐹:ran (1st𝑅)⟶ran (1st𝑆) ∧ (𝑥(2nd𝑅)𝑦) ∈ ran (1st𝑅)) → ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (𝐺‘(𝐹‘(𝑥(2nd𝑅)𝑦))))
9714, 96sylan 569 . . . . . 6 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥(2nd𝑅)𝑦) ∈ ran (1st𝑅)) → ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (𝐺‘(𝐹‘(𝑥(2nd𝑅)𝑦))))
9895, 97syldan 579 . . . . 5 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (𝐺‘(𝐹‘(𝑥(2nd𝑅)𝑦))))
99 oveq12 6802 . . . . . 6 ((((𝐺𝐹)‘𝑥) = (𝐺‘(𝐹𝑥)) ∧ ((𝐺𝐹)‘𝑦) = (𝐺‘(𝐹𝑦))) → (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦)) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
10073, 99syl 17 . . . . 5 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦)) = ((𝐺‘(𝐹𝑥))(2nd𝑇)(𝐺‘(𝐹𝑦))))
10191, 98, 1003eqtr4d 2815 . . . 4 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦)))
10276, 101jca 501 . . 3 ((((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) ∧ (𝑥 ∈ ran (1st𝑅) ∧ 𝑦 ∈ ran (1st𝑅))) → (((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) ∧ ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦))))
103102ralrimivva 3120 . 2 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → ∀𝑥 ∈ ran (1st𝑅)∀𝑦 ∈ ran (1st𝑅)(((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) ∧ ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦))))
1049, 17, 10, 18, 3, 31, 4, 32isrngohom 34096 . . . 4 ((𝑅 ∈ RingOps ∧ 𝑇 ∈ RingOps) → ((𝐺𝐹) ∈ (𝑅 RngHom 𝑇) ↔ ((𝐺𝐹):ran (1st𝑅)⟶ran (1st𝑇) ∧ ((𝐺𝐹)‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑇)) ∧ ∀𝑥 ∈ ran (1st𝑅)∀𝑦 ∈ ran (1st𝑅)(((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) ∧ ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦))))))
1051043adant2 1125 . . 3 ((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) → ((𝐺𝐹) ∈ (𝑅 RngHom 𝑇) ↔ ((𝐺𝐹):ran (1st𝑅)⟶ran (1st𝑇) ∧ ((𝐺𝐹)‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑇)) ∧ ∀𝑥 ∈ ran (1st𝑅)∀𝑦 ∈ ran (1st𝑅)(((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) ∧ ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦))))))
106105adantr 466 . 2 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → ((𝐺𝐹) ∈ (𝑅 RngHom 𝑇) ↔ ((𝐺𝐹):ran (1st𝑅)⟶ran (1st𝑇) ∧ ((𝐺𝐹)‘(GId‘(2nd𝑅))) = (GId‘(2nd𝑇)) ∧ ∀𝑥 ∈ ran (1st𝑅)∀𝑦 ∈ ran (1st𝑅)(((𝐺𝐹)‘(𝑥(1st𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(1st𝑇)((𝐺𝐹)‘𝑦)) ∧ ((𝐺𝐹)‘(𝑥(2nd𝑅)𝑦)) = (((𝐺𝐹)‘𝑥)(2nd𝑇)((𝐺𝐹)‘𝑦))))))
10716, 38, 103, 106mpbir3and 1427 1 (((𝑅 ∈ RingOps ∧ 𝑆 ∈ RingOps ∧ 𝑇 ∈ RingOps) ∧ (𝐹 ∈ (𝑅 RngHom 𝑆) ∧ 𝐺 ∈ (𝑆 RngHom 𝑇))) → (𝐺𝐹) ∈ (𝑅 RngHom 𝑇))
 Colors of variables: wff setvar class Syntax hints:   → wi 4   ↔ wb 196   ∧ wa 382   ∧ w3a 1071   = wceq 1631   ∈ wcel 2145  ∀wral 3061  ran crn 5250   ∘ ccom 5253  ⟶wf 6027  ‘cfv 6031  (class class class)co 6793  1st c1st 7313  2nd c2nd 7314  GIdcgi 27684  RingOpscrngo 34025   RngHom crnghom 34091 This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1870  ax-4 1885  ax-5 1991  ax-6 2057  ax-7 2093  ax-8 2147  ax-9 2154  ax-10 2174  ax-11 2190  ax-12 2203  ax-13 2408  ax-ext 2751  ax-sep 4915  ax-nul 4923  ax-pow 4974  ax-pr 5034  ax-un 7096 This theorem depends on definitions:  df-bi 197  df-an 383  df-or 837  df-3an 1073  df-tru 1634  df-ex 1853  df-nf 1858  df-sb 2050  df-eu 2622  df-mo 2623  df-clab 2758  df-cleq 2764  df-clel 2767  df-nfc 2902  df-ne 2944  df-ral 3066  df-rex 3067  df-reu 3068  df-rmo 3069  df-rab 3070  df-v 3353  df-sbc 3588  df-csb 3683  df-dif 3726  df-un 3728  df-in 3730  df-ss 3737  df-nul 4064  df-if 4226  df-pw 4299  df-sn 4317  df-pr 4319  df-op 4323  df-uni 4575  df-iun 4656  df-br 4787  df-opab 4847  df-mpt 4864  df-id 5157  df-xp 5255  df-rel 5256  df-cnv 5257  df-co 5258  df-dm 5259  df-rn 5260  df-res 5261  df-ima 5262  df-iota 5994  df-fun 6033  df-fn 6034  df-f 6035  df-fo 6037  df-fv 6039  df-riota 6754  df-ov 6796  df-oprab 6797  df-mpt2 6798  df-1st 7315  df-2nd 7316  df-map 8011  df-grpo 27687  df-gid 27688  df-ablo 27739  df-ass 33974  df-exid 33976  df-mgmOLD 33980  df-sgrOLD 33992  df-mndo 33998  df-rngo 34026  df-rngohom 34094 This theorem is referenced by:  rngoisoco  34113
 Copyright terms: Public domain W3C validator