| Step |
Hyp |
Ref |
Expression |
| 1 |
|
termorcl |
|- ( x e. ( TermO ` C ) -> C e. Cat ) |
| 2 |
|
vex |
|- x e. _V |
| 3 |
2
|
eldm |
|- ( x e. dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) <-> E. y x ( ( C Limit (/) ) ` <. (/) , (/) >. ) y ) |
| 4 |
|
df-br |
|- ( x ( ( C Limit (/) ) ` <. (/) , (/) >. ) y <-> <. x , y >. e. ( ( C Limit (/) ) ` <. (/) , (/) >. ) ) |
| 5 |
|
lmdrcl |
|- ( <. x , y >. e. ( ( C Limit (/) ) ` <. (/) , (/) >. ) -> <. (/) , (/) >. e. ( (/) Func C ) ) |
| 6 |
4 5
|
sylbi |
|- ( x ( ( C Limit (/) ) ` <. (/) , (/) >. ) y -> <. (/) , (/) >. e. ( (/) Func C ) ) |
| 7 |
6
|
func1st2nd |
|- ( x ( ( C Limit (/) ) ` <. (/) , (/) >. ) y -> ( 1st ` <. (/) , (/) >. ) ( (/) Func C ) ( 2nd ` <. (/) , (/) >. ) ) |
| 8 |
7
|
funcrcl3 |
|- ( x ( ( C Limit (/) ) ` <. (/) , (/) >. ) y -> C e. Cat ) |
| 9 |
8
|
exlimiv |
|- ( E. y x ( ( C Limit (/) ) ` <. (/) , (/) >. ) y -> C e. Cat ) |
| 10 |
3 9
|
sylbi |
|- ( x e. dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) -> C e. Cat ) |
| 11 |
|
initocmd |
|- ( InitO ` ( oppCat ` C ) ) = dom ( (/) ( ( oppCat ` C ) Colimit (/) ) (/) ) |
| 12 |
|
oppctermo |
|- ( x e. ( TermO ` C ) <-> x e. ( InitO ` ( oppCat ` C ) ) ) |
| 13 |
12
|
eqriv |
|- ( TermO ` C ) = ( InitO ` ( oppCat ` C ) ) |
| 14 |
13
|
a1i |
|- ( C e. Cat -> ( TermO ` C ) = ( InitO ` ( oppCat ` C ) ) ) |
| 15 |
|
eqid |
|- ( oppCat ` C ) = ( oppCat ` C ) |
| 16 |
15
|
2oppchomf |
|- ( Homf ` C ) = ( Homf ` ( oppCat ` ( oppCat ` C ) ) ) |
| 17 |
16
|
a1i |
|- ( C e. Cat -> ( Homf ` C ) = ( Homf ` ( oppCat ` ( oppCat ` C ) ) ) ) |
| 18 |
15
|
2oppccomf |
|- ( comf ` C ) = ( comf ` ( oppCat ` ( oppCat ` C ) ) ) |
| 19 |
18
|
a1i |
|- ( C e. Cat -> ( comf ` C ) = ( comf ` ( oppCat ` ( oppCat ` C ) ) ) ) |
| 20 |
|
ral0 |
|- A. x e. (/) A. y e. (/) ( x ( Hom ` (/) ) y ) = ( x ( Hom ` ( oppCat ` (/) ) ) y ) |
| 21 |
|
eqid |
|- ( Hom ` (/) ) = ( Hom ` (/) ) |
| 22 |
|
eqid |
|- ( Hom ` ( oppCat ` (/) ) ) = ( Hom ` ( oppCat ` (/) ) ) |
| 23 |
|
base0 |
|- (/) = ( Base ` (/) ) |
| 24 |
23
|
a1i |
|- ( C e. Cat -> (/) = ( Base ` (/) ) ) |
| 25 |
|
eqid |
|- ( oppCat ` (/) ) = ( oppCat ` (/) ) |
| 26 |
25 23
|
oppcbas |
|- (/) = ( Base ` ( oppCat ` (/) ) ) |
| 27 |
26
|
a1i |
|- ( C e. Cat -> (/) = ( Base ` ( oppCat ` (/) ) ) ) |
| 28 |
21 22 24 27
|
homfeq |
|- ( C e. Cat -> ( ( Homf ` (/) ) = ( Homf ` ( oppCat ` (/) ) ) <-> A. x e. (/) A. y e. (/) ( x ( Hom ` (/) ) y ) = ( x ( Hom ` ( oppCat ` (/) ) ) y ) ) ) |
| 29 |
20 28
|
mpbiri |
|- ( C e. Cat -> ( Homf ` (/) ) = ( Homf ` ( oppCat ` (/) ) ) ) |
| 30 |
|
ral0 |
|- A. x e. (/) A. y e. (/) A. z e. (/) A. f e. ( x ( Hom ` (/) ) y ) A. g e. ( y ( Hom ` (/) ) z ) ( g ( <. x , y >. ( comp ` (/) ) z ) f ) = ( g ( <. x , y >. ( comp ` ( oppCat ` (/) ) ) z ) f ) |
| 31 |
|
eqid |
|- ( comp ` (/) ) = ( comp ` (/) ) |
| 32 |
|
eqid |
|- ( comp ` ( oppCat ` (/) ) ) = ( comp ` ( oppCat ` (/) ) ) |
| 33 |
31 32 21 24 27 29
|
comfeq |
|- ( C e. Cat -> ( ( comf ` (/) ) = ( comf ` ( oppCat ` (/) ) ) <-> A. x e. (/) A. y e. (/) A. z e. (/) A. f e. ( x ( Hom ` (/) ) y ) A. g e. ( y ( Hom ` (/) ) z ) ( g ( <. x , y >. ( comp ` (/) ) z ) f ) = ( g ( <. x , y >. ( comp ` ( oppCat ` (/) ) ) z ) f ) ) ) |
| 34 |
30 33
|
mpbiri |
|- ( C e. Cat -> ( comf ` (/) ) = ( comf ` ( oppCat ` (/) ) ) ) |
| 35 |
|
elex |
|- ( C e. Cat -> C e. _V ) |
| 36 |
|
fvexd |
|- ( C e. Cat -> ( oppCat ` ( oppCat ` C ) ) e. _V ) |
| 37 |
|
0ex |
|- (/) e. _V |
| 38 |
37
|
a1i |
|- ( C e. Cat -> (/) e. _V ) |
| 39 |
|
fvexd |
|- ( C e. Cat -> ( oppCat ` (/) ) e. _V ) |
| 40 |
17 19 29 34 35 36 38 39
|
lmdpropd |
|- ( C e. Cat -> ( C Limit (/) ) = ( ( oppCat ` ( oppCat ` C ) ) Limit ( oppCat ` (/) ) ) ) |
| 41 |
|
eqidd |
|- ( C e. Cat -> (/) = (/) ) |
| 42 |
|
0cat |
|- (/) e. Cat |
| 43 |
42
|
a1i |
|- ( C e. Cat -> (/) e. Cat ) |
| 44 |
43 24 43
|
0funcg2 |
|- ( C e. Cat -> ( (/) ( (/) Func (/) ) (/) <-> ( (/) = (/) /\ (/) = (/) ) ) ) |
| 45 |
41 41 44
|
mpbir2and |
|- ( C e. Cat -> (/) ( (/) Func (/) ) (/) ) |
| 46 |
|
oppfval |
|- ( (/) ( (/) Func (/) ) (/) -> ( (/) oppFunc (/) ) = <. (/) , tpos (/) >. ) |
| 47 |
45 46
|
syl |
|- ( C e. Cat -> ( (/) oppFunc (/) ) = <. (/) , tpos (/) >. ) |
| 48 |
|
tpos0 |
|- tpos (/) = (/) |
| 49 |
48
|
opeq2i |
|- <. (/) , tpos (/) >. = <. (/) , (/) >. |
| 50 |
47 49
|
eqtr2di |
|- ( C e. Cat -> <. (/) , (/) >. = ( (/) oppFunc (/) ) ) |
| 51 |
40 50
|
fveq12d |
|- ( C e. Cat -> ( ( C Limit (/) ) ` <. (/) , (/) >. ) = ( ( ( oppCat ` ( oppCat ` C ) ) Limit ( oppCat ` (/) ) ) ` ( (/) oppFunc (/) ) ) ) |
| 52 |
|
df-ov |
|- ( (/) ( ( oppCat ` C ) Colimit (/) ) (/) ) = ( ( ( oppCat ` C ) Colimit (/) ) ` <. (/) , (/) >. ) |
| 53 |
|
eqid |
|- ( oppCat ` ( oppCat ` C ) ) = ( oppCat ` ( oppCat ` C ) ) |
| 54 |
|
df-ov |
|- ( (/) oppFunc (/) ) = ( oppFunc ` <. (/) , (/) >. ) |
| 55 |
|
fvexd |
|- ( C e. Cat -> ( oppCat ` C ) e. _V ) |
| 56 |
53 25 54 55 38
|
cmddu |
|- ( C e. Cat -> ( ( ( oppCat ` C ) Colimit (/) ) ` <. (/) , (/) >. ) = ( ( ( oppCat ` ( oppCat ` C ) ) Limit ( oppCat ` (/) ) ) ` ( (/) oppFunc (/) ) ) ) |
| 57 |
52 56
|
eqtrid |
|- ( C e. Cat -> ( (/) ( ( oppCat ` C ) Colimit (/) ) (/) ) = ( ( ( oppCat ` ( oppCat ` C ) ) Limit ( oppCat ` (/) ) ) ` ( (/) oppFunc (/) ) ) ) |
| 58 |
51 57
|
eqtr4d |
|- ( C e. Cat -> ( ( C Limit (/) ) ` <. (/) , (/) >. ) = ( (/) ( ( oppCat ` C ) Colimit (/) ) (/) ) ) |
| 59 |
58
|
dmeqd |
|- ( C e. Cat -> dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) = dom ( (/) ( ( oppCat ` C ) Colimit (/) ) (/) ) ) |
| 60 |
11 14 59
|
3eqtr4a |
|- ( C e. Cat -> ( TermO ` C ) = dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) ) |
| 61 |
60
|
eleq2d |
|- ( C e. Cat -> ( x e. ( TermO ` C ) <-> x e. dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) ) ) |
| 62 |
1 10 61
|
pm5.21nii |
|- ( x e. ( TermO ` C ) <-> x e. dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) ) |
| 63 |
62
|
eqriv |
|- ( TermO ` C ) = dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) |
| 64 |
|
df-ov |
|- ( (/) ( C Limit (/) ) (/) ) = ( ( C Limit (/) ) ` <. (/) , (/) >. ) |
| 65 |
64
|
dmeqi |
|- dom ( (/) ( C Limit (/) ) (/) ) = dom ( ( C Limit (/) ) ` <. (/) , (/) >. ) |
| 66 |
63 65
|
eqtr4i |
|- ( TermO ` C ) = dom ( (/) ( C Limit (/) ) (/) ) |