Metamath Proof Explorer


Theorem coaval

Description: Value of composition for composable arrows. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypotheses homdmcoa.o โŠข ยท = ( compa โ€˜ ๐ถ )
homdmcoa.h โŠข ๐ป = ( Homa โ€˜ ๐ถ )
homdmcoa.f โŠข ( ๐œ‘ โ†’ ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘Œ ) )
homdmcoa.g โŠข ( ๐œ‘ โ†’ ๐บ โˆˆ ( ๐‘Œ ๐ป ๐‘ ) )
coaval.x โŠข โˆ™ = ( comp โ€˜ ๐ถ )
Assertion coaval ( ๐œ‘ โ†’ ( ๐บ ยท ๐น ) = โŸจ ๐‘‹ , ๐‘ , ( ( 2nd โ€˜ ๐บ ) ( โŸจ ๐‘‹ , ๐‘Œ โŸฉ โˆ™ ๐‘ ) ( 2nd โ€˜ ๐น ) ) โŸฉ )

Proof

Step Hyp Ref Expression
1 homdmcoa.o โŠข ยท = ( compa โ€˜ ๐ถ )
2 homdmcoa.h โŠข ๐ป = ( Homa โ€˜ ๐ถ )
3 homdmcoa.f โŠข ( ๐œ‘ โ†’ ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘Œ ) )
4 homdmcoa.g โŠข ( ๐œ‘ โ†’ ๐บ โˆˆ ( ๐‘Œ ๐ป ๐‘ ) )
5 coaval.x โŠข โˆ™ = ( comp โ€˜ ๐ถ )
6 eqid โŠข ( Arrow โ€˜ ๐ถ ) = ( Arrow โ€˜ ๐ถ )
7 1 6 5 coafval โŠข ยท = ( ๐‘” โˆˆ ( Arrow โ€˜ ๐ถ ) , ๐‘“ โˆˆ { โ„Ž โˆˆ ( Arrow โ€˜ ๐ถ ) โˆฃ ( coda โ€˜ โ„Ž ) = ( doma โ€˜ ๐‘” ) } โ†ฆ โŸจ ( doma โ€˜ ๐‘“ ) , ( coda โ€˜ ๐‘” ) , ( ( 2nd โ€˜ ๐‘” ) ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) ( 2nd โ€˜ ๐‘“ ) ) โŸฉ )
8 6 2 homarw โŠข ( ๐‘Œ ๐ป ๐‘ ) โІ ( Arrow โ€˜ ๐ถ )
9 8 4 sselid โŠข ( ๐œ‘ โ†’ ๐บ โˆˆ ( Arrow โ€˜ ๐ถ ) )
10 fveqeq2 โŠข ( โ„Ž = ๐น โ†’ ( ( coda โ€˜ โ„Ž ) = ( doma โ€˜ ๐‘” ) โ†” ( coda โ€˜ ๐น ) = ( doma โ€˜ ๐‘” ) ) )
11 6 2 homarw โŠข ( ๐‘‹ ๐ป ๐‘Œ ) โІ ( Arrow โ€˜ ๐ถ )
12 3 adantr โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘Œ ) )
13 11 12 sselid โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ๐น โˆˆ ( Arrow โ€˜ ๐ถ ) )
14 2 homacd โŠข ( ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘Œ ) โ†’ ( coda โ€˜ ๐น ) = ๐‘Œ )
15 12 14 syl โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( coda โ€˜ ๐น ) = ๐‘Œ )
16 simpr โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ๐‘” = ๐บ )
17 16 fveq2d โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( doma โ€˜ ๐‘” ) = ( doma โ€˜ ๐บ ) )
18 4 adantr โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ๐บ โˆˆ ( ๐‘Œ ๐ป ๐‘ ) )
19 2 homadm โŠข ( ๐บ โˆˆ ( ๐‘Œ ๐ป ๐‘ ) โ†’ ( doma โ€˜ ๐บ ) = ๐‘Œ )
20 18 19 syl โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( doma โ€˜ ๐บ ) = ๐‘Œ )
21 17 20 eqtrd โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( doma โ€˜ ๐‘” ) = ๐‘Œ )
22 15 21 eqtr4d โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( coda โ€˜ ๐น ) = ( doma โ€˜ ๐‘” ) )
23 10 13 22 elrabd โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ๐น โˆˆ { โ„Ž โˆˆ ( Arrow โ€˜ ๐ถ ) โˆฃ ( coda โ€˜ โ„Ž ) = ( doma โ€˜ ๐‘” ) } )
24 otex โŠข โŸจ ( doma โ€˜ ๐‘“ ) , ( coda โ€˜ ๐‘” ) , ( ( 2nd โ€˜ ๐‘” ) ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) ( 2nd โ€˜ ๐‘“ ) ) โŸฉ โˆˆ V
25 24 a1i โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ โŸจ ( doma โ€˜ ๐‘“ ) , ( coda โ€˜ ๐‘” ) , ( ( 2nd โ€˜ ๐‘” ) ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) ( 2nd โ€˜ ๐‘“ ) ) โŸฉ โˆˆ V )
26 simprr โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ๐‘“ = ๐น )
27 26 fveq2d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( doma โ€˜ ๐‘“ ) = ( doma โ€˜ ๐น ) )
28 2 homadm โŠข ( ๐น โˆˆ ( ๐‘‹ ๐ป ๐‘Œ ) โ†’ ( doma โ€˜ ๐น ) = ๐‘‹ )
29 12 28 syl โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( doma โ€˜ ๐น ) = ๐‘‹ )
30 29 adantrr โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( doma โ€˜ ๐น ) = ๐‘‹ )
31 27 30 eqtrd โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( doma โ€˜ ๐‘“ ) = ๐‘‹ )
32 16 fveq2d โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( coda โ€˜ ๐‘” ) = ( coda โ€˜ ๐บ ) )
33 2 homacd โŠข ( ๐บ โˆˆ ( ๐‘Œ ๐ป ๐‘ ) โ†’ ( coda โ€˜ ๐บ ) = ๐‘ )
34 18 33 syl โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( coda โ€˜ ๐บ ) = ๐‘ )
35 32 34 eqtrd โŠข ( ( ๐œ‘ โˆง ๐‘” = ๐บ ) โ†’ ( coda โ€˜ ๐‘” ) = ๐‘ )
36 35 adantrr โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( coda โ€˜ ๐‘” ) = ๐‘ )
37 21 adantrr โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( doma โ€˜ ๐‘” ) = ๐‘Œ )
38 31 37 opeq12d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ = โŸจ ๐‘‹ , ๐‘Œ โŸฉ )
39 38 36 oveq12d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) = ( โŸจ ๐‘‹ , ๐‘Œ โŸฉ โˆ™ ๐‘ ) )
40 simprl โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ๐‘” = ๐บ )
41 40 fveq2d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( 2nd โ€˜ ๐‘” ) = ( 2nd โ€˜ ๐บ ) )
42 26 fveq2d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( 2nd โ€˜ ๐‘“ ) = ( 2nd โ€˜ ๐น ) )
43 39 41 42 oveq123d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ ( ( 2nd โ€˜ ๐‘” ) ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) ( 2nd โ€˜ ๐‘“ ) ) = ( ( 2nd โ€˜ ๐บ ) ( โŸจ ๐‘‹ , ๐‘Œ โŸฉ โˆ™ ๐‘ ) ( 2nd โ€˜ ๐น ) ) )
44 31 36 43 oteq123d โŠข ( ( ๐œ‘ โˆง ( ๐‘” = ๐บ โˆง ๐‘“ = ๐น ) ) โ†’ โŸจ ( doma โ€˜ ๐‘“ ) , ( coda โ€˜ ๐‘” ) , ( ( 2nd โ€˜ ๐‘” ) ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) ( 2nd โ€˜ ๐‘“ ) ) โŸฉ = โŸจ ๐‘‹ , ๐‘ , ( ( 2nd โ€˜ ๐บ ) ( โŸจ ๐‘‹ , ๐‘Œ โŸฉ โˆ™ ๐‘ ) ( 2nd โ€˜ ๐น ) ) โŸฉ )
45 9 23 25 44 ovmpodv2 โŠข ( ๐œ‘ โ†’ ( ยท = ( ๐‘” โˆˆ ( Arrow โ€˜ ๐ถ ) , ๐‘“ โˆˆ { โ„Ž โˆˆ ( Arrow โ€˜ ๐ถ ) โˆฃ ( coda โ€˜ โ„Ž ) = ( doma โ€˜ ๐‘” ) } โ†ฆ โŸจ ( doma โ€˜ ๐‘“ ) , ( coda โ€˜ ๐‘” ) , ( ( 2nd โ€˜ ๐‘” ) ( โŸจ ( doma โ€˜ ๐‘“ ) , ( doma โ€˜ ๐‘” ) โŸฉ โˆ™ ( coda โ€˜ ๐‘” ) ) ( 2nd โ€˜ ๐‘“ ) ) โŸฉ ) โ†’ ( ๐บ ยท ๐น ) = โŸจ ๐‘‹ , ๐‘ , ( ( 2nd โ€˜ ๐บ ) ( โŸจ ๐‘‹ , ๐‘Œ โŸฉ โˆ™ ๐‘ ) ( 2nd โ€˜ ๐น ) ) โŸฉ ) )
46 7 45 mpi โŠข ( ๐œ‘ โ†’ ( ๐บ ยท ๐น ) = โŸจ ๐‘‹ , ๐‘ , ( ( 2nd โ€˜ ๐บ ) ( โŸจ ๐‘‹ , ๐‘Œ โŸฉ โˆ™ ๐‘ ) ( 2nd โ€˜ ๐น ) ) โŸฉ )