| Step |
Hyp |
Ref |
Expression |
| 1 |
|
lmdran.1 |
|- ( ph -> .1. e. TermCat ) |
| 2 |
|
lmdran.g |
|- ( ph -> G e. ( D Func .1. ) ) |
| 3 |
|
lmdran.l |
|- L = ( C DiagFunc .1. ) |
| 4 |
|
lmdran.y |
|- ( ph -> Y = ( ( 1st ` L ) ` X ) ) |
| 5 |
|
lmdfval2 |
|- ( ( C Limit D ) ` F ) = ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) |
| 6 |
5
|
breqi |
|- ( X ( ( C Limit D ) ` F ) M <-> X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) |
| 7 |
|
simpr |
|- ( ( ph /\ X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) |
| 8 |
7
|
up1st2nd |
|- ( ( ph /\ X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> X ( <. ( 1st ` ( oppFunc ` ( C DiagFunc D ) ) ) , ( 2nd ` ( oppFunc ` ( C DiagFunc D ) ) ) >. ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) |
| 9 |
|
eqid |
|- ( oppCat ` ( D FuncCat C ) ) = ( oppCat ` ( D FuncCat C ) ) |
| 10 |
|
eqid |
|- ( D FuncCat C ) = ( D FuncCat C ) |
| 11 |
10
|
fucbas |
|- ( D Func C ) = ( Base ` ( D FuncCat C ) ) |
| 12 |
8 9 11
|
oppcuprcl3 |
|- ( ( ph /\ X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> F e. ( D Func C ) ) |
| 13 |
|
eqid |
|- ( oppCat ` C ) = ( oppCat ` C ) |
| 14 |
|
eqid |
|- ( Base ` C ) = ( Base ` C ) |
| 15 |
8 13 14
|
oppcuprcl4 |
|- ( ( ph /\ X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> X e. ( Base ` C ) ) |
| 16 |
12 15
|
jca |
|- ( ( ph /\ X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) |
| 17 |
|
simpr |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) |
| 18 |
17
|
up1st2nd |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> Y ( <. ( 1st ` ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ) , ( 2nd ` ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ) >. ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) |
| 19 |
18 9 11
|
oppcuprcl3 |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> F e. ( D Func C ) ) |
| 20 |
4
|
adantr |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> Y = ( ( 1st ` L ) ` X ) ) |
| 21 |
|
eqid |
|- ( oppCat ` ( .1. FuncCat C ) ) = ( oppCat ` ( .1. FuncCat C ) ) |
| 22 |
|
eqid |
|- ( .1. FuncCat C ) = ( .1. FuncCat C ) |
| 23 |
22
|
fucbas |
|- ( .1. Func C ) = ( Base ` ( .1. FuncCat C ) ) |
| 24 |
18 21 23
|
oppcuprcl4 |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> Y e. ( .1. Func C ) ) |
| 25 |
|
relfunc |
|- Rel ( .1. Func C ) |
| 26 |
24 25
|
oppfrcllem |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> Y =/= (/) ) |
| 27 |
20 26
|
eqnetrrd |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> ( ( 1st ` L ) ` X ) =/= (/) ) |
| 28 |
|
fvfundmfvn0 |
|- ( ( ( 1st ` L ) ` X ) =/= (/) -> ( X e. dom ( 1st ` L ) /\ Fun ( ( 1st ` L ) |` { X } ) ) ) |
| 29 |
28
|
simpld |
|- ( ( ( 1st ` L ) ` X ) =/= (/) -> X e. dom ( 1st ` L ) ) |
| 30 |
27 29
|
syl |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> X e. dom ( 1st ` L ) ) |
| 31 |
1
|
adantr |
|- ( ( ph /\ F e. ( D Func C ) ) -> .1. e. TermCat ) |
| 32 |
|
simpr |
|- ( ( ph /\ F e. ( D Func C ) ) -> F e. ( D Func C ) ) |
| 33 |
32
|
func1st2nd |
|- ( ( ph /\ F e. ( D Func C ) ) -> ( 1st ` F ) ( D Func C ) ( 2nd ` F ) ) |
| 34 |
33
|
funcrcl3 |
|- ( ( ph /\ F e. ( D Func C ) ) -> C e. Cat ) |
| 35 |
14 31 34 3
|
diag1f1o |
|- ( ( ph /\ F e. ( D Func C ) ) -> ( 1st ` L ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) ) |
| 36 |
|
f1of |
|- ( ( 1st ` L ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) -> ( 1st ` L ) : ( Base ` C ) --> ( .1. Func C ) ) |
| 37 |
35 36
|
syl |
|- ( ( ph /\ F e. ( D Func C ) ) -> ( 1st ` L ) : ( Base ` C ) --> ( .1. Func C ) ) |
| 38 |
37
|
fdmd |
|- ( ( ph /\ F e. ( D Func C ) ) -> dom ( 1st ` L ) = ( Base ` C ) ) |
| 39 |
19 38
|
syldan |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> dom ( 1st ` L ) = ( Base ` C ) ) |
| 40 |
30 39
|
eleqtrd |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> X e. ( Base ` C ) ) |
| 41 |
19 40
|
jca |
|- ( ( ph /\ Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) -> ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) |
| 42 |
13 14
|
oppcbas |
|- ( Base ` C ) = ( Base ` ( oppCat ` C ) ) |
| 43 |
21 23
|
oppcbas |
|- ( .1. Func C ) = ( Base ` ( oppCat ` ( .1. FuncCat C ) ) ) |
| 44 |
4
|
adantr |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> Y = ( ( 1st ` L ) ` X ) ) |
| 45 |
34
|
adantrr |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> C e. Cat ) |
| 46 |
1
|
adantr |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> .1. e. TermCat ) |
| 47 |
46
|
termccd |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> .1. e. Cat ) |
| 48 |
3 45 47 22
|
diagcl |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> L e. ( C Func ( .1. FuncCat C ) ) ) |
| 49 |
48
|
oppf1 |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( 1st ` ( oppFunc ` L ) ) = ( 1st ` L ) ) |
| 50 |
49
|
fveq1d |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( ( 1st ` ( oppFunc ` L ) ) ` X ) = ( ( 1st ` L ) ` X ) ) |
| 51 |
44 50
|
eqtr4d |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> Y = ( ( 1st ` ( oppFunc ` L ) ) ` X ) ) |
| 52 |
|
eqid |
|- ( C DiagFunc D ) = ( C DiagFunc D ) |
| 53 |
2
|
adantr |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> G e. ( D Func .1. ) ) |
| 54 |
|
eqidd |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( <. .1. , C >. -o.F G ) = ( <. .1. , C >. -o.F G ) ) |
| 55 |
3 52 53 45 54
|
prcofdiag |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( ( <. .1. , C >. -o.F G ) o.func L ) = ( C DiagFunc D ) ) |
| 56 |
22 45 10 53
|
prcoffunca |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( <. .1. , C >. -o.F G ) e. ( ( .1. FuncCat C ) Func ( D FuncCat C ) ) ) |
| 57 |
55 48 56
|
cofuoppf |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) o.func ( oppFunc ` L ) ) = ( oppFunc ` ( C DiagFunc D ) ) ) |
| 58 |
|
simprr |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> X e. ( Base ` C ) ) |
| 59 |
21 9 56
|
oppfoppc2 |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( oppFunc ` ( <. .1. , C >. -o.F G ) ) e. ( ( oppCat ` ( .1. FuncCat C ) ) Func ( oppCat ` ( D FuncCat C ) ) ) ) |
| 60 |
45 46 22 3
|
diagffth |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> L e. ( ( C Full ( .1. FuncCat C ) ) i^i ( C Faith ( .1. FuncCat C ) ) ) ) |
| 61 |
13 21 60
|
ffthoppf |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( oppFunc ` L ) e. ( ( ( oppCat ` C ) Full ( oppCat ` ( .1. FuncCat C ) ) ) i^i ( ( oppCat ` C ) Faith ( oppCat ` ( .1. FuncCat C ) ) ) ) ) |
| 62 |
35
|
adantrr |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( 1st ` L ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) ) |
| 63 |
49
|
f1oeq1d |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( ( 1st ` ( oppFunc ` L ) ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) <-> ( 1st ` L ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) ) ) |
| 64 |
62 63
|
mpbird |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( 1st ` ( oppFunc ` L ) ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) ) |
| 65 |
|
f1ofo |
|- ( ( 1st ` ( oppFunc ` L ) ) : ( Base ` C ) -1-1-onto-> ( .1. Func C ) -> ( 1st ` ( oppFunc ` L ) ) : ( Base ` C ) -onto-> ( .1. Func C ) ) |
| 66 |
64 65
|
syl |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( 1st ` ( oppFunc ` L ) ) : ( Base ` C ) -onto-> ( .1. Func C ) ) |
| 67 |
42 43 51 57 58 59 61 66
|
uptr2a |
|- ( ( ph /\ ( F e. ( D Func C ) /\ X e. ( Base ` C ) ) ) -> ( X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M <-> Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) ) |
| 68 |
16 41 67
|
bibiad |
|- ( ph -> ( X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M <-> Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) ) |
| 69 |
|
eqid |
|- ( <. .1. , C >. -o.F G ) = ( <. .1. , C >. -o.F G ) |
| 70 |
21 9 69
|
ranval3 |
|- ( G e. ( D Func .1. ) -> ( G ( <. D , .1. >. Ran C ) F ) = ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) ) |
| 71 |
2 70
|
syl |
|- ( ph -> ( G ( <. D , .1. >. Ran C ) F ) = ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) ) |
| 72 |
71
|
breqd |
|- ( ph -> ( Y ( G ( <. D , .1. >. Ran C ) F ) M <-> Y ( ( oppFunc ` ( <. .1. , C >. -o.F G ) ) ( ( oppCat ` ( .1. FuncCat C ) ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M ) ) |
| 73 |
68 72
|
bitr4d |
|- ( ph -> ( X ( ( oppFunc ` ( C DiagFunc D ) ) ( ( oppCat ` C ) UP ( oppCat ` ( D FuncCat C ) ) ) F ) M <-> Y ( G ( <. D , .1. >. Ran C ) F ) M ) ) |
| 74 |
6 73
|
bitrid |
|- ( ph -> ( X ( ( C Limit D ) ` F ) M <-> Y ( G ( <. D , .1. >. Ran C ) F ) M ) ) |