Metamath Proof Explorer


Theorem homafval

Description: Value of the disjointified hom-set function. (Contributed by Mario Carneiro, 11-Jan-2017)

Ref Expression
Hypotheses homarcl.h
|- H = ( HomA ` C )
homafval.b
|- B = ( Base ` C )
homafval.c
|- ( ph -> C e. Cat )
homafval.j
|- J = ( Hom ` C )
Assertion homafval
|- ( ph -> H = ( x e. ( B X. B ) |-> ( { x } X. ( J ` x ) ) ) )

Proof

Step Hyp Ref Expression
1 homarcl.h
 |-  H = ( HomA ` C )
2 homafval.b
 |-  B = ( Base ` C )
3 homafval.c
 |-  ( ph -> C e. Cat )
4 homafval.j
 |-  J = ( Hom ` C )
5 fveq2
 |-  ( c = C -> ( Base ` c ) = ( Base ` C ) )
6 5 2 eqtr4di
 |-  ( c = C -> ( Base ` c ) = B )
7 6 sqxpeqd
 |-  ( c = C -> ( ( Base ` c ) X. ( Base ` c ) ) = ( B X. B ) )
8 fveq2
 |-  ( c = C -> ( Hom ` c ) = ( Hom ` C ) )
9 8 4 eqtr4di
 |-  ( c = C -> ( Hom ` c ) = J )
10 9 fveq1d
 |-  ( c = C -> ( ( Hom ` c ) ` x ) = ( J ` x ) )
11 10 xpeq2d
 |-  ( c = C -> ( { x } X. ( ( Hom ` c ) ` x ) ) = ( { x } X. ( J ` x ) ) )
12 7 11 mpteq12dv
 |-  ( c = C -> ( x e. ( ( Base ` c ) X. ( Base ` c ) ) |-> ( { x } X. ( ( Hom ` c ) ` x ) ) ) = ( x e. ( B X. B ) |-> ( { x } X. ( J ` x ) ) ) )
13 df-homa
 |-  HomA = ( c e. Cat |-> ( x e. ( ( Base ` c ) X. ( Base ` c ) ) |-> ( { x } X. ( ( Hom ` c ) ` x ) ) ) )
14 2 fvexi
 |-  B e. _V
15 14 14 xpex
 |-  ( B X. B ) e. _V
16 15 mptex
 |-  ( x e. ( B X. B ) |-> ( { x } X. ( J ` x ) ) ) e. _V
17 12 13 16 fvmpt
 |-  ( C e. Cat -> ( HomA ` C ) = ( x e. ( B X. B ) |-> ( { x } X. ( J ` x ) ) ) )
18 3 17 syl
 |-  ( ph -> ( HomA ` C ) = ( x e. ( B X. B ) |-> ( { x } X. ( J ` x ) ) ) )
19 1 18 syl5eq
 |-  ( ph -> H = ( x e. ( B X. B ) |-> ( { x } X. ( J ` x ) ) ) )