Metamath Proof Explorer


Theorem iscatd

Description: Properties that determine a category. (Contributed by Mario Carneiro, 2-Jan-2017)

Ref Expression
Hypotheses iscatd.b φB=BaseC
iscatd.h φH=HomC
iscatd.o φ·˙=compC
iscatd.c φCV
iscatd.1 φxB1˙xHx
iscatd.2 φxByBfyHx1˙yx·˙xf=f
iscatd.3 φxByBfxHyfxx·˙y1˙=f
iscatd.4 φxByBzBfxHygyHzgxy·˙zfxHz
iscatd.5 φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
Assertion iscatd φCCat

Proof

Step Hyp Ref Expression
1 iscatd.b φB=BaseC
2 iscatd.h φH=HomC
3 iscatd.o φ·˙=compC
4 iscatd.c φCV
5 iscatd.1 φxB1˙xHx
6 iscatd.2 φxByBfyHx1˙yx·˙xf=f
7 iscatd.3 φxByBfxHyfxx·˙y1˙=f
8 iscatd.4 φxByBzBfxHygyHzgxy·˙zfxHz
9 iscatd.5 φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
10 6 3exp2 φxByBfyHx1˙yx·˙xf=f
11 10 imp31 φxByBfyHx1˙yx·˙xf=f
12 11 ralrimiv φxByBfyHx1˙yx·˙xf=f
13 7 3exp2 φxByBfxHyfxx·˙y1˙=f
14 13 imp31 φxByBfxHyfxx·˙y1˙=f
15 14 ralrimiv φxByBfxHyfxx·˙y1˙=f
16 12 15 jca φxByBfyHx1˙yx·˙xf=ffxHyfxx·˙y1˙=f
17 16 ralrimiva φxByBfyHx1˙yx·˙xf=ffxHyfxx·˙y1˙=f
18 oveq1 g=1˙gyx·˙xf=1˙yx·˙xf
19 18 eqeq1d g=1˙gyx·˙xf=f1˙yx·˙xf=f
20 19 ralbidv g=1˙fyHxgyx·˙xf=ffyHx1˙yx·˙xf=f
21 oveq2 g=1˙fxx·˙yg=fxx·˙y1˙
22 21 eqeq1d g=1˙fxx·˙yg=ffxx·˙y1˙=f
23 22 ralbidv g=1˙fxHyfxx·˙yg=ffxHyfxx·˙y1˙=f
24 20 23 anbi12d g=1˙fyHxgyx·˙xf=ffxHyfxx·˙yg=ffyHx1˙yx·˙xf=ffxHyfxx·˙y1˙=f
25 24 ralbidv g=1˙yBfyHxgyx·˙xf=ffxHyfxx·˙yg=fyBfyHx1˙yx·˙xf=ffxHyfxx·˙y1˙=f
26 25 rspcev 1˙xHxyBfyHx1˙yx·˙xf=ffxHyfxx·˙y1˙=fgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=f
27 5 17 26 syl2anc φxBgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=f
28 8 3expia φxByBzBfxHygyHzgxy·˙zfxHz
29 28 3exp2 φxByBzBfxHygyHzgxy·˙zfxHz
30 29 imp43 φxByBzBfxHygyHzgxy·˙zfxHz
31 9 3expa φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
32 31 3exp2 φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
33 32 imp32 φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
34 33 ralrimiv φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
35 34 ex φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
36 35 expr φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
37 36 expd φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
38 37 expr φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
39 38 imp42 φxByBzBwBfxHygyHzkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
40 39 ralrimdva φxByBzBfxHygyHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
41 30 40 jcad φxByBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
42 41 ralrimivv φxByBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
43 42 ralrimivva φxByBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
44 27 43 jca φxBgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=fyBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
45 44 ralrimiva φxBgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=fyBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zf
46 2 oveqd φxHx=xHomCx
47 2 oveqd φyHx=yHomCx
48 3 oveqd φyx·˙x=yxcompCx
49 48 oveqd φgyx·˙xf=gyxcompCxf
50 49 eqeq1d φgyx·˙xf=fgyxcompCxf=f
51 47 50 raleqbidv φfyHxgyx·˙xf=ffyHomCxgyxcompCxf=f
52 2 oveqd φxHy=xHomCy
53 3 oveqd φxx·˙y=xxcompCy
54 53 oveqd φfxx·˙yg=fxxcompCyg
55 54 eqeq1d φfxx·˙yg=ffxxcompCyg=f
56 52 55 raleqbidv φfxHyfxx·˙yg=ffxHomCyfxxcompCyg=f
57 51 56 anbi12d φfyHxgyx·˙xf=ffxHyfxx·˙yg=ffyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=f
58 1 57 raleqbidv φyBfyHxgyx·˙xf=ffxHyfxx·˙yg=fyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=f
59 46 58 rexeqbidv φgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=fgxHomCxyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=f
60 2 oveqd φyHz=yHomCz
61 3 oveqd φxy·˙z=xycompCz
62 61 oveqd φgxy·˙zf=gxycompCzf
63 2 oveqd φxHz=xHomCz
64 62 63 eleq12d φgxy·˙zfxHzgxycompCzfxHomCz
65 2 oveqd φzHw=zHomCw
66 3 oveqd φxy·˙w=xycompCw
67 3 oveqd φyz·˙w=yzcompCw
68 67 oveqd φkyz·˙wg=kyzcompCwg
69 eqidd φf=f
70 66 68 69 oveq123d φkyz·˙wgxy·˙wf=kyzcompCwgxycompCwf
71 3 oveqd φxz·˙w=xzcompCw
72 eqidd φk=k
73 71 72 62 oveq123d φkxz·˙wgxy·˙zf=kxzcompCwgxycompCzf
74 70 73 eqeq12d φkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
75 65 74 raleqbidv φkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
76 1 75 raleqbidv φwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
77 64 76 anbi12d φgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
78 60 77 raleqbidv φgyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfgyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
79 52 78 raleqbidv φfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zffxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
80 1 79 raleqbidv φzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
81 1 80 raleqbidv φyBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfyBaseCzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
82 59 81 anbi12d φgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=fyBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfgxHomCxyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=fyBaseCzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
83 1 82 raleqbidv φxBgxHxyBfyHxgyx·˙xf=ffxHyfxx·˙yg=fyBzBfxHygyHzgxy·˙zfxHzwBkzHwkyz·˙wgxy·˙wf=kxz·˙wgxy·˙zfxBaseCgxHomCxyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=fyBaseCzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
84 45 83 mpbid φxBaseCgxHomCxyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=fyBaseCzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
85 eqid BaseC=BaseC
86 eqid HomC=HomC
87 eqid compC=compC
88 85 86 87 iscat CVCCatxBaseCgxHomCxyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=fyBaseCzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
89 4 88 syl φCCatxBaseCgxHomCxyBaseCfyHomCxgyxcompCxf=ffxHomCyfxxcompCyg=fyBaseCzBaseCfxHomCygyHomCzgxycompCzfxHomCzwBaseCkzHomCwkyzcompCwgxycompCwf=kxzcompCwgxycompCzf
90 84 89 mpbird φCCat