| Step |
Hyp |
Ref |
Expression |
| 1 |
|
precoffunc.r |
|- R = ( D FuncCat E ) |
| 2 |
|
precoffunc.b |
|- B = ( D Func E ) |
| 3 |
|
precoffunc.n |
|- N = ( D Nat E ) |
| 4 |
|
precoffunc.f |
|- ( ph -> F ( C Func D ) G ) |
| 5 |
|
precoffunc.e |
|- ( ph -> E e. Cat ) |
| 6 |
|
precoffunc.k |
|- ( ph -> K = ( g e. B |-> ( g o.func <. F , G >. ) ) ) |
| 7 |
|
precoffunc.l |
|- ( ph -> L = ( g e. B , h e. B |-> ( a e. ( g N h ) |-> ( a o. F ) ) ) ) |
| 8 |
|
precofval3.q |
|- Q = ( C FuncCat D ) |
| 9 |
|
precofval3.o |
|- ( ph -> .o. = ( <. Q , R >. curryF ( ( <. C , D >. o.F E ) o.func ( Q swapF R ) ) ) ) |
| 10 |
|
precofval3.m |
|- ( ph -> M = ( ( 1st ` .o. ) ` <. F , G >. ) ) |
| 11 |
2
|
mpteq1i |
|- ( g e. B |-> ( g o.func <. F , G >. ) ) = ( g e. ( D Func E ) |-> ( g o.func <. F , G >. ) ) |
| 12 |
6 11
|
eqtrdi |
|- ( ph -> K = ( g e. ( D Func E ) |-> ( g o.func <. F , G >. ) ) ) |
| 13 |
2
|
a1i |
|- ( ph -> B = ( D Func E ) ) |
| 14 |
3
|
a1i |
|- ( ph -> N = ( D Nat E ) ) |
| 15 |
14
|
oveqd |
|- ( ph -> ( g N h ) = ( g ( D Nat E ) h ) ) |
| 16 |
|
relfunc |
|- Rel ( C Func D ) |
| 17 |
|
brrelex12 |
|- ( ( Rel ( C Func D ) /\ F ( C Func D ) G ) -> ( F e. _V /\ G e. _V ) ) |
| 18 |
16 4 17
|
sylancr |
|- ( ph -> ( F e. _V /\ G e. _V ) ) |
| 19 |
|
op1stg |
|- ( ( F e. _V /\ G e. _V ) -> ( 1st ` <. F , G >. ) = F ) |
| 20 |
18 19
|
syl |
|- ( ph -> ( 1st ` <. F , G >. ) = F ) |
| 21 |
20
|
eqcomd |
|- ( ph -> F = ( 1st ` <. F , G >. ) ) |
| 22 |
21
|
coeq2d |
|- ( ph -> ( a o. F ) = ( a o. ( 1st ` <. F , G >. ) ) ) |
| 23 |
15 22
|
mpteq12dv |
|- ( ph -> ( a e. ( g N h ) |-> ( a o. F ) ) = ( a e. ( g ( D Nat E ) h ) |-> ( a o. ( 1st ` <. F , G >. ) ) ) ) |
| 24 |
13 13 23
|
mpoeq123dv |
|- ( ph -> ( g e. B , h e. B |-> ( a e. ( g N h ) |-> ( a o. F ) ) ) = ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a o. ( 1st ` <. F , G >. ) ) ) ) ) |
| 25 |
7 24
|
eqtrd |
|- ( ph -> L = ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a o. ( 1st ` <. F , G >. ) ) ) ) ) |
| 26 |
12 25
|
opeq12d |
|- ( ph -> <. K , L >. = <. ( g e. ( D Func E ) |-> ( g o.func <. F , G >. ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a o. ( 1st ` <. F , G >. ) ) ) ) >. ) |
| 27 |
|
df-br |
|- ( F ( C Func D ) G <-> <. F , G >. e. ( C Func D ) ) |
| 28 |
4 27
|
sylib |
|- ( ph -> <. F , G >. e. ( C Func D ) ) |
| 29 |
8 1 9 28 5 10
|
precofval2 |
|- ( ph -> M = <. ( g e. ( D Func E ) |-> ( g o.func <. F , G >. ) ) , ( g e. ( D Func E ) , h e. ( D Func E ) |-> ( a e. ( g ( D Nat E ) h ) |-> ( a o. ( 1st ` <. F , G >. ) ) ) ) >. ) |
| 30 |
26 29
|
eqtr4d |
|- ( ph -> <. K , L >. = M ) |