Metamath Proof Explorer


Theorem ringccoALTV

Description: Composition in the category of rings. (Contributed by AV, 14-Feb-2020) (New usage is discouraged.)

Ref Expression
Hypotheses ringcbasALTV.c
|- C = ( RingCatALTV ` U )
ringcbasALTV.b
|- B = ( Base ` C )
ringcbasALTV.u
|- ( ph -> U e. V )
ringccoALTV.o
|- .x. = ( comp ` C )
ringccoALTV.x
|- ( ph -> X e. B )
ringccoALTV.y
|- ( ph -> Y e. B )
ringccoALTV.z
|- ( ph -> Z e. B )
ringccoALTV.f
|- ( ph -> F e. ( X RingHom Y ) )
ringccoALTV.g
|- ( ph -> G e. ( Y RingHom Z ) )
Assertion ringccoALTV
|- ( ph -> ( G ( <. X , Y >. .x. Z ) F ) = ( G o. F ) )

Proof

Step Hyp Ref Expression
1 ringcbasALTV.c
 |-  C = ( RingCatALTV ` U )
2 ringcbasALTV.b
 |-  B = ( Base ` C )
3 ringcbasALTV.u
 |-  ( ph -> U e. V )
4 ringccoALTV.o
 |-  .x. = ( comp ` C )
5 ringccoALTV.x
 |-  ( ph -> X e. B )
6 ringccoALTV.y
 |-  ( ph -> Y e. B )
7 ringccoALTV.z
 |-  ( ph -> Z e. B )
8 ringccoALTV.f
 |-  ( ph -> F e. ( X RingHom Y ) )
9 ringccoALTV.g
 |-  ( ph -> G e. ( Y RingHom Z ) )
10 1 2 3 4 ringccofvalALTV
 |-  ( ph -> .x. = ( v e. ( B X. B ) , z e. B |-> ( g e. ( ( 2nd ` v ) RingHom z ) , f e. ( ( 1st ` v ) RingHom ( 2nd ` v ) ) |-> ( g o. f ) ) ) )
11 simprl
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> v = <. X , Y >. )
12 11 fveq2d
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( 2nd ` v ) = ( 2nd ` <. X , Y >. ) )
13 op2ndg
 |-  ( ( X e. B /\ Y e. B ) -> ( 2nd ` <. X , Y >. ) = Y )
14 5 6 13 syl2anc
 |-  ( ph -> ( 2nd ` <. X , Y >. ) = Y )
15 14 adantr
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( 2nd ` <. X , Y >. ) = Y )
16 12 15 eqtrd
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( 2nd ` v ) = Y )
17 simprr
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> z = Z )
18 16 17 oveq12d
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( ( 2nd ` v ) RingHom z ) = ( Y RingHom Z ) )
19 11 fveq2d
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( 1st ` v ) = ( 1st ` <. X , Y >. ) )
20 op1stg
 |-  ( ( X e. B /\ Y e. B ) -> ( 1st ` <. X , Y >. ) = X )
21 5 6 20 syl2anc
 |-  ( ph -> ( 1st ` <. X , Y >. ) = X )
22 21 adantr
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( 1st ` <. X , Y >. ) = X )
23 19 22 eqtrd
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( 1st ` v ) = X )
24 23 16 oveq12d
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( ( 1st ` v ) RingHom ( 2nd ` v ) ) = ( X RingHom Y ) )
25 eqidd
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( g o. f ) = ( g o. f ) )
26 18 24 25 mpoeq123dv
 |-  ( ( ph /\ ( v = <. X , Y >. /\ z = Z ) ) -> ( g e. ( ( 2nd ` v ) RingHom z ) , f e. ( ( 1st ` v ) RingHom ( 2nd ` v ) ) |-> ( g o. f ) ) = ( g e. ( Y RingHom Z ) , f e. ( X RingHom Y ) |-> ( g o. f ) ) )
27 opelxpi
 |-  ( ( X e. B /\ Y e. B ) -> <. X , Y >. e. ( B X. B ) )
28 5 6 27 syl2anc
 |-  ( ph -> <. X , Y >. e. ( B X. B ) )
29 ovex
 |-  ( Y RingHom Z ) e. _V
30 ovex
 |-  ( X RingHom Y ) e. _V
31 29 30 mpoex
 |-  ( g e. ( Y RingHom Z ) , f e. ( X RingHom Y ) |-> ( g o. f ) ) e. _V
32 31 a1i
 |-  ( ph -> ( g e. ( Y RingHom Z ) , f e. ( X RingHom Y ) |-> ( g o. f ) ) e. _V )
33 10 26 28 7 32 ovmpod
 |-  ( ph -> ( <. X , Y >. .x. Z ) = ( g e. ( Y RingHom Z ) , f e. ( X RingHom Y ) |-> ( g o. f ) ) )
34 simprl
 |-  ( ( ph /\ ( g = G /\ f = F ) ) -> g = G )
35 simprr
 |-  ( ( ph /\ ( g = G /\ f = F ) ) -> f = F )
36 34 35 coeq12d
 |-  ( ( ph /\ ( g = G /\ f = F ) ) -> ( g o. f ) = ( G o. F ) )
37 coexg
 |-  ( ( G e. ( Y RingHom Z ) /\ F e. ( X RingHom Y ) ) -> ( G o. F ) e. _V )
38 9 8 37 syl2anc
 |-  ( ph -> ( G o. F ) e. _V )
39 33 36 9 8 38 ovmpod
 |-  ( ph -> ( G ( <. X , Y >. .x. Z ) F ) = ( G o. F ) )