Metamath Proof Explorer


Theorem monfval

Description: Definition of a monomorphism in a category. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses ismon.b โŠข ๐ต = ( Base โ€˜ ๐ถ )
ismon.h โŠข ๐ป = ( Hom โ€˜ ๐ถ )
ismon.o โŠข ยท = ( comp โ€˜ ๐ถ )
ismon.s โŠข ๐‘€ = ( Mono โ€˜ ๐ถ )
ismon.c โŠข ( ๐œ‘ โ†’ ๐ถ โˆˆ Cat )
Assertion monfval ( ๐œ‘ โ†’ ๐‘€ = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )

Proof

Step Hyp Ref Expression
1 ismon.b โŠข ๐ต = ( Base โ€˜ ๐ถ )
2 ismon.h โŠข ๐ป = ( Hom โ€˜ ๐ถ )
3 ismon.o โŠข ยท = ( comp โ€˜ ๐ถ )
4 ismon.s โŠข ๐‘€ = ( Mono โ€˜ ๐ถ )
5 ismon.c โŠข ( ๐œ‘ โ†’ ๐ถ โˆˆ Cat )
6 fvexd โŠข ( ๐‘ = ๐ถ โ†’ ( Base โ€˜ ๐‘ ) โˆˆ V )
7 fveq2 โŠข ( ๐‘ = ๐ถ โ†’ ( Base โ€˜ ๐‘ ) = ( Base โ€˜ ๐ถ ) )
8 7 1 eqtr4di โŠข ( ๐‘ = ๐ถ โ†’ ( Base โ€˜ ๐‘ ) = ๐ต )
9 fvexd โŠข ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โ†’ ( Hom โ€˜ ๐‘ ) โˆˆ V )
10 simpl โŠข ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โ†’ ๐‘ = ๐ถ )
11 10 fveq2d โŠข ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โ†’ ( Hom โ€˜ ๐‘ ) = ( Hom โ€˜ ๐ถ ) )
12 11 2 eqtr4di โŠข ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โ†’ ( Hom โ€˜ ๐‘ ) = ๐ป )
13 simplr โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ๐‘ = ๐ต )
14 simpr โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ โ„Ž = ๐ป )
15 14 oveqd โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( ๐‘ฅ โ„Ž ๐‘ฆ ) = ( ๐‘ฅ ๐ป ๐‘ฆ ) )
16 14 oveqd โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( ๐‘ง โ„Ž ๐‘ฅ ) = ( ๐‘ง ๐ป ๐‘ฅ ) )
17 simpll โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ๐‘ = ๐ถ )
18 17 fveq2d โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( comp โ€˜ ๐‘ ) = ( comp โ€˜ ๐ถ ) )
19 18 3 eqtr4di โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( comp โ€˜ ๐‘ ) = ยท )
20 19 oveqd โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) = ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) )
21 20 oveqd โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) = ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) )
22 16 21 mpteq12dv โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) = ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) )
23 22 cnveqd โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) = โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) )
24 23 funeqd โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) โ†” Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) ) )
25 13 24 raleqbidv โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( โˆ€ ๐‘ง โˆˆ ๐‘ Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) โ†” โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) ) )
26 15 25 rabeqbidv โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ { ๐‘“ โˆˆ ( ๐‘ฅ โ„Ž ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐‘ Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) } = { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } )
27 13 13 26 mpoeq123dv โŠข ( ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โˆง โ„Ž = ๐ป ) โ†’ ( ๐‘ฅ โˆˆ ๐‘ , ๐‘ฆ โˆˆ ๐‘ โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ โ„Ž ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐‘ Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) } ) = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )
28 9 12 27 csbied2 โŠข ( ( ๐‘ = ๐ถ โˆง ๐‘ = ๐ต ) โ†’ โฆ‹ ( Hom โ€˜ ๐‘ ) / โ„Ž โฆŒ ( ๐‘ฅ โˆˆ ๐‘ , ๐‘ฆ โˆˆ ๐‘ โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ โ„Ž ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐‘ Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) } ) = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )
29 6 8 28 csbied2 โŠข ( ๐‘ = ๐ถ โ†’ โฆ‹ ( Base โ€˜ ๐‘ ) / ๐‘ โฆŒ โฆ‹ ( Hom โ€˜ ๐‘ ) / โ„Ž โฆŒ ( ๐‘ฅ โˆˆ ๐‘ , ๐‘ฆ โˆˆ ๐‘ โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ โ„Ž ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐‘ Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) } ) = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )
30 df-mon โŠข Mono = ( ๐‘ โˆˆ Cat โ†ฆ โฆ‹ ( Base โ€˜ ๐‘ ) / ๐‘ โฆŒ โฆ‹ ( Hom โ€˜ ๐‘ ) / โ„Ž โฆŒ ( ๐‘ฅ โˆˆ ๐‘ , ๐‘ฆ โˆˆ ๐‘ โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ โ„Ž ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐‘ Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง โ„Ž ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ( comp โ€˜ ๐‘ ) ๐‘ฆ ) ๐‘” ) ) } ) )
31 1 fvexi โŠข ๐ต โˆˆ V
32 31 31 mpoex โŠข ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) โˆˆ V
33 29 30 32 fvmpt โŠข ( ๐ถ โˆˆ Cat โ†’ ( Mono โ€˜ ๐ถ ) = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )
34 5 33 syl โŠข ( ๐œ‘ โ†’ ( Mono โ€˜ ๐ถ ) = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )
35 4 34 eqtrid โŠข ( ๐œ‘ โ†’ ๐‘€ = ( ๐‘ฅ โˆˆ ๐ต , ๐‘ฆ โˆˆ ๐ต โ†ฆ { ๐‘“ โˆˆ ( ๐‘ฅ ๐ป ๐‘ฆ ) โˆฃ โˆ€ ๐‘ง โˆˆ ๐ต Fun โ—ก ( ๐‘” โˆˆ ( ๐‘ง ๐ป ๐‘ฅ ) โ†ฆ ( ๐‘“ ( โŸจ ๐‘ง , ๐‘ฅ โŸฉ ยท ๐‘ฆ ) ๐‘” ) ) } ) )