Metamath Proof Explorer


Theorem postcofval

Description: Value of the post-composition functor as a curry of the functor composition bifunctor. (Contributed by Zhi Wang, 11-Oct-2025)

Ref Expression
Hypotheses postcofval.q ⊢ Q = C FuncCat D
postcofval.r ⊢ R = D FuncCat E
postcofval.o No typesetting found for |- .o. = ( <. R , Q >. curryF ( <. C , D >. o.F E ) ) with typecode |-
postcofval.f ⊢ φ → F ∈ D Func E
postcofval.c ⊢ φ → C ∈ Cat
postcofval.k No typesetting found for |- K = ( ( 1st ` .o. ) ` F ) with typecode |-
Assertion postcofval ⊢ φ → K = g ∈ C Func D ⟼ F ∘ func g g ∈ C Func D , h ∈ C Func D ⟼ a ∈ g C Nat D h ⟼ x ∈ Base C ⟼ 1 st ⁡ g ⁡ x 2 nd ⁡ F 1 st ⁡ h ⁡ x ⁡ a ⁡ x

Proof

Step Hyp Ref Expression
1 postcofval.q ⊢ Q = C FuncCat D
2 postcofval.r ⊢ R = D FuncCat E
3 postcofval.o Could not format .o. = ( <. R , Q >. curryF ( <. C , D >. o.F E ) ) : No typesetting found for |- .o. = ( <. R , Q >. curryF ( <. C , D >. o.F E ) ) with typecode |-
4 postcofval.f ⊢ φ → F ∈ D Func E
5 postcofval.c ⊢ φ → C ∈ Cat
6 postcofval.k Could not format K = ( ( 1st ` .o. ) ` F ) : No typesetting found for |- K = ( ( 1st ` .o. ) ` F ) with typecode |-
7 2 fucbas ⊢ D Func E = Base R
8 4 func1st2nd ⊢ φ → 1 st ⁡ F D Func E 2 nd ⁡ F
9 8 funcrcl2 ⊢ φ → D ∈ Cat
10 8 funcrcl3 ⊢ φ → E ∈ Cat
11 2 9 10 fuccat ⊢ φ → R ∈ Cat
12 1 5 9 fuccat ⊢ φ → Q ∈ Cat
13 2 1 oveq12i ⊢ R × c Q = D FuncCat E × c C FuncCat D
14 eqid ⊢ C FuncCat E = C FuncCat E
15 13 14 5 9 10 fucofunca Could not format ( ph -> ( <. C , D >. o.F E ) e. ( ( R Xc. Q ) Func ( C FuncCat E ) ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) e. ( ( R Xc. Q ) Func ( C FuncCat E ) ) ) with typecode |-
16 1 fucbas ⊢ C Func D = Base Q
17 eqid ⊢ C Nat D = C Nat D
18 1 17 fuchom ⊢ C Nat D = Hom ⁡ Q
19 eqid ⊢ Id ⁡ R = Id ⁡ R
20 3 7 11 12 15 16 4 6 18 19 curf1 Could not format ( ph -> K = <. ( g e. ( C Func D ) |-> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) ) , ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) ) >. ) : No typesetting found for |- ( ph -> K = <. ( g e. ( C Func D ) |-> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) ) , ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) ) >. ) with typecode |-
21 eqidd Could not format ( ( ph /\ g e. ( C Func D ) ) -> ( 1st ` ( <. C , D >. o.F E ) ) = ( 1st ` ( <. C , D >. o.F E ) ) ) : No typesetting found for |- ( ( ph /\ g e. ( C Func D ) ) -> ( 1st ` ( <. C , D >. o.F E ) ) = ( 1st ` ( <. C , D >. o.F E ) ) ) with typecode |-
22 simpr ⊢ φ ∧ g ∈ C Func D → g ∈ C Func D
23 4 adantr ⊢ φ ∧ g ∈ C Func D → F ∈ D Func E
24 21 22 23 fuco11b Could not format ( ( ph /\ g e. ( C Func D ) ) -> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) = ( F o.func g ) ) : No typesetting found for |- ( ( ph /\ g e. ( C Func D ) ) -> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) = ( F o.func g ) ) with typecode |-
25 24 mpteq2dva Could not format ( ph -> ( g e. ( C Func D ) |-> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) ) = ( g e. ( C Func D ) |-> ( F o.func g ) ) ) : No typesetting found for |- ( ph -> ( g e. ( C Func D ) |-> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) ) = ( g e. ( C Func D ) |-> ( F o.func g ) ) ) with typecode |-
26 eqidd Could not format ( ( ph /\ a e. ( g ( C Nat D ) h ) ) -> ( 2nd ` ( <. C , D >. o.F E ) ) = ( 2nd ` ( <. C , D >. o.F E ) ) ) : No typesetting found for |- ( ( ph /\ a e. ( g ( C Nat D ) h ) ) -> ( 2nd ` ( <. C , D >. o.F E ) ) = ( 2nd ` ( <. C , D >. o.F E ) ) ) with typecode |-
27 simpr ⊢ φ ∧ a ∈ g C Nat D h → a ∈ g C Nat D h
28 4 adantr ⊢ φ ∧ a ∈ g C Nat D h → F ∈ D Func E
29 26 19 2 27 28 fucolid Could not format ( ( ph /\ a e. ( g ( C Nat D ) h ) ) -> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) = ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) : No typesetting found for |- ( ( ph /\ a e. ( g ( C Nat D ) h ) ) -> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) = ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) with typecode |-
30 29 mpteq2dva Could not format ( ph -> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) = ( a e. ( g ( C Nat D ) h ) |-> ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) ) : No typesetting found for |- ( ph -> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) = ( a e. ( g ( C Nat D ) h ) |-> ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) ) with typecode |-
31 30 mpoeq3dv Could not format ( ph -> ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) ) = ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) ) ) : No typesetting found for |- ( ph -> ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) ) = ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) ) ) with typecode |-
32 25 31 opeq12d Could not format ( ph -> <. ( g e. ( C Func D ) |-> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) ) , ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) ) >. = <. ( g e. ( C Func D ) |-> ( F o.func g ) ) , ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) ) >. ) : No typesetting found for |- ( ph -> <. ( g e. ( C Func D ) |-> ( F ( 1st ` ( <. C , D >. o.F E ) ) g ) ) , ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( ( ( Id ` R ) ` F ) ( <. F , g >. ( 2nd ` ( <. C , D >. o.F E ) ) <. F , h >. ) a ) ) ) >. = <. ( g e. ( C Func D ) |-> ( F o.func g ) ) , ( g e. ( C Func D ) , h e. ( C Func D ) |-> ( a e. ( g ( C Nat D ) h ) |-> ( x e. ( Base ` C ) |-> ( ( ( ( 1st ` g ) ` x ) ( 2nd ` F ) ( ( 1st ` h ) ` x ) ) ` ( a ` x ) ) ) ) ) >. ) with typecode |-
33 20 32 eqtrd ⊢ φ → K = g ∈ C Func D ⟼ F ∘ func g g ∈ C Func D , h ∈ C Func D ⟼ a ∈ g C Nat D h ⟼ x ∈ Base C ⟼ 1 st ⁡ g ⁡ x 2 nd ⁡ F 1 st ⁡ h ⁡ x ⁡ a ⁡ x