Metamath Proof Explorer


Theorem fucpropd

Description: If two categories have the same set of objects, morphisms, and compositions, then they have the same functor categories. (Contributed by Mario Carneiro, 26-Jan-2017)

Ref Expression
Hypotheses fucpropd.1
|- ( ph -> ( Homf ` A ) = ( Homf ` B ) )
fucpropd.2
|- ( ph -> ( comf ` A ) = ( comf ` B ) )
fucpropd.3
|- ( ph -> ( Homf ` C ) = ( Homf ` D ) )
fucpropd.4
|- ( ph -> ( comf ` C ) = ( comf ` D ) )
fucpropd.a
|- ( ph -> A e. Cat )
fucpropd.b
|- ( ph -> B e. Cat )
fucpropd.c
|- ( ph -> C e. Cat )
fucpropd.d
|- ( ph -> D e. Cat )
Assertion fucpropd
|- ( ph -> ( A FuncCat C ) = ( B FuncCat D ) )

Proof

Step Hyp Ref Expression
1 fucpropd.1
 |-  ( ph -> ( Homf ` A ) = ( Homf ` B ) )
2 fucpropd.2
 |-  ( ph -> ( comf ` A ) = ( comf ` B ) )
3 fucpropd.3
 |-  ( ph -> ( Homf ` C ) = ( Homf ` D ) )
4 fucpropd.4
 |-  ( ph -> ( comf ` C ) = ( comf ` D ) )
5 fucpropd.a
 |-  ( ph -> A e. Cat )
6 fucpropd.b
 |-  ( ph -> B e. Cat )
7 fucpropd.c
 |-  ( ph -> C e. Cat )
8 fucpropd.d
 |-  ( ph -> D e. Cat )
9 1 2 3 4 5 6 7 8 funcpropd
 |-  ( ph -> ( A Func C ) = ( B Func D ) )
10 9 opeq2d
 |-  ( ph -> <. ( Base ` ndx ) , ( A Func C ) >. = <. ( Base ` ndx ) , ( B Func D ) >. )
11 1 2 3 4 5 6 7 8 natpropd
 |-  ( ph -> ( A Nat C ) = ( B Nat D ) )
12 11 opeq2d
 |-  ( ph -> <. ( Hom ` ndx ) , ( A Nat C ) >. = <. ( Hom ` ndx ) , ( B Nat D ) >. )
13 9 sqxpeqd
 |-  ( ph -> ( ( A Func C ) X. ( A Func C ) ) = ( ( B Func D ) X. ( B Func D ) ) )
14 9 adantr
 |-  ( ( ph /\ v e. ( ( A Func C ) X. ( A Func C ) ) ) -> ( A Func C ) = ( B Func D ) )
15 nfv
 |-  F/ f ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) )
16 nfcsb1v
 |-  F/_ f [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) )
17 16 a1i
 |-  ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) -> F/_ f [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
18 fvexd
 |-  ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) -> ( 1st ` v ) e. _V )
19 nfv
 |-  F/ g ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) )
20 nfcsb1v
 |-  F/_ g [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) )
21 20 a1i
 |-  ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) -> F/_ g [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
22 fvexd
 |-  ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) -> ( 2nd ` v ) e. _V )
23 11 ad3antrrr
 |-  ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) -> ( A Nat C ) = ( B Nat D ) )
24 23 oveqd
 |-  ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) -> ( g ( A Nat C ) h ) = ( g ( B Nat D ) h ) )
25 23 oveqdr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ b e. ( g ( A Nat C ) h ) ) -> ( f ( A Nat C ) g ) = ( f ( B Nat D ) g ) )
26 1 homfeqbas
 |-  ( ph -> ( Base ` A ) = ( Base ` B ) )
27 26 ad4antr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( Base ` A ) = ( Base ` B ) )
28 eqid
 |-  ( Base ` C ) = ( Base ` C )
29 eqid
 |-  ( Hom ` C ) = ( Hom ` C )
30 eqid
 |-  ( comp ` C ) = ( comp ` C )
31 eqid
 |-  ( comp ` D ) = ( comp ` D )
32 3 ad5antr
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( Homf ` C ) = ( Homf ` D ) )
33 4 ad5antr
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( comf ` C ) = ( comf ` D ) )
34 eqid
 |-  ( Base ` A ) = ( Base ` A )
35 relfunc
 |-  Rel ( A Func C )
36 simpllr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> f = ( 1st ` v ) )
37 simp-4r
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) )
38 37 simpld
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> v e. ( ( A Func C ) X. ( A Func C ) ) )
39 xp1st
 |-  ( v e. ( ( A Func C ) X. ( A Func C ) ) -> ( 1st ` v ) e. ( A Func C ) )
40 38 39 syl
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` v ) e. ( A Func C ) )
41 36 40 eqeltrd
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> f e. ( A Func C ) )
42 1st2ndbr
 |-  ( ( Rel ( A Func C ) /\ f e. ( A Func C ) ) -> ( 1st ` f ) ( A Func C ) ( 2nd ` f ) )
43 35 41 42 sylancr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` f ) ( A Func C ) ( 2nd ` f ) )
44 34 28 43 funcf1
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` f ) : ( Base ` A ) --> ( Base ` C ) )
45 44 ffvelrnda
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( ( 1st ` f ) ` x ) e. ( Base ` C ) )
46 simplr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> g = ( 2nd ` v ) )
47 xp2nd
 |-  ( v e. ( ( A Func C ) X. ( A Func C ) ) -> ( 2nd ` v ) e. ( A Func C ) )
48 38 47 syl
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 2nd ` v ) e. ( A Func C ) )
49 46 48 eqeltrd
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> g e. ( A Func C ) )
50 1st2ndbr
 |-  ( ( Rel ( A Func C ) /\ g e. ( A Func C ) ) -> ( 1st ` g ) ( A Func C ) ( 2nd ` g ) )
51 35 49 50 sylancr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` g ) ( A Func C ) ( 2nd ` g ) )
52 34 28 51 funcf1
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` g ) : ( Base ` A ) --> ( Base ` C ) )
53 52 ffvelrnda
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( ( 1st ` g ) ` x ) e. ( Base ` C ) )
54 37 simprd
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> h e. ( A Func C ) )
55 1st2ndbr
 |-  ( ( Rel ( A Func C ) /\ h e. ( A Func C ) ) -> ( 1st ` h ) ( A Func C ) ( 2nd ` h ) )
56 35 54 55 sylancr
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` h ) ( A Func C ) ( 2nd ` h ) )
57 34 28 56 funcf1
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( 1st ` h ) : ( Base ` A ) --> ( Base ` C ) )
58 57 ffvelrnda
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( ( 1st ` h ) ` x ) e. ( Base ` C ) )
59 eqid
 |-  ( A Nat C ) = ( A Nat C )
60 simplrr
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> a e. ( f ( A Nat C ) g ) )
61 59 60 nat1st2nd
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> a e. ( <. ( 1st ` f ) , ( 2nd ` f ) >. ( A Nat C ) <. ( 1st ` g ) , ( 2nd ` g ) >. ) )
62 simpr
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> x e. ( Base ` A ) )
63 59 61 34 29 62 natcl
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( a ` x ) e. ( ( ( 1st ` f ) ` x ) ( Hom ` C ) ( ( 1st ` g ) ` x ) ) )
64 simplrl
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> b e. ( g ( A Nat C ) h ) )
65 59 64 nat1st2nd
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> b e. ( <. ( 1st ` g ) , ( 2nd ` g ) >. ( A Nat C ) <. ( 1st ` h ) , ( 2nd ` h ) >. ) )
66 59 65 34 29 62 natcl
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( b ` x ) e. ( ( ( 1st ` g ) ` x ) ( Hom ` C ) ( ( 1st ` h ) ` x ) ) )
67 28 29 30 31 32 33 45 53 58 63 66 comfeqval
 |-  ( ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) /\ x e. ( Base ` A ) ) -> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) = ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) )
68 27 67 mpteq12dva
 |-  ( ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) /\ ( b e. ( g ( A Nat C ) h ) /\ a e. ( f ( A Nat C ) g ) ) ) -> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) = ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) )
69 24 25 68 mpoeq123dva
 |-  ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) -> ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
70 csbeq1a
 |-  ( g = ( 2nd ` v ) -> ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
71 70 adantl
 |-  ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) -> ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
72 69 71 eqtrd
 |-  ( ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) /\ g = ( 2nd ` v ) ) -> ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
73 19 21 22 72 csbiedf
 |-  ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) -> [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
74 csbeq1a
 |-  ( f = ( 1st ` v ) -> [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
75 74 adantl
 |-  ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) -> [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
76 73 75 eqtrd
 |-  ( ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) /\ f = ( 1st ` v ) ) -> [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
77 15 17 18 76 csbiedf
 |-  ( ( ph /\ ( v e. ( ( A Func C ) X. ( A Func C ) ) /\ h e. ( A Func C ) ) ) -> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) = [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) )
78 13 14 77 mpoeq123dva
 |-  ( ph -> ( v e. ( ( A Func C ) X. ( A Func C ) ) , h e. ( A Func C ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) = ( v e. ( ( B Func D ) X. ( B Func D ) ) , h e. ( B Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) )
79 78 opeq2d
 |-  ( ph -> <. ( comp ` ndx ) , ( v e. ( ( A Func C ) X. ( A Func C ) ) , h e. ( A Func C ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) >. = <. ( comp ` ndx ) , ( v e. ( ( B Func D ) X. ( B Func D ) ) , h e. ( B Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) >. )
80 10 12 79 tpeq123d
 |-  ( ph -> { <. ( Base ` ndx ) , ( A Func C ) >. , <. ( Hom ` ndx ) , ( A Nat C ) >. , <. ( comp ` ndx ) , ( v e. ( ( A Func C ) X. ( A Func C ) ) , h e. ( A Func C ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) >. } = { <. ( Base ` ndx ) , ( B Func D ) >. , <. ( Hom ` ndx ) , ( B Nat D ) >. , <. ( comp ` ndx ) , ( v e. ( ( B Func D ) X. ( B Func D ) ) , h e. ( B Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) >. } )
81 eqid
 |-  ( A FuncCat C ) = ( A FuncCat C )
82 eqid
 |-  ( A Func C ) = ( A Func C )
83 eqidd
 |-  ( ph -> ( v e. ( ( A Func C ) X. ( A Func C ) ) , h e. ( A Func C ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) = ( v e. ( ( A Func C ) X. ( A Func C ) ) , h e. ( A Func C ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) )
84 81 82 59 34 30 5 7 83 fucval
 |-  ( ph -> ( A FuncCat C ) = { <. ( Base ` ndx ) , ( A Func C ) >. , <. ( Hom ` ndx ) , ( A Nat C ) >. , <. ( comp ` ndx ) , ( v e. ( ( A Func C ) X. ( A Func C ) ) , h e. ( A Func C ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( A Nat C ) h ) , a e. ( f ( A Nat C ) g ) |-> ( x e. ( Base ` A ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` C ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) >. } )
85 eqid
 |-  ( B FuncCat D ) = ( B FuncCat D )
86 eqid
 |-  ( B Func D ) = ( B Func D )
87 eqid
 |-  ( B Nat D ) = ( B Nat D )
88 eqid
 |-  ( Base ` B ) = ( Base ` B )
89 eqidd
 |-  ( ph -> ( v e. ( ( B Func D ) X. ( B Func D ) ) , h e. ( B Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) = ( v e. ( ( B Func D ) X. ( B Func D ) ) , h e. ( B Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) )
90 85 86 87 88 31 6 8 89 fucval
 |-  ( ph -> ( B FuncCat D ) = { <. ( Base ` ndx ) , ( B Func D ) >. , <. ( Hom ` ndx ) , ( B Nat D ) >. , <. ( comp ` ndx ) , ( v e. ( ( B Func D ) X. ( B Func D ) ) , h e. ( B Func D ) |-> [_ ( 1st ` v ) / f ]_ [_ ( 2nd ` v ) / g ]_ ( b e. ( g ( B Nat D ) h ) , a e. ( f ( B Nat D ) g ) |-> ( x e. ( Base ` B ) |-> ( ( b ` x ) ( <. ( ( 1st ` f ) ` x ) , ( ( 1st ` g ) ` x ) >. ( comp ` D ) ( ( 1st ` h ) ` x ) ) ( a ` x ) ) ) ) ) >. } )
91 80 84 90 3eqtr4d
 |-  ( ph -> ( A FuncCat C ) = ( B FuncCat D ) )