Metamath Proof Explorer


Theorem fucofvalne

Description: Value of the function giving the functor composition bifunctor, if C or D are not sets. (Contributed by Zhi Wang, 7-Oct-2025)

Ref Expression
Hypotheses fucofvalne.c φ ¬ C V D V
fucofvalne.e φ E Cat
fucofvalne.o No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = .o. ) with typecode |-
fucofvalne.w φ W = D Func E × C Func D
Assertion fucofvalne Could not format assertion : No typesetting found for |- ( ph -> .o. =/= <. ( o.func |` W ) , ( u e. W , v e. W |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( D Nat E ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( C Nat D ) ( 2nd ` v ) ) |-> ( x e. ( Base ` C ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` E ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) with typecode |-

Proof

Step Hyp Ref Expression
1 fucofvalne.c φ ¬ C V D V
2 fucofvalne.e φ E Cat
3 fucofvalne.o Could not format ( ph -> ( <. C , D >. o.F E ) = .o. ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = .o. ) with typecode |-
4 fucofvalne.w φ W = D Func E × C Func D
5 0ex V
6 5 a1i φ V
7 1st0 1 st =
8 7 a1i φ 1 st =
9 2nd0 2 nd =
10 9 a1i φ 2 nd =
11 opprc ¬ C V D V C D =
12 1 11 syl φ C D =
13 12 oveq1d Could not format ( ph -> ( <. C , D >. o.F E ) = ( (/) o.F E ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = ( (/) o.F E ) ) with typecode |-
14 13 3 eqtr3d Could not format ( ph -> ( (/) o.F E ) = .o. ) : No typesetting found for |- ( ph -> ( (/) o.F E ) = .o. ) with typecode |-
15 eqidd φ Func E × Func = Func E × Func
16 6 8 10 2 14 15 fucofvalg Could not format ( ph -> .o. = <. ( o.func |` ( ( (/) Func E ) X. ( (/) Func (/) ) ) ) , ( u e. ( ( (/) Func E ) X. ( (/) Func (/) ) ) , v e. ( ( (/) Func E ) X. ( (/) Func (/) ) ) |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( (/) Nat E ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( (/) Nat (/) ) ( 2nd ` v ) ) |-> ( x e. ( Base ` (/) ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` E ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) : No typesetting found for |- ( ph -> .o. = <. ( o.func |` ( ( (/) Func E ) X. ( (/) Func (/) ) ) ) , ( u e. ( ( (/) Func E ) X. ( (/) Func (/) ) ) , v e. ( ( (/) Func E ) X. ( (/) Func (/) ) ) |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( (/) Nat E ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( (/) Nat (/) ) ( 2nd ` v ) ) |-> ( x e. ( Base ` (/) ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` E ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) with typecode |-
17 opex V
18 17 snnz
19 18 neii ¬ =
20 ioran ¬ = = ¬ = ¬ =
21 xpeq0 × = = =
22 21 biimpi × = = =
23 22 con3i ¬ = = ¬ × =
24 20 23 sylbir ¬ = ¬ = ¬ × =
25 19 19 24 mp2an ¬ × =
26 2 0func φ Func E =
27 0cat Cat
28 27 a1i φ Cat
29 28 0func φ Func =
30 26 29 xpeq12d φ Func E × Func = ×
31 df-func Func = t Cat , u Cat f g | [˙Base t / b]˙ f : b Base u g z b × b f 1 st z Hom u f 2 nd z Hom t z x b x g x Id t x = Id u f x y b z b m x Hom t y n y Hom t z x g z n x y comp t z m = y g z n f x f y comp u f z x g y m
32 31 reldmmpo Rel dom Func
33 0nelrel0 Rel dom Func ¬ dom Func
34 32 33 ax-mp ¬ dom Func
35 12 eleq1d φ C D dom Func dom Func
36 34 35 mtbiri φ ¬ C D dom Func
37 df-ov C Func D = Func C D
38 ndmfv ¬ C D dom Func Func C D =
39 37 38 eqtrid ¬ C D dom Func C Func D =
40 39 xpeq2d ¬ C D dom Func D Func E × C Func D = D Func E ×
41 xp0 D Func E × =
42 40 41 eqtrdi ¬ C D dom Func D Func E × C Func D =
43 36 42 syl φ D Func E × C Func D =
44 30 43 eqeq12d φ Func E × Func = D Func E × C Func D × =
45 25 44 mtbiri φ ¬ Func E × Func = D Func E × C Func D
46 rescofuf func Func E × Func : Func E × Func Func E
47 46 fdmi dom func Func E × Func = Func E × Func
48 rescofuf func D Func E × C Func D : D Func E × C Func D C Func E
49 48 fdmi dom func D Func E × C Func D = D Func E × C Func D
50 47 49 eqeq12i dom func Func E × Func = dom func D Func E × C Func D Func E × Func = D Func E × C Func D
51 50 biimpi dom func Func E × Func = dom func D Func E × C Func D Func E × Func = D Func E × C Func D
52 51 con3i ¬ Func E × Func = D Func E × C Func D ¬ dom func Func E × Func = dom func D Func E × C Func D
53 dmeq func Func E × Func = func D Func E × C Func D dom func Func E × Func = dom func D Func E × C Func D
54 53 con3i ¬ dom func Func E × Func = dom func D Func E × C Func D ¬ func Func E × Func = func D Func E × C Func D
55 45 52 54 3syl φ ¬ func Func E × Func = func D Func E × C Func D
56 55 neqned φ func Func E × Func func D Func E × C Func D
57 4 reseq2d φ func W = func D Func E × C Func D
58 56 57 neeqtrrd φ func Func E × Func func W
59 ovex Func E V
60 ovex Func V
61 59 60 xpex Func E × Func V
62 fex func Func E × Func : Func E × Func Func E Func E × Func V func Func E × Func V
63 46 61 62 mp2an func Func E × Func V
64 61 61 mpoex u Func E × Func , v Func E × Func 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u Nat E 1 st v , a 2 nd u Nat 2 nd v x Base b m x k f x k m x comp E r m x f x l m x a x V
65 opth1neg func Func E × Func V u Func E × Func , v Func E × Func 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u Nat E 1 st v , a 2 nd u Nat 2 nd v x Base b m x k f x k m x comp E r m x f x l m x a x V func Func E × Func func W func Func E × Func u Func E × Func , v Func E × Func 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u Nat E 1 st v , a 2 nd u Nat 2 nd v x Base b m x k f x k m x comp E r m x f x l m x a x func W u W , v W 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u D Nat E 1 st v , a 2 nd u C Nat D 2 nd v x Base C b m x k f x k m x comp E r m x f x l m x a x
66 63 64 65 mp2an func Func E × Func func W func Func E × Func u Func E × Func , v Func E × Func 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u Nat E 1 st v , a 2 nd u Nat 2 nd v x Base b m x k f x k m x comp E r m x f x l m x a x func W u W , v W 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u D Nat E 1 st v , a 2 nd u C Nat D 2 nd v x Base C b m x k f x k m x comp E r m x f x l m x a x
67 58 66 syl φ func Func E × Func u Func E × Func , v Func E × Func 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u Nat E 1 st v , a 2 nd u Nat 2 nd v x Base b m x k f x k m x comp E r m x f x l m x a x func W u W , v W 1 st 2 nd u / f 1 st 1 st u / k 2 nd 1 st u / l 1 st 2 nd v / m 1 st 1 st v / r b 1 st u D Nat E 1 st v , a 2 nd u C Nat D 2 nd v x Base C b m x k f x k m x comp E r m x f x l m x a x
68 16 67 eqnetrd Could not format ( ph -> .o. =/= <. ( o.func |` W ) , ( u e. W , v e. W |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( D Nat E ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( C Nat D ) ( 2nd ` v ) ) |-> ( x e. ( Base ` C ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` E ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) : No typesetting found for |- ( ph -> .o. =/= <. ( o.func |` W ) , ( u e. W , v e. W |-> [_ ( 1st ` ( 2nd ` u ) ) / f ]_ [_ ( 1st ` ( 1st ` u ) ) / k ]_ [_ ( 2nd ` ( 1st ` u ) ) / l ]_ [_ ( 1st ` ( 2nd ` v ) ) / m ]_ [_ ( 1st ` ( 1st ` v ) ) / r ]_ ( b e. ( ( 1st ` u ) ( D Nat E ) ( 1st ` v ) ) , a e. ( ( 2nd ` u ) ( C Nat D ) ( 2nd ` v ) ) |-> ( x e. ( Base ` C ) |-> ( ( b ` ( m ` x ) ) ( <. ( k ` ( f ` x ) ) , ( k ` ( m ` x ) ) >. ( comp ` E ) ( r ` ( m ` x ) ) ) ( ( ( f ` x ) l ( m ` x ) ) ` ( a ` x ) ) ) ) ) ) >. ) with typecode |-