Metamath Proof Explorer


Theorem yon2

Description: Value of the Yoneda embedding at a morphism. (Contributed by Mario Carneiro, 17-Jan-2017)

Ref Expression
Hypotheses yon11.y โŠข ๐‘Œ = ( Yon โ€˜ ๐ถ )
yon11.b โŠข ๐ต = ( Base โ€˜ ๐ถ )
yon11.c โŠข ( ๐œ‘ โ†’ ๐ถ โˆˆ Cat )
yon11.p โŠข ( ๐œ‘ โ†’ ๐‘‹ โˆˆ ๐ต )
yon11.h โŠข ๐ป = ( Hom โ€˜ ๐ถ )
yon11.z โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ ๐ต )
yon12.x โŠข ยท = ( comp โ€˜ ๐ถ )
yon12.w โŠข ( ๐œ‘ โ†’ ๐‘Š โˆˆ ๐ต )
yon2.f โŠข ( ๐œ‘ โ†’ ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘ ) )
yon2.g โŠข ( ๐œ‘ โ†’ ๐บ โˆˆ ( ๐‘Š ๐ป ๐‘‹ ) )
Assertion yon2 ( ๐œ‘ โ†’ ( ( ( ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) โ€˜ ๐บ ) = ( ๐น ( โŸจ ๐‘Š , ๐‘‹ โŸฉ ยท ๐‘ ) ๐บ ) )

Proof

Step Hyp Ref Expression
1 yon11.y โŠข ๐‘Œ = ( Yon โ€˜ ๐ถ )
2 yon11.b โŠข ๐ต = ( Base โ€˜ ๐ถ )
3 yon11.c โŠข ( ๐œ‘ โ†’ ๐ถ โˆˆ Cat )
4 yon11.p โŠข ( ๐œ‘ โ†’ ๐‘‹ โˆˆ ๐ต )
5 yon11.h โŠข ๐ป = ( Hom โ€˜ ๐ถ )
6 yon11.z โŠข ( ๐œ‘ โ†’ ๐‘ โˆˆ ๐ต )
7 yon12.x โŠข ยท = ( comp โ€˜ ๐ถ )
8 yon12.w โŠข ( ๐œ‘ โ†’ ๐‘Š โˆˆ ๐ต )
9 yon2.f โŠข ( ๐œ‘ โ†’ ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘ ) )
10 yon2.g โŠข ( ๐œ‘ โ†’ ๐บ โˆˆ ( ๐‘Š ๐ป ๐‘‹ ) )
11 eqid โŠข ( oppCat โ€˜ ๐ถ ) = ( oppCat โ€˜ ๐ถ )
12 eqid โŠข ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) = ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) )
13 1 3 11 12 yonval โŠข ( ๐œ‘ โ†’ ๐‘Œ = ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) )
14 13 fveq2d โŠข ( ๐œ‘ โ†’ ( 2nd โ€˜ ๐‘Œ ) = ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) )
15 14 oveqd โŠข ( ๐œ‘ โ†’ ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) = ( ๐‘‹ ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) ๐‘ ) )
16 15 fveq1d โŠข ( ๐œ‘ โ†’ ( ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) โ€˜ ๐น ) = ( ( ๐‘‹ ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) ๐‘ ) โ€˜ ๐น ) )
17 16 fveq1d โŠข ( ๐œ‘ โ†’ ( ( ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) = ( ( ( ๐‘‹ ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) )
18 eqid โŠข ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) = ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) )
19 11 oppccat โŠข ( ๐ถ โˆˆ Cat โ†’ ( oppCat โ€˜ ๐ถ ) โˆˆ Cat )
20 3 19 syl โŠข ( ๐œ‘ โ†’ ( oppCat โ€˜ ๐ถ ) โˆˆ Cat )
21 eqid โŠข ( SetCat โ€˜ ran ( Homf โ€˜ ๐ถ ) ) = ( SetCat โ€˜ ran ( Homf โ€˜ ๐ถ ) )
22 fvex โŠข ( Homf โ€˜ ๐ถ ) โˆˆ V
23 22 rnex โŠข ran ( Homf โ€˜ ๐ถ ) โˆˆ V
24 23 a1i โŠข ( ๐œ‘ โ†’ ran ( Homf โ€˜ ๐ถ ) โˆˆ V )
25 ssidd โŠข ( ๐œ‘ โ†’ ran ( Homf โ€˜ ๐ถ ) โІ ran ( Homf โ€˜ ๐ถ ) )
26 11 12 21 3 24 25 oppchofcl โŠข ( ๐œ‘ โ†’ ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) โˆˆ ( ( ๐ถ ร—c ( oppCat โ€˜ ๐ถ ) ) Func ( SetCat โ€˜ ran ( Homf โ€˜ ๐ถ ) ) ) )
27 11 2 oppcbas โŠข ๐ต = ( Base โ€˜ ( oppCat โ€˜ ๐ถ ) )
28 eqid โŠข ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) = ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) )
29 eqid โŠข ( ( ๐‘‹ ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) ๐‘ ) โ€˜ ๐น ) = ( ( ๐‘‹ ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) ๐‘ ) โ€˜ ๐น )
30 18 2 3 20 26 27 5 28 4 6 9 29 8 curf2val โŠข ( ๐œ‘ โ†’ ( ( ( ๐‘‹ ( 2nd โ€˜ ( โŸจ ๐ถ , ( oppCat โ€˜ ๐ถ ) โŸฉ curryF ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) = ( ๐น ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( 2nd โ€˜ ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) โŸจ ๐‘ , ๐‘Š โŸฉ ) ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ) )
31 17 30 eqtrd โŠข ( ๐œ‘ โ†’ ( ( ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) = ( ๐น ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( 2nd โ€˜ ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) โŸจ ๐‘ , ๐‘Š โŸฉ ) ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ) )
32 31 fveq1d โŠข ( ๐œ‘ โ†’ ( ( ( ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) โ€˜ ๐บ ) = ( ( ๐น ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( 2nd โ€˜ ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) โŸจ ๐‘ , ๐‘Š โŸฉ ) ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ) โ€˜ ๐บ ) )
33 eqid โŠข ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) ) = ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) )
34 eqid โŠข ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) = ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) )
35 5 11 oppchom โŠข ( ๐‘ ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘‹ ) = ( ๐‘‹ ๐ป ๐‘ )
36 9 35 eleqtrrdi โŠข ( ๐œ‘ โ†’ ๐น โˆˆ ( ๐‘ ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘‹ ) )
37 27 33 28 20 8 catidcl โŠข ( ๐œ‘ โ†’ ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) โˆˆ ( ๐‘Š ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) )
38 5 11 oppchom โŠข ( ๐‘‹ ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) = ( ๐‘Š ๐ป ๐‘‹ )
39 10 38 eleqtrrdi โŠข ( ๐œ‘ โ†’ ๐บ โˆˆ ( ๐‘‹ ( Hom โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) )
40 12 20 27 33 4 8 6 8 34 36 37 39 hof2 โŠข ( ๐œ‘ โ†’ ( ( ๐น ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( 2nd โ€˜ ( HomF โ€˜ ( oppCat โ€˜ ๐ถ ) ) ) โŸจ ๐‘ , ๐‘Š โŸฉ ) ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ) โ€˜ ๐บ ) = ( ( ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐บ ) ( โŸจ ๐‘ , ๐‘‹ โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐น ) )
41 27 33 28 20 4 34 8 39 catlid โŠข ( ๐œ‘ โ†’ ( ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐บ ) = ๐บ )
42 41 oveq1d โŠข ( ๐œ‘ โ†’ ( ( ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐บ ) ( โŸจ ๐‘ , ๐‘‹ โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐น ) = ( ๐บ ( โŸจ ๐‘ , ๐‘‹ โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐น ) )
43 2 7 11 6 4 8 oppcco โŠข ( ๐œ‘ โ†’ ( ๐บ ( โŸจ ๐‘ , ๐‘‹ โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐น ) = ( ๐น ( โŸจ ๐‘Š , ๐‘‹ โŸฉ ยท ๐‘ ) ๐บ ) )
44 42 43 eqtrd โŠข ( ๐œ‘ โ†’ ( ( ( ( Id โ€˜ ( oppCat โ€˜ ๐ถ ) ) โ€˜ ๐‘Š ) ( โŸจ ๐‘‹ , ๐‘Š โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐บ ) ( โŸจ ๐‘ , ๐‘‹ โŸฉ ( comp โ€˜ ( oppCat โ€˜ ๐ถ ) ) ๐‘Š ) ๐น ) = ( ๐น ( โŸจ ๐‘Š , ๐‘‹ โŸฉ ยท ๐‘ ) ๐บ ) )
45 32 40 44 3eqtrd โŠข ( ๐œ‘ โ†’ ( ( ( ( ๐‘‹ ( 2nd โ€˜ ๐‘Œ ) ๐‘ ) โ€˜ ๐น ) โ€˜ ๐‘Š ) โ€˜ ๐บ ) = ( ๐น ( โŸจ ๐‘Š , ๐‘‹ โŸฉ ยท ๐‘ ) ๐บ ) )