| Step |
Hyp |
Ref |
Expression |
| 1 |
|
yoneda.y |
|- Y = ( Yon ` C ) |
| 2 |
|
yoneda.b |
|- B = ( Base ` C ) |
| 3 |
|
yoneda.1 |
|- .1. = ( Id ` C ) |
| 4 |
|
yoneda.o |
|- O = ( oppCat ` C ) |
| 5 |
|
yoneda.s |
|- S = ( SetCat ` U ) |
| 6 |
|
yoneda.t |
|- T = ( SetCat ` V ) |
| 7 |
|
yoneda.q |
|- Q = ( O FuncCat S ) |
| 8 |
|
yoneda.h |
|- H = ( HomF ` Q ) |
| 9 |
|
yoneda.r |
|- R = ( ( Q Xc. O ) FuncCat T ) |
| 10 |
|
yoneda.e |
|- E = ( O evalF S ) |
| 11 |
|
yoneda.z |
|- Z = ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) |
| 12 |
|
yoneda.c |
|- ( ph -> C e. Cat ) |
| 13 |
|
yoneda.w |
|- ( ph -> V e. W ) |
| 14 |
|
yoneda.u |
|- ( ph -> ran ( Homf ` C ) C_ U ) |
| 15 |
|
yoneda.v |
|- ( ph -> ( ran ( Homf ` Q ) u. U ) C_ V ) |
| 16 |
|
yonedalem21.f |
|- ( ph -> F e. ( O Func S ) ) |
| 17 |
|
yonedalem21.x |
|- ( ph -> X e. B ) |
| 18 |
11
|
fveq2i |
|- ( 1st ` Z ) = ( 1st ` ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ) |
| 19 |
18
|
oveqi |
|- ( F ( 1st ` Z ) X ) = ( F ( 1st ` ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ) X ) |
| 20 |
|
df-ov |
|- ( F ( 1st ` ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ) X ) = ( ( 1st ` ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ) ` <. F , X >. ) |
| 21 |
19 20
|
eqtri |
|- ( F ( 1st ` Z ) X ) = ( ( 1st ` ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ) ` <. F , X >. ) |
| 22 |
|
eqid |
|- ( Q Xc. O ) = ( Q Xc. O ) |
| 23 |
7
|
fucbas |
|- ( O Func S ) = ( Base ` Q ) |
| 24 |
4 2
|
oppcbas |
|- B = ( Base ` O ) |
| 25 |
22 23 24
|
xpcbas |
|- ( ( O Func S ) X. B ) = ( Base ` ( Q Xc. O ) ) |
| 26 |
|
eqid |
|- ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) = ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) |
| 27 |
|
eqid |
|- ( ( oppCat ` Q ) Xc. Q ) = ( ( oppCat ` Q ) Xc. Q ) |
| 28 |
4
|
oppccat |
|- ( C e. Cat -> O e. Cat ) |
| 29 |
12 28
|
syl |
|- ( ph -> O e. Cat ) |
| 30 |
15
|
unssbd |
|- ( ph -> U C_ V ) |
| 31 |
13 30
|
ssexd |
|- ( ph -> U e. _V ) |
| 32 |
5
|
setccat |
|- ( U e. _V -> S e. Cat ) |
| 33 |
31 32
|
syl |
|- ( ph -> S e. Cat ) |
| 34 |
7 29 33
|
fuccat |
|- ( ph -> Q e. Cat ) |
| 35 |
|
eqid |
|- ( Q 2ndF O ) = ( Q 2ndF O ) |
| 36 |
22 34 29 35
|
2ndfcl |
|- ( ph -> ( Q 2ndF O ) e. ( ( Q Xc. O ) Func O ) ) |
| 37 |
|
eqid |
|- ( oppCat ` Q ) = ( oppCat ` Q ) |
| 38 |
|
relfunc |
|- Rel ( C Func Q ) |
| 39 |
1 12 4 5 7 31 14
|
yoncl |
|- ( ph -> Y e. ( C Func Q ) ) |
| 40 |
|
1st2ndbr |
|- ( ( Rel ( C Func Q ) /\ Y e. ( C Func Q ) ) -> ( 1st ` Y ) ( C Func Q ) ( 2nd ` Y ) ) |
| 41 |
38 39 40
|
sylancr |
|- ( ph -> ( 1st ` Y ) ( C Func Q ) ( 2nd ` Y ) ) |
| 42 |
4 37 41
|
funcoppc |
|- ( ph -> ( 1st ` Y ) ( O Func ( oppCat ` Q ) ) tpos ( 2nd ` Y ) ) |
| 43 |
|
df-br |
|- ( ( 1st ` Y ) ( O Func ( oppCat ` Q ) ) tpos ( 2nd ` Y ) <-> <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. e. ( O Func ( oppCat ` Q ) ) ) |
| 44 |
42 43
|
sylib |
|- ( ph -> <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. e. ( O Func ( oppCat ` Q ) ) ) |
| 45 |
36 44
|
cofucl |
|- ( ph -> ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) e. ( ( Q Xc. O ) Func ( oppCat ` Q ) ) ) |
| 46 |
|
eqid |
|- ( Q 1stF O ) = ( Q 1stF O ) |
| 47 |
22 34 29 46
|
1stfcl |
|- ( ph -> ( Q 1stF O ) e. ( ( Q Xc. O ) Func Q ) ) |
| 48 |
26 27 45 47
|
prfcl |
|- ( ph -> ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) e. ( ( Q Xc. O ) Func ( ( oppCat ` Q ) Xc. Q ) ) ) |
| 49 |
15
|
unssad |
|- ( ph -> ran ( Homf ` Q ) C_ V ) |
| 50 |
8 37 6 34 13 49
|
hofcl |
|- ( ph -> H e. ( ( ( oppCat ` Q ) Xc. Q ) Func T ) ) |
| 51 |
16 17
|
opelxpd |
|- ( ph -> <. F , X >. e. ( ( O Func S ) X. B ) ) |
| 52 |
25 48 50 51
|
cofu1 |
|- ( ph -> ( ( 1st ` ( H o.func ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ) ` <. F , X >. ) = ( ( 1st ` H ) ` ( ( 1st ` ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ` <. F , X >. ) ) ) |
| 53 |
21 52
|
eqtrid |
|- ( ph -> ( F ( 1st ` Z ) X ) = ( ( 1st ` H ) ` ( ( 1st ` ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ` <. F , X >. ) ) ) |
| 54 |
|
eqid |
|- ( Hom ` ( Q Xc. O ) ) = ( Hom ` ( Q Xc. O ) ) |
| 55 |
26 25 54 45 47 51
|
prf1 |
|- ( ph -> ( ( 1st ` ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ` <. F , X >. ) = <. ( ( 1st ` ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) ) ` <. F , X >. ) , ( ( 1st ` ( Q 1stF O ) ) ` <. F , X >. ) >. ) |
| 56 |
25 36 44 51
|
cofu1 |
|- ( ph -> ( ( 1st ` ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) ) ` <. F , X >. ) = ( ( 1st ` <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. ) ` ( ( 1st ` ( Q 2ndF O ) ) ` <. F , X >. ) ) ) |
| 57 |
|
fvex |
|- ( 1st ` Y ) e. _V |
| 58 |
|
fvex |
|- ( 2nd ` Y ) e. _V |
| 59 |
58
|
tposex |
|- tpos ( 2nd ` Y ) e. _V |
| 60 |
57 59
|
op1st |
|- ( 1st ` <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. ) = ( 1st ` Y ) |
| 61 |
60
|
a1i |
|- ( ph -> ( 1st ` <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. ) = ( 1st ` Y ) ) |
| 62 |
22 25 54 34 29 35 51
|
2ndf1 |
|- ( ph -> ( ( 1st ` ( Q 2ndF O ) ) ` <. F , X >. ) = ( 2nd ` <. F , X >. ) ) |
| 63 |
|
op2ndg |
|- ( ( F e. ( O Func S ) /\ X e. B ) -> ( 2nd ` <. F , X >. ) = X ) |
| 64 |
16 17 63
|
syl2anc |
|- ( ph -> ( 2nd ` <. F , X >. ) = X ) |
| 65 |
62 64
|
eqtrd |
|- ( ph -> ( ( 1st ` ( Q 2ndF O ) ) ` <. F , X >. ) = X ) |
| 66 |
61 65
|
fveq12d |
|- ( ph -> ( ( 1st ` <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. ) ` ( ( 1st ` ( Q 2ndF O ) ) ` <. F , X >. ) ) = ( ( 1st ` Y ) ` X ) ) |
| 67 |
56 66
|
eqtrd |
|- ( ph -> ( ( 1st ` ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) ) ` <. F , X >. ) = ( ( 1st ` Y ) ` X ) ) |
| 68 |
22 25 54 34 29 46 51
|
1stf1 |
|- ( ph -> ( ( 1st ` ( Q 1stF O ) ) ` <. F , X >. ) = ( 1st ` <. F , X >. ) ) |
| 69 |
|
op1stg |
|- ( ( F e. ( O Func S ) /\ X e. B ) -> ( 1st ` <. F , X >. ) = F ) |
| 70 |
16 17 69
|
syl2anc |
|- ( ph -> ( 1st ` <. F , X >. ) = F ) |
| 71 |
68 70
|
eqtrd |
|- ( ph -> ( ( 1st ` ( Q 1stF O ) ) ` <. F , X >. ) = F ) |
| 72 |
67 71
|
opeq12d |
|- ( ph -> <. ( ( 1st ` ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) ) ` <. F , X >. ) , ( ( 1st ` ( Q 1stF O ) ) ` <. F , X >. ) >. = <. ( ( 1st ` Y ) ` X ) , F >. ) |
| 73 |
55 72
|
eqtrd |
|- ( ph -> ( ( 1st ` ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ` <. F , X >. ) = <. ( ( 1st ` Y ) ` X ) , F >. ) |
| 74 |
73
|
fveq2d |
|- ( ph -> ( ( 1st ` H ) ` ( ( 1st ` ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ` <. F , X >. ) ) = ( ( 1st ` H ) ` <. ( ( 1st ` Y ) ` X ) , F >. ) ) |
| 75 |
|
df-ov |
|- ( ( ( 1st ` Y ) ` X ) ( 1st ` H ) F ) = ( ( 1st ` H ) ` <. ( ( 1st ` Y ) ` X ) , F >. ) |
| 76 |
74 75
|
eqtr4di |
|- ( ph -> ( ( 1st ` H ) ` ( ( 1st ` ( ( <. ( 1st ` Y ) , tpos ( 2nd ` Y ) >. o.func ( Q 2ndF O ) ) pairF ( Q 1stF O ) ) ) ` <. F , X >. ) ) = ( ( ( 1st ` Y ) ` X ) ( 1st ` H ) F ) ) |
| 77 |
|
eqid |
|- ( O Nat S ) = ( O Nat S ) |
| 78 |
7 77
|
fuchom |
|- ( O Nat S ) = ( Hom ` Q ) |
| 79 |
1 2 12 17 4 5 31 14
|
yon1cl |
|- ( ph -> ( ( 1st ` Y ) ` X ) e. ( O Func S ) ) |
| 80 |
8 34 23 78 79 16
|
hof1 |
|- ( ph -> ( ( ( 1st ` Y ) ` X ) ( 1st ` H ) F ) = ( ( ( 1st ` Y ) ` X ) ( O Nat S ) F ) ) |
| 81 |
53 76 80
|
3eqtrd |
|- ( ph -> ( F ( 1st ` Z ) X ) = ( ( ( 1st ` Y ) ` X ) ( O Nat S ) F ) ) |