Metamath Proof Explorer


Theorem idfucl

Description: The identity functor is a functor. Example 3.20(1) of Adamek p. 30. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypothesis idfucl.i I = id func C
Assertion idfucl C Cat I C Func C

Proof

Step Hyp Ref Expression
1 idfucl.i I = id func C
2 eqid Base C = Base C
3 id C Cat C Cat
4 eqid Hom C = Hom C
5 1 2 3 4 idfuval C Cat I = I Base C z Base C × Base C I Hom C z
6 5 fveq2d C Cat 2 nd I = 2 nd I Base C z Base C × Base C I Hom C z
7 fvex Base C V
8 resiexg Base C V I Base C V
9 7 8 ax-mp I Base C V
10 7 7 xpex Base C × Base C V
11 10 mptex z Base C × Base C I Hom C z V
12 9 11 op2nd 2 nd I Base C z Base C × Base C I Hom C z = z Base C × Base C I Hom C z
13 6 12 eqtrdi C Cat 2 nd I = z Base C × Base C I Hom C z
14 13 opeq2d C Cat I Base C 2 nd I = I Base C z Base C × Base C I Hom C z
15 5 14 eqtr4d C Cat I = I Base C 2 nd I
16 f1oi I Base C : Base C 1-1 onto Base C
17 f1of I Base C : Base C 1-1 onto Base C I Base C : Base C Base C
18 16 17 mp1i C Cat I Base C : Base C Base C
19 f1oi I Hom C z : Hom C z 1-1 onto Hom C z
20 f1of I Hom C z : Hom C z 1-1 onto Hom C z I Hom C z : Hom C z Hom C z
21 19 20 ax-mp I Hom C z : Hom C z Hom C z
22 fvex Hom C z V
23 22 22 elmap I Hom C z Hom C z Hom C z I Hom C z : Hom C z Hom C z
24 21 23 mpbir I Hom C z Hom C z Hom C z
25 xp1st z Base C × Base C 1 st z Base C
26 25 adantl C Cat z Base C × Base C 1 st z Base C
27 fvresi 1 st z Base C I Base C 1 st z = 1 st z
28 26 27 syl C Cat z Base C × Base C I Base C 1 st z = 1 st z
29 xp2nd z Base C × Base C 2 nd z Base C
30 29 adantl C Cat z Base C × Base C 2 nd z Base C
31 fvresi 2 nd z Base C I Base C 2 nd z = 2 nd z
32 30 31 syl C Cat z Base C × Base C I Base C 2 nd z = 2 nd z
33 28 32 oveq12d C Cat z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z = 1 st z Hom C 2 nd z
34 df-ov 1 st z Hom C 2 nd z = Hom C 1 st z 2 nd z
35 33 34 eqtrdi C Cat z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z = Hom C 1 st z 2 nd z
36 1st2nd2 z Base C × Base C z = 1 st z 2 nd z
37 36 adantl C Cat z Base C × Base C z = 1 st z 2 nd z
38 37 fveq2d C Cat z Base C × Base C Hom C z = Hom C 1 st z 2 nd z
39 35 38 eqtr4d C Cat z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z = Hom C z
40 39 oveq1d C Cat z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z Hom C z = Hom C z Hom C z
41 24 40 eleqtrrid C Cat z Base C × Base C I Hom C z I Base C 1 st z Hom C I Base C 2 nd z Hom C z
42 41 ralrimiva C Cat z Base C × Base C I Hom C z I Base C 1 st z Hom C I Base C 2 nd z Hom C z
43 mptelixpg Base C × Base C V z Base C × Base C I Hom C z z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z Hom C z z Base C × Base C I Hom C z I Base C 1 st z Hom C I Base C 2 nd z Hom C z
44 10 43 ax-mp z Base C × Base C I Hom C z z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z Hom C z z Base C × Base C I Hom C z I Base C 1 st z Hom C I Base C 2 nd z Hom C z
45 42 44 sylibr C Cat z Base C × Base C I Hom C z z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z Hom C z
46 13 45 eqeltrd C Cat 2 nd I z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z Hom C z
47 eqid Id C = Id C
48 simpl C Cat x Base C C Cat
49 simpr C Cat x Base C x Base C
50 2 4 47 48 49 catidcl C Cat x Base C Id C x x Hom C x
51 fvresi Id C x x Hom C x I x Hom C x Id C x = Id C x
52 50 51 syl C Cat x Base C I x Hom C x Id C x = Id C x
53 1 2 48 4 49 49 idfu2nd C Cat x Base C x 2 nd I x = I x Hom C x
54 53 fveq1d C Cat x Base C x 2 nd I x Id C x = I x Hom C x Id C x
55 fvresi x Base C I Base C x = x
56 55 adantl C Cat x Base C I Base C x = x
57 56 fveq2d C Cat x Base C Id C I Base C x = Id C x
58 52 54 57 3eqtr4d C Cat x Base C x 2 nd I x Id C x = Id C I Base C x
59 eqid comp C = comp C
60 48 ad2antrr C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z C Cat
61 49 ad2antrr C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x Base C
62 simplrl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z y Base C
63 simplrr C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z z Base C
64 simprl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z f x Hom C y
65 simprr C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z g y Hom C z
66 2 4 59 60 61 62 63 64 65 catcocl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z g x y comp C z f x Hom C z
67 fvresi g x y comp C z f x Hom C z I x Hom C z g x y comp C z f = g x y comp C z f
68 66 67 syl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z I x Hom C z g x y comp C z f = g x y comp C z f
69 1 2 60 4 61 63 idfu2nd C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z = I x Hom C z
70 69 fveq1d C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = I x Hom C z g x y comp C z f
71 61 55 syl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z I Base C x = x
72 fvresi y Base C I Base C y = y
73 62 72 syl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z I Base C y = y
74 71 73 opeq12d C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z I Base C x I Base C y = x y
75 fvresi z Base C I Base C z = z
76 63 75 syl C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z I Base C z = z
77 74 76 oveq12d C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z I Base C x I Base C y comp C I Base C z = x y comp C z
78 1 2 60 4 62 63 65 idfu2 C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z y 2 nd I z g = g
79 1 2 60 4 61 62 64 idfu2 C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x 2 nd I y f = f
80 77 78 79 oveq123d C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f = g x y comp C z f
81 68 70 80 3eqtr4d C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f
82 81 ralrimivva C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f
83 82 ralrimivva C Cat x Base C y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f
84 58 83 jca C Cat x Base C x 2 nd I x Id C x = Id C I Base C x y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f
85 84 ralrimiva C Cat x Base C x 2 nd I x Id C x = Id C I Base C x y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f
86 2 2 4 4 47 47 59 59 3 3 isfunc C Cat I Base C C Func C 2 nd I I Base C : Base C Base C 2 nd I z Base C × Base C I Base C 1 st z Hom C I Base C 2 nd z Hom C z x Base C x 2 nd I x Id C x = Id C I Base C x y Base C z Base C f x Hom C y g y Hom C z x 2 nd I z g x y comp C z f = y 2 nd I z g I Base C x I Base C y comp C I Base C z x 2 nd I y f
87 18 46 85 86 mpbir3and C Cat I Base C C Func C 2 nd I
88 df-br I Base C C Func C 2 nd I I Base C 2 nd I C Func C
89 87 88 sylib C Cat I Base C 2 nd I C Func C
90 15 89 eqeltrd C Cat I C Func C