Metamath Proof Explorer


Theorem precofvalALT

Description: Alternate proof of precofval . (Contributed by Zhi Wang, 11-Oct-2025) (Proof modification is discouraged.) (New usage is discouraged.)

Ref Expression
Hypotheses precofval.q Q = C FuncCat D
precofval.r R = D FuncCat E
precofval.o No typesetting found for |- ( ph -> .o. = ( <. Q , R >. curryF ( ( <. C , D >. o.F E ) o.func ( Q swapF R ) ) ) ) with typecode |-
precofval.f φ F C Func D
precofval.e φ E Cat
precofval.k No typesetting found for |- ( ph -> K = ( ( 1st ` .o. ) ` F ) ) with typecode |-
Assertion precofvalALT φ K = g D Func E g func F g D Func E , h D Func E a g D Nat E h x Base C a 1 st F x

Proof

Step Hyp Ref Expression
1 precofval.q Q = C FuncCat D
2 precofval.r R = D FuncCat E
3 precofval.o Could not format ( ph -> .o. = ( <. Q , R >. curryF ( ( <. C , D >. o.F E ) o.func ( Q swapF R ) ) ) ) : No typesetting found for |- ( ph -> .o. = ( <. Q , R >. curryF ( ( <. C , D >. o.F E ) o.func ( Q swapF R ) ) ) ) with typecode |-
4 precofval.f φ F C Func D
5 precofval.e φ E Cat
6 precofval.k Could not format ( ph -> K = ( ( 1st ` .o. ) ` F ) ) : No typesetting found for |- ( ph -> K = ( ( 1st ` .o. ) ` F ) ) with typecode |-
7 1 fucbas C Func D = Base Q
8 relfunc Rel C Func D
9 1st2ndbr Rel C Func D F C Func D 1 st F C Func D 2 nd F
10 8 4 9 sylancr φ 1 st F C Func D 2 nd F
11 10 funcrcl2 φ C Cat
12 10 funcrcl3 φ D Cat
13 1 11 12 fuccat φ Q Cat
14 2 12 5 fuccat φ R Cat
15 2 1 oveq12i R × c Q = D FuncCat E × c C FuncCat D
16 eqid C FuncCat E = C FuncCat E
17 15 16 11 12 5 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 |-
18 2 fucbas D Func E = Base R
19 eqid D Nat E = D Nat E
20 2 19 fuchom D Nat E = Hom R
21 eqid Id Q = Id Q
22 3 7 13 14 17 4 6 18 20 21 tposcurf1 Could not format ( ph -> K = <. ( g e. ( D Func E ) |-> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) ) >. ) : No typesetting found for |- ( ph -> K = <. ( g e. ( D Func E ) |-> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) ) >. ) with typecode |-
23 df-ov Could not format ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) = ( ( 1st ` ( <. C , D >. o.F E ) ) ` <. g , F >. ) : No typesetting found for |- ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) = ( ( 1st ` ( <. C , D >. o.F E ) ) ` <. g , F >. ) with typecode |-
24 eqidd Could not format ( ph -> ( <. C , D >. o.F E ) = ( <. C , D >. o.F E ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = ( <. C , D >. o.F E ) ) with typecode |-
25 11 12 5 24 fucoelvv Could not format ( ph -> ( <. C , D >. o.F E ) e. ( _V X. _V ) ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) e. ( _V X. _V ) ) with typecode |-
26 1st2nd2 Could not format ( ( <. C , D >. o.F E ) e. ( _V X. _V ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ( <. C , D >. o.F E ) e. ( _V X. _V ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
27 25 26 syl Could not format ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ph -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
28 27 adantr Could not format ( ( ph /\ g e. ( D Func E ) ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ( ph /\ g e. ( D Func E ) ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
29 10 adantr φ g D Func E 1 st F C Func D 2 nd F
30 relfunc Rel D Func E
31 1st2ndbr Rel D Func E g D Func E 1 st g D Func E 2 nd g
32 30 31 mpan g D Func E 1 st g D Func E 2 nd g
33 32 adantl φ g D Func E 1 st g D Func E 2 nd g
34 1st2nd Rel D Func E g D Func E g = 1 st g 2 nd g
35 30 34 mpan g D Func E g = 1 st g 2 nd g
36 35 adantl φ g D Func E g = 1 st g 2 nd g
37 1st2nd Rel C Func D F C Func D F = 1 st F 2 nd F
38 8 4 37 sylancr φ F = 1 st F 2 nd F
39 38 adantr φ g D Func E F = 1 st F 2 nd F
40 36 39 opeq12d φ g D Func E g F = 1 st g 2 nd g 1 st F 2 nd F
41 28 29 33 40 fuco11 Could not format ( ( ph /\ g e. ( D Func E ) ) -> ( ( 1st ` ( <. C , D >. o.F E ) ) ` <. g , F >. ) = ( <. ( 1st ` g ) , ( 2nd ` g ) >. o.func <. ( 1st ` F ) , ( 2nd ` F ) >. ) ) : No typesetting found for |- ( ( ph /\ g e. ( D Func E ) ) -> ( ( 1st ` ( <. C , D >. o.F E ) ) ` <. g , F >. ) = ( <. ( 1st ` g ) , ( 2nd ` g ) >. o.func <. ( 1st ` F ) , ( 2nd ` F ) >. ) ) with typecode |-
42 36 39 oveq12d φ g D Func E g func F = 1 st g 2 nd g func 1 st F 2 nd F
43 41 42 eqtr4d Could not format ( ( ph /\ g e. ( D Func E ) ) -> ( ( 1st ` ( <. C , D >. o.F E ) ) ` <. g , F >. ) = ( g o.func F ) ) : No typesetting found for |- ( ( ph /\ g e. ( D Func E ) ) -> ( ( 1st ` ( <. C , D >. o.F E ) ) ` <. g , F >. ) = ( g o.func F ) ) with typecode |-
44 23 43 eqtrid Could not format ( ( ph /\ g e. ( D Func E ) ) -> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) = ( g o.func F ) ) : No typesetting found for |- ( ( ph /\ g e. ( D Func E ) ) -> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) = ( g o.func F ) ) with typecode |-
45 44 mpteq2dva Could not format ( ph -> ( g e. ( D Func E ) |-> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) ) = ( g e. ( D Func E ) |-> ( g o.func F ) ) ) : No typesetting found for |- ( ph -> ( g e. ( D Func E ) |-> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) ) = ( g e. ( D Func E ) |-> ( g o.func F ) ) ) with typecode |-
46 eqid Id D = Id D
47 1 21 46 4 fucid φ Id Q F = Id D 1 st F
48 47 ad2antrr φ g D Func E h D Func E a g D Nat E h Id Q F = Id D 1 st F
49 48 oveq2d Could not format ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) = ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` D ) o. ( 1st ` F ) ) ) ) : No typesetting found for |- ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) = ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` D ) o. ( 1st ` F ) ) ) ) with typecode |-
50 27 ad2antrr Could not format ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) : No typesetting found for |- ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( <. C , D >. o.F E ) = <. ( 1st ` ( <. C , D >. o.F E ) ) , ( 2nd ` ( <. C , D >. o.F E ) ) >. ) with typecode |-
51 eqidd φ g D Func E h D Func E a g D Nat E h g F = g F
52 eqidd φ g D Func E h D Func E a g D Nat E h h F = h F
53 eqid C Nat D = C Nat D
54 1 53 46 4 fucidcl φ Id D 1 st F F C Nat D F
55 54 ad2antrr φ g D Func E h D Func E a g D Nat E h Id D 1 st F F C Nat D F
56 simpr φ g D Func E h D Func E a g D Nat E h a g D Nat E h
57 50 51 52 55 56 fuco22a Could not format ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` D ) o. ( 1st ` F ) ) ) = ( x e. ( Base ` C ) |-> ( ( a ` ( ( 1st ` F ) ` x ) ) ( <. ( ( 1st ` g ) ` ( ( 1st ` F ) ` x ) ) , ( ( 1st ` g ) ` ( ( 1st ` F ) ` x ) ) >. ( comp ` E ) ( ( 1st ` h ) ` ( ( 1st ` F ) ` x ) ) ) ( ( ( ( 1st ` F ) ` x ) ( 2nd ` g ) ( ( 1st ` F ) ` x ) ) ` ( ( ( Id ` D ) o. ( 1st ` F ) ) ` x ) ) ) ) ) : No typesetting found for |- ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` D ) o. ( 1st ` F ) ) ) = ( x e. ( Base ` C ) |-> ( ( a ` ( ( 1st ` F ) ` x ) ) ( <. ( ( 1st ` g ) ` ( ( 1st ` F ) ` x ) ) , ( ( 1st ` g ) ` ( ( 1st ` F ) ` x ) ) >. ( comp ` E ) ( ( 1st ` h ) ` ( ( 1st ` F ) ` x ) ) ) ( ( ( ( 1st ` F ) ` x ) ( 2nd ` g ) ( ( 1st ` F ) ` x ) ) ` ( ( ( Id ` D ) o. ( 1st ` F ) ) ` x ) ) ) ) ) with typecode |-
58 eqid Base C = Base C
59 eqid Base E = Base E
60 eqid Id E = Id E
61 10 ad3antrrr φ g D Func E h D Func E a g D Nat E h x Base C 1 st F C Func D 2 nd F
62 32 adantr g D Func E h D Func E 1 st g D Func E 2 nd g
63 62 ad3antlr φ g D Func E h D Func E a g D Nat E h x Base C 1 st g D Func E 2 nd g
64 simpr φ g D Func E h D Func E a g D Nat E h x Base C x Base C
65 58 59 46 60 61 63 64 precofvallem φ g D Func E h D Func E a g D Nat E h x Base C 1 st F x 2 nd g 1 st F x Id D 1 st F x = Id E 1 st g 1 st F x 1 st g 1 st F x Base E
66 65 simpld φ g D Func E h D Func E a g D Nat E h x Base C 1 st F x 2 nd g 1 st F x Id D 1 st F x = Id E 1 st g 1 st F x
67 66 oveq2d φ g D Func E h D Func E a g D Nat E h x Base C a 1 st F x 1 st g 1 st F x 1 st g 1 st F x comp E 1 st h 1 st F x 1 st F x 2 nd g 1 st F x Id D 1 st F x = a 1 st F x 1 st g 1 st F x 1 st g 1 st F x comp E 1 st h 1 st F x Id E 1 st g 1 st F x
68 eqid Hom E = Hom E
69 5 ad3antrrr φ g D Func E h D Func E a g D Nat E h x Base C E Cat
70 65 simprd φ g D Func E h D Func E a g D Nat E h x Base C 1 st g 1 st F x Base E
71 eqid comp E = comp E
72 eqid Base D = Base D
73 simpllr φ g D Func E h D Func E a g D Nat E h x Base C g D Func E h D Func E
74 73 simprd φ g D Func E h D Func E a g D Nat E h x Base C h D Func E
75 1st2ndbr Rel D Func E h D Func E 1 st h D Func E 2 nd h
76 30 74 75 sylancr φ g D Func E h D Func E a g D Nat E h x Base C 1 st h D Func E 2 nd h
77 72 59 76 funcf1 φ g D Func E h D Func E a g D Nat E h x Base C 1 st h : Base D Base E
78 10 ad2antrr φ g D Func E h D Func E a g D Nat E h 1 st F C Func D 2 nd F
79 58 72 78 funcf1 φ g D Func E h D Func E a g D Nat E h 1 st F : Base C Base D
80 79 ffvelcdmda φ g D Func E h D Func E a g D Nat E h x Base C 1 st F x Base D
81 77 80 ffvelcdmd φ g D Func E h D Func E a g D Nat E h x Base C 1 st h 1 st F x Base E
82 56 adantr φ g D Func E h D Func E a g D Nat E h x Base C a g D Nat E h
83 19 82 nat1st2nd φ g D Func E h D Func E a g D Nat E h x Base C a 1 st g 2 nd g D Nat E 1 st h 2 nd h
84 19 83 72 68 80 natcl φ g D Func E h D Func E a g D Nat E h x Base C a 1 st F x 1 st g 1 st F x Hom E 1 st h 1 st F x
85 59 68 60 69 70 71 81 84 catrid φ g D Func E h D Func E a g D Nat E h x Base C a 1 st F x 1 st g 1 st F x 1 st g 1 st F x comp E 1 st h 1 st F x Id E 1 st g 1 st F x = a 1 st F x
86 67 85 eqtrd φ g D Func E h D Func E a g D Nat E h x Base C a 1 st F x 1 st g 1 st F x 1 st g 1 st F x comp E 1 st h 1 st F x 1 st F x 2 nd g 1 st F x Id D 1 st F x = a 1 st F x
87 86 mpteq2dva φ g D Func E h D Func E a g D Nat E h x Base C a 1 st F x 1 st g 1 st F x 1 st g 1 st F x comp E 1 st h 1 st F x 1 st F x 2 nd g 1 st F x Id D 1 st F x = x Base C a 1 st F x
88 49 57 87 3eqtrd Could not format ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) = ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) : No typesetting found for |- ( ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) /\ a e. ( g ( D Nat E ) h ) ) -> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) = ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) with typecode |-
89 88 mpteq2dva Could not format ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) -> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) = ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) : No typesetting found for |- ( ( ph /\ ( g e. ( D Func E ) /\ h e. ( D Func E ) ) ) -> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) = ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) with typecode |-
90 89 3impb Could not format ( ( ph /\ g e. ( D Func E ) /\ h e. ( D Func E ) ) -> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) = ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) : No typesetting found for |- ( ( ph /\ g e. ( D Func E ) /\ h e. ( D Func E ) ) -> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) = ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) with typecode |-
91 90 mpoeq3dva Could not format ( ph -> ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) ) = ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) ) : No typesetting found for |- ( ph -> ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) ) = ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) ) with typecode |-
92 45 91 opeq12d Could not format ( ph -> <. ( g e. ( D Func E ) |-> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) ) >. = <. ( g e. ( D Func E ) |-> ( g o.func F ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) >. ) : No typesetting found for |- ( ph -> <. ( g e. ( D Func E ) |-> ( g ( 1st ` ( <. C , D >. o.F E ) ) F ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a ( <. g , F >. ( 2nd ` ( <. C , D >. o.F E ) ) <. h , F >. ) ( ( Id ` Q ) ` F ) ) ) ) >. = <. ( g e. ( D Func E ) |-> ( g o.func F ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( x e. ( Base ` C ) |-> ( a ` ( ( 1st ` F ) ` x ) ) ) ) ) >. ) with typecode |-
93 22 92 eqtrd φ K = g D Func E g func F g D Func E , h D Func E a g D Nat E h x Base C a 1 st F x