Metamath Proof Explorer


Theorem funcres2c

Description: Condition for a functor to also be a functor into the restriction. (Contributed by Mario Carneiro, 30-Jan-2017)

Ref Expression
Hypotheses funcres2c.a ⊢ A = Base C
funcres2c.e ⊢ E = D ↾ 𝑠 S
funcres2c.d ⊢ φ → D ∈ Cat
funcres2c.r ⊢ φ → S ∈ V
funcres2c.1 ⊢ φ → F : A ⟶ S
Assertion funcres2c ⊢ φ → F C Func D G ↔ F C Func E G

Proof

Step Hyp Ref Expression
1 funcres2c.a ⊢ A = Base C
2 funcres2c.e ⊢ E = D ↾ 𝑠 S
3 funcres2c.d ⊢ φ → D ∈ Cat
4 funcres2c.r ⊢ φ → S ∈ V
5 funcres2c.1 ⊢ φ → F : A ⟶ S
6 orc ⊢ F C Func D G → F C Func D G ∨ F C Func E G
7 6 a1i ⊢ φ → F C Func D G → F C Func D G ∨ F C Func E G
8 olc ⊢ F C Func E G → F C Func D G ∨ F C Func E G
9 8 a1i ⊢ φ → F C Func E G → F C Func D G ∨ F C Func E G
10 eqid ⊢ Hom ⁡ C = Hom ⁡ C
11 eqid ⊢ Base D = Base D
12 eqid ⊢ Hom 𝑓 ⁡ D = Hom 𝑓 ⁡ D
13 inss2 ⊢ S ∩ Base D ⊆ Base D
14 13 a1i ⊢ φ → S ∩ Base D ⊆ Base D
15 11 12 3 14 fullsubc ⊢ φ → Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D ∈ Subcat ⁡ D
16 15 adantr ⊢ φ ∧ F C Func D G ∨ F C Func E G → Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D ∈ Subcat ⁡ D
17 12 11 homffn ⊢ Hom 𝑓 ⁡ D Fn Base D × Base D
18 xpss12 ⊢ S ∩ Base D ⊆ Base D ∧ S ∩ Base D ⊆ Base D → S ∩ Base D × S ∩ Base D ⊆ Base D × Base D
19 13 13 18 mp2an ⊢ S ∩ Base D × S ∩ Base D ⊆ Base D × Base D
20 fnssres ⊢ Hom 𝑓 ⁡ D Fn Base D × Base D ∧ S ∩ Base D × S ∩ Base D ⊆ Base D × Base D → Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D Fn S ∩ Base D × S ∩ Base D
21 17 19 20 mp2an ⊢ Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D Fn S ∩ Base D × S ∩ Base D
22 21 a1i ⊢ φ ∧ F C Func D G ∨ F C Func E G → Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D Fn S ∩ Base D × S ∩ Base D
23 5 adantr ⊢ φ ∧ F C Func D G ∨ F C Func E G → F : A ⟶ S
24 23 ffnd ⊢ φ ∧ F C Func D G ∨ F C Func E G → F Fn A
25 23 frnd ⊢ φ ∧ F C Func D G ∨ F C Func E G → ran ⁡ F ⊆ S
26 simpr ⊢ φ ∧ F C Func D G → F C Func D G
27 1 11 26 funcf1 ⊢ φ ∧ F C Func D G → F : A ⟶ Base D
28 27 frnd ⊢ φ ∧ F C Func D G → ran ⁡ F ⊆ Base D
29 eqid ⊢ Base E = Base E
30 simpr ⊢ φ ∧ F C Func E G → F C Func E G
31 1 29 30 funcf1 ⊢ φ ∧ F C Func E G → F : A ⟶ Base E
32 31 frnd ⊢ φ ∧ F C Func E G → ran ⁡ F ⊆ Base E
33 2 11 ressbasss ⊢ Base E ⊆ Base D
34 32 33 sstrdi ⊢ φ ∧ F C Func E G → ran ⁡ F ⊆ Base D
35 28 34 jaodan ⊢ φ ∧ F C Func D G ∨ F C Func E G → ran ⁡ F ⊆ Base D
36 25 35 ssind ⊢ φ ∧ F C Func D G ∨ F C Func E G → ran ⁡ F ⊆ S ∩ Base D
37 df-f ⊢ F : A ⟶ S ∩ Base D ↔ F Fn A ∧ ran ⁡ F ⊆ S ∩ Base D
38 24 36 37 sylanbrc ⊢ φ ∧ F C Func D G ∨ F C Func E G → F : A ⟶ S ∩ Base D
39 eqid ⊢ Hom ⁡ D = Hom ⁡ D
40 simpr ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func D G → F C Func D G
41 simplrl ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func D G → x ∈ A
42 simplrr ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func D G → y ∈ A
43 1 10 39 40 41 42 funcf2 ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func D G → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ D F ⁡ y
44 eqid ⊢ Hom ⁡ E = Hom ⁡ E
45 simpr ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → F C Func E G
46 simplrl ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → x ∈ A
47 simplrr ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → y ∈ A
48 1 10 44 45 46 47 funcf2 ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ E F ⁡ y
49 2 39 resshom ⊢ S ∈ V → Hom ⁡ D = Hom ⁡ E
50 4 49 syl ⊢ φ → Hom ⁡ D = Hom ⁡ E
51 50 ad2antrr ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → Hom ⁡ D = Hom ⁡ E
52 51 oveqd ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → F ⁡ x Hom ⁡ D F ⁡ y = F ⁡ x Hom ⁡ E F ⁡ y
53 52 feq3d ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ D F ⁡ y ↔ x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ E F ⁡ y
54 48 53 mpbird ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func E G → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ D F ⁡ y
55 43 54 jaodan ⊢ φ ∧ x ∈ A ∧ y ∈ A ∧ F C Func D G ∨ F C Func E G → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ D F ⁡ y
56 55 an32s ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ D F ⁡ y
57 38 adantr ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F : A ⟶ S ∩ Base D
58 simprl ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → x ∈ A
59 57 58 ffvelcdmd ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ x ∈ S ∩ Base D
60 simprr ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → y ∈ A
61 57 60 ffvelcdmd ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ y ∈ S ∩ Base D
62 59 61 ovresd ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ x Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D F ⁡ y = F ⁡ x Hom 𝑓 ⁡ D F ⁡ y
63 59 elin2d ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ x ∈ Base D
64 61 elin2d ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ y ∈ Base D
65 12 11 39 63 64 homfval ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ x Hom 𝑓 ⁡ D F ⁡ y = F ⁡ x Hom ⁡ D F ⁡ y
66 62 65 eqtrd ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → F ⁡ x Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D F ⁡ y = F ⁡ x Hom ⁡ D F ⁡ y
67 66 feq3d ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D F ⁡ y ↔ x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom ⁡ D F ⁡ y
68 56 67 mpbird ⊢ φ ∧ F C Func D G ∨ F C Func E G ∧ x ∈ A ∧ y ∈ A → x G y : x Hom ⁡ C y ⟶ F ⁡ x Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D F ⁡ y
69 1 10 16 22 38 68 funcres2b ⊢ φ ∧ F C Func D G ∨ F C Func E G → F C Func D G ↔ F C Func D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D G
70 eqidd ⊢ φ ∧ F C Func D G ∨ F C Func E G → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ C
71 eqidd ⊢ φ ∧ F C Func D G ∨ F C Func E G → comp 𝑓 ⁡ C = comp 𝑓 ⁡ C
72 11 ressinbas ⊢ S ∈ V → D ↾ 𝑠 S = D ↾ 𝑠 S ∩ Base D
73 4 72 syl ⊢ φ → D ↾ 𝑠 S = D ↾ 𝑠 S ∩ Base D
74 2 73 eqtrid ⊢ φ → E = D ↾ 𝑠 S ∩ Base D
75 74 fveq2d ⊢ φ → Hom 𝑓 ⁡ E = Hom 𝑓 ⁡ D ↾ 𝑠 S ∩ Base D
76 eqid ⊢ D ↾ 𝑠 S ∩ Base D = D ↾ 𝑠 S ∩ Base D
77 eqid ⊢ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D = D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
78 11 12 3 14 76 77 fullresc ⊢ φ → Hom 𝑓 ⁡ D ↾ 𝑠 S ∩ Base D = Hom 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D ∧ comp 𝑓 ⁡ D ↾ 𝑠 S ∩ Base D = comp 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
79 78 simpld ⊢ φ → Hom 𝑓 ⁡ D ↾ 𝑠 S ∩ Base D = Hom 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
80 75 79 eqtrd ⊢ φ → Hom 𝑓 ⁡ E = Hom 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
81 80 adantr ⊢ φ ∧ F C Func D G ∨ F C Func E G → Hom 𝑓 ⁡ E = Hom 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
82 74 fveq2d ⊢ φ → comp 𝑓 ⁡ E = comp 𝑓 ⁡ D ↾ 𝑠 S ∩ Base D
83 78 simprd ⊢ φ → comp 𝑓 ⁡ D ↾ 𝑠 S ∩ Base D = comp 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
84 82 83 eqtrd ⊢ φ → comp 𝑓 ⁡ E = comp 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
85 84 adantr ⊢ φ ∧ F C Func D G ∨ F C Func E G → comp 𝑓 ⁡ E = comp 𝑓 ⁡ D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
86 df-br ⊢ F C Func D G ↔ F G ∈ C Func D
87 funcrcl ⊢ F G ∈ C Func D → C ∈ Cat ∧ D ∈ Cat
88 86 87 sylbi ⊢ F C Func D G → C ∈ Cat ∧ D ∈ Cat
89 88 simpld ⊢ F C Func D G → C ∈ Cat
90 df-br ⊢ F C Func E G ↔ F G ∈ C Func E
91 funcrcl ⊢ F G ∈ C Func E → C ∈ Cat ∧ E ∈ Cat
92 90 91 sylbi ⊢ F C Func E G → C ∈ Cat ∧ E ∈ Cat
93 92 simpld ⊢ F C Func E G → C ∈ Cat
94 89 93 jaoi ⊢ F C Func D G ∨ F C Func E G → C ∈ Cat
95 94 elexd ⊢ F C Func D G ∨ F C Func E G → C ∈ V
96 95 adantl ⊢ φ ∧ F C Func D G ∨ F C Func E G → C ∈ V
97 2 ovexi ⊢ E ∈ V
98 97 a1i ⊢ φ ∧ F C Func D G ∨ F C Func E G → E ∈ V
99 ovexd ⊢ φ ∧ F C Func D G ∨ F C Func E G → D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D ∈ V
100 70 71 81 85 96 96 98 99 funcpropd ⊢ φ ∧ F C Func D G ∨ F C Func E G → C Func E = C Func D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D
101 100 breqd ⊢ φ ∧ F C Func D G ∨ F C Func E G → F C Func E G ↔ F C Func D ↾ cat Hom 𝑓 ⁡ D ↾ S ∩ Base D × S ∩ Base D G
102 69 101 bitr4d ⊢ φ ∧ F C Func D G ∨ F C Func E G → F C Func D G ↔ F C Func E G
103 102 ex ⊢ φ → F C Func D G ∨ F C Func E G → F C Func D G ↔ F C Func E G
104 7 9 103 pm5.21ndd ⊢ φ → F C Func D G ↔ F C Func E G