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 |-