Metamath Proof Explorer


Theorem arwass

Description: Associativity of composition in a category using arrow notation. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypotheses arwlid.h
|- H = ( HomA ` C )
arwlid.o
|- .x. = ( compA ` C )
arwlid.a
|- .1. = ( IdA ` C )
arwlid.f
|- ( ph -> F e. ( X H Y ) )
arwass.g
|- ( ph -> G e. ( Y H Z ) )
arwass.k
|- ( ph -> K e. ( Z H W ) )
Assertion arwass
|- ( ph -> ( ( K .x. G ) .x. F ) = ( K .x. ( G .x. F ) ) )

Proof

Step Hyp Ref Expression
1 arwlid.h
 |-  H = ( HomA ` C )
2 arwlid.o
 |-  .x. = ( compA ` C )
3 arwlid.a
 |-  .1. = ( IdA ` C )
4 arwlid.f
 |-  ( ph -> F e. ( X H Y ) )
5 arwass.g
 |-  ( ph -> G e. ( Y H Z ) )
6 arwass.k
 |-  ( ph -> K e. ( Z H W ) )
7 eqid
 |-  ( Base ` C ) = ( Base ` C )
8 eqid
 |-  ( Hom ` C ) = ( Hom ` C )
9 eqid
 |-  ( comp ` C ) = ( comp ` C )
10 1 homarcl
 |-  ( F e. ( X H Y ) -> C e. Cat )
11 4 10 syl
 |-  ( ph -> C e. Cat )
12 1 7 homarcl2
 |-  ( F e. ( X H Y ) -> ( X e. ( Base ` C ) /\ Y e. ( Base ` C ) ) )
13 4 12 syl
 |-  ( ph -> ( X e. ( Base ` C ) /\ Y e. ( Base ` C ) ) )
14 13 simpld
 |-  ( ph -> X e. ( Base ` C ) )
15 13 simprd
 |-  ( ph -> Y e. ( Base ` C ) )
16 1 7 homarcl2
 |-  ( K e. ( Z H W ) -> ( Z e. ( Base ` C ) /\ W e. ( Base ` C ) ) )
17 6 16 syl
 |-  ( ph -> ( Z e. ( Base ` C ) /\ W e. ( Base ` C ) ) )
18 17 simpld
 |-  ( ph -> Z e. ( Base ` C ) )
19 1 8 homahom
 |-  ( F e. ( X H Y ) -> ( 2nd ` F ) e. ( X ( Hom ` C ) Y ) )
20 4 19 syl
 |-  ( ph -> ( 2nd ` F ) e. ( X ( Hom ` C ) Y ) )
21 1 8 homahom
 |-  ( G e. ( Y H Z ) -> ( 2nd ` G ) e. ( Y ( Hom ` C ) Z ) )
22 5 21 syl
 |-  ( ph -> ( 2nd ` G ) e. ( Y ( Hom ` C ) Z ) )
23 17 simprd
 |-  ( ph -> W e. ( Base ` C ) )
24 1 8 homahom
 |-  ( K e. ( Z H W ) -> ( 2nd ` K ) e. ( Z ( Hom ` C ) W ) )
25 6 24 syl
 |-  ( ph -> ( 2nd ` K ) e. ( Z ( Hom ` C ) W ) )
26 7 8 9 11 14 15 18 20 22 23 25 catass
 |-  ( ph -> ( ( ( 2nd ` K ) ( <. Y , Z >. ( comp ` C ) W ) ( 2nd ` G ) ) ( <. X , Y >. ( comp ` C ) W ) ( 2nd ` F ) ) = ( ( 2nd ` K ) ( <. X , Z >. ( comp ` C ) W ) ( ( 2nd ` G ) ( <. X , Y >. ( comp ` C ) Z ) ( 2nd ` F ) ) ) )
27 2 1 5 6 9 coa2
 |-  ( ph -> ( 2nd ` ( K .x. G ) ) = ( ( 2nd ` K ) ( <. Y , Z >. ( comp ` C ) W ) ( 2nd ` G ) ) )
28 27 oveq1d
 |-  ( ph -> ( ( 2nd ` ( K .x. G ) ) ( <. X , Y >. ( comp ` C ) W ) ( 2nd ` F ) ) = ( ( ( 2nd ` K ) ( <. Y , Z >. ( comp ` C ) W ) ( 2nd ` G ) ) ( <. X , Y >. ( comp ` C ) W ) ( 2nd ` F ) ) )
29 2 1 4 5 9 coa2
 |-  ( ph -> ( 2nd ` ( G .x. F ) ) = ( ( 2nd ` G ) ( <. X , Y >. ( comp ` C ) Z ) ( 2nd ` F ) ) )
30 29 oveq2d
 |-  ( ph -> ( ( 2nd ` K ) ( <. X , Z >. ( comp ` C ) W ) ( 2nd ` ( G .x. F ) ) ) = ( ( 2nd ` K ) ( <. X , Z >. ( comp ` C ) W ) ( ( 2nd ` G ) ( <. X , Y >. ( comp ` C ) Z ) ( 2nd ` F ) ) ) )
31 26 28 30 3eqtr4d
 |-  ( ph -> ( ( 2nd ` ( K .x. G ) ) ( <. X , Y >. ( comp ` C ) W ) ( 2nd ` F ) ) = ( ( 2nd ` K ) ( <. X , Z >. ( comp ` C ) W ) ( 2nd ` ( G .x. F ) ) ) )
32 31 oteq3d
 |-  ( ph -> <. X , W , ( ( 2nd ` ( K .x. G ) ) ( <. X , Y >. ( comp ` C ) W ) ( 2nd ` F ) ) >. = <. X , W , ( ( 2nd ` K ) ( <. X , Z >. ( comp ` C ) W ) ( 2nd ` ( G .x. F ) ) ) >. )
33 2 1 5 6 coahom
 |-  ( ph -> ( K .x. G ) e. ( Y H W ) )
34 2 1 4 33 9 coaval
 |-  ( ph -> ( ( K .x. G ) .x. F ) = <. X , W , ( ( 2nd ` ( K .x. G ) ) ( <. X , Y >. ( comp ` C ) W ) ( 2nd ` F ) ) >. )
35 2 1 4 5 coahom
 |-  ( ph -> ( G .x. F ) e. ( X H Z ) )
36 2 1 35 6 9 coaval
 |-  ( ph -> ( K .x. ( G .x. F ) ) = <. X , W , ( ( 2nd ` K ) ( <. X , Z >. ( comp ` C ) W ) ( 2nd ` ( G .x. F ) ) ) >. )
37 32 34 36 3eqtr4d
 |-  ( ph -> ( ( K .x. G ) .x. F ) = ( K .x. ( G .x. F ) ) )