This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Lemma for catccat . (Contributed by Mario Carneiro, 3-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | catccatid.c | |- C = ( CatCat ` U ) |
|
| catccatid.b | |- B = ( Base ` C ) |
||
| Assertion | catccatid | |- ( U e. V -> ( C e. Cat /\ ( Id ` C ) = ( x e. B |-> ( idFunc ` x ) ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | catccatid.c | |- C = ( CatCat ` U ) |
|
| 2 | catccatid.b | |- B = ( Base ` C ) |
|
| 3 | 2 | a1i | |- ( U e. V -> B = ( Base ` C ) ) |
| 4 | eqidd | |- ( U e. V -> ( Hom ` C ) = ( Hom ` C ) ) |
|
| 5 | eqidd | |- ( U e. V -> ( comp ` C ) = ( comp ` C ) ) |
|
| 6 | 1 | fvexi | |- C e. _V |
| 7 | 6 | a1i | |- ( U e. V -> C e. _V ) |
| 8 | biid | |- ( ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) <-> ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) |
|
| 9 | id | |- ( U e. V -> U e. V ) |
|
| 10 | 1 2 9 | catcbas | |- ( U e. V -> B = ( U i^i Cat ) ) |
| 11 | inss2 | |- ( U i^i Cat ) C_ Cat |
|
| 12 | 10 11 | eqsstrdi | |- ( U e. V -> B C_ Cat ) |
| 13 | 12 | sselda | |- ( ( U e. V /\ x e. B ) -> x e. Cat ) |
| 14 | eqid | |- ( idFunc ` x ) = ( idFunc ` x ) |
|
| 15 | 14 | idfucl | |- ( x e. Cat -> ( idFunc ` x ) e. ( x Func x ) ) |
| 16 | 13 15 | syl | |- ( ( U e. V /\ x e. B ) -> ( idFunc ` x ) e. ( x Func x ) ) |
| 17 | simpl | |- ( ( U e. V /\ x e. B ) -> U e. V ) |
|
| 18 | eqid | |- ( Hom ` C ) = ( Hom ` C ) |
|
| 19 | simpr | |- ( ( U e. V /\ x e. B ) -> x e. B ) |
|
| 20 | 1 2 17 18 19 19 | catchom | |- ( ( U e. V /\ x e. B ) -> ( x ( Hom ` C ) x ) = ( x Func x ) ) |
| 21 | 16 20 | eleqtrrd | |- ( ( U e. V /\ x e. B ) -> ( idFunc ` x ) e. ( x ( Hom ` C ) x ) ) |
| 22 | simpl | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> U e. V ) |
|
| 23 | eqid | |- ( comp ` C ) = ( comp ` C ) |
|
| 24 | simpr1l | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> w e. B ) |
|
| 25 | simpr1r | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> x e. B ) |
|
| 26 | simpr31 | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> f e. ( w ( Hom ` C ) x ) ) |
|
| 27 | 1 2 22 18 24 25 | catchom | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( w ( Hom ` C ) x ) = ( w Func x ) ) |
| 28 | 26 27 | eleqtrd | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> f e. ( w Func x ) ) |
| 29 | 25 16 | syldan | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( idFunc ` x ) e. ( x Func x ) ) |
| 30 | 1 2 22 23 24 25 25 28 29 | catcco | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( idFunc ` x ) ( <. w , x >. ( comp ` C ) x ) f ) = ( ( idFunc ` x ) o.func f ) ) |
| 31 | 28 14 | cofulid | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( idFunc ` x ) o.func f ) = f ) |
| 32 | 30 31 | eqtrd | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( idFunc ` x ) ( <. w , x >. ( comp ` C ) x ) f ) = f ) |
| 33 | simpr2l | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> y e. B ) |
|
| 34 | simpr32 | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> g e. ( x ( Hom ` C ) y ) ) |
|
| 35 | 1 2 22 18 25 33 | catchom | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( x ( Hom ` C ) y ) = ( x Func y ) ) |
| 36 | 34 35 | eleqtrd | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> g e. ( x Func y ) ) |
| 37 | 1 2 22 23 25 25 33 29 36 | catcco | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( g ( <. x , x >. ( comp ` C ) y ) ( idFunc ` x ) ) = ( g o.func ( idFunc ` x ) ) ) |
| 38 | 36 14 | cofurid | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( g o.func ( idFunc ` x ) ) = g ) |
| 39 | 37 38 | eqtrd | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( g ( <. x , x >. ( comp ` C ) y ) ( idFunc ` x ) ) = g ) |
| 40 | 28 36 | cofucl | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( g o.func f ) e. ( w Func y ) ) |
| 41 | 1 2 22 23 24 25 33 28 36 | catcco | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( g ( <. w , x >. ( comp ` C ) y ) f ) = ( g o.func f ) ) |
| 42 | 1 2 22 18 24 33 | catchom | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( w ( Hom ` C ) y ) = ( w Func y ) ) |
| 43 | 40 41 42 | 3eltr4d | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( g ( <. w , x >. ( comp ` C ) y ) f ) e. ( w ( Hom ` C ) y ) ) |
| 44 | simpr33 | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> h e. ( y ( Hom ` C ) z ) ) |
|
| 45 | simpr2r | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> z e. B ) |
|
| 46 | 1 2 22 18 33 45 | catchom | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( y ( Hom ` C ) z ) = ( y Func z ) ) |
| 47 | 44 46 | eleqtrd | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> h e. ( y Func z ) ) |
| 48 | 28 36 47 | cofuass | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( h o.func g ) o.func f ) = ( h o.func ( g o.func f ) ) ) |
| 49 | 36 47 | cofucl | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( h o.func g ) e. ( x Func z ) ) |
| 50 | 1 2 22 23 24 25 45 28 49 | catcco | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( h o.func g ) ( <. w , x >. ( comp ` C ) z ) f ) = ( ( h o.func g ) o.func f ) ) |
| 51 | 1 2 22 23 24 33 45 40 47 | catcco | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( h ( <. w , y >. ( comp ` C ) z ) ( g o.func f ) ) = ( h o.func ( g o.func f ) ) ) |
| 52 | 48 50 51 | 3eqtr4d | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( h o.func g ) ( <. w , x >. ( comp ` C ) z ) f ) = ( h ( <. w , y >. ( comp ` C ) z ) ( g o.func f ) ) ) |
| 53 | 1 2 22 23 25 33 45 36 47 | catcco | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( h ( <. x , y >. ( comp ` C ) z ) g ) = ( h o.func g ) ) |
| 54 | 53 | oveq1d | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( h ( <. x , y >. ( comp ` C ) z ) g ) ( <. w , x >. ( comp ` C ) z ) f ) = ( ( h o.func g ) ( <. w , x >. ( comp ` C ) z ) f ) ) |
| 55 | 41 | oveq2d | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( h ( <. w , y >. ( comp ` C ) z ) ( g ( <. w , x >. ( comp ` C ) y ) f ) ) = ( h ( <. w , y >. ( comp ` C ) z ) ( g o.func f ) ) ) |
| 56 | 52 54 55 | 3eqtr4d | |- ( ( U e. V /\ ( ( w e. B /\ x e. B ) /\ ( y e. B /\ z e. B ) /\ ( f e. ( w ( Hom ` C ) x ) /\ g e. ( x ( Hom ` C ) y ) /\ h e. ( y ( Hom ` C ) z ) ) ) ) -> ( ( h ( <. x , y >. ( comp ` C ) z ) g ) ( <. w , x >. ( comp ` C ) z ) f ) = ( h ( <. w , y >. ( comp ` C ) z ) ( g ( <. w , x >. ( comp ` C ) y ) f ) ) ) |
| 57 | 3 4 5 7 8 21 32 39 43 56 | iscatd2 | |- ( U e. V -> ( C e. Cat /\ ( Id ` C ) = ( x e. B |-> ( idFunc ` x ) ) ) ) |