Metamath Proof Explorer


Theorem funcsetcres2

Description: A functor into a smaller category of sets is a functor into the larger category. (Contributed by Mario Carneiro, 28-Jan-2017)

Ref Expression
Hypotheses resssetc.c 𝐶 = ( SetCat ‘ 𝑈 )
resssetc.d 𝐷 = ( SetCat ‘ 𝑉 )
resssetc.1 ( 𝜑𝑈𝑊 )
resssetc.2 ( 𝜑𝑉𝑈 )
Assertion funcsetcres2 ( 𝜑 → ( 𝐸 Func 𝐷 ) ⊆ ( 𝐸 Func 𝐶 ) )

Proof

Step Hyp Ref Expression
1 resssetc.c 𝐶 = ( SetCat ‘ 𝑈 )
2 resssetc.d 𝐷 = ( SetCat ‘ 𝑉 )
3 resssetc.1 ( 𝜑𝑈𝑊 )
4 resssetc.2 ( 𝜑𝑉𝑈 )
5 eqidd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( Homf𝐸 ) = ( Homf𝐸 ) )
6 eqidd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( compf𝐸 ) = ( compf𝐸 ) )
7 eqid ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 )
8 eqid ( Homf𝐶 ) = ( Homf𝐶 )
9 1 setccat ( 𝑈𝑊𝐶 ∈ Cat )
10 3 9 syl ( 𝜑𝐶 ∈ Cat )
11 10 adantr ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → 𝐶 ∈ Cat )
12 1 3 setcbas ( 𝜑𝑈 = ( Base ‘ 𝐶 ) )
13 4 12 sseqtrd ( 𝜑𝑉 ⊆ ( Base ‘ 𝐶 ) )
14 13 adantr ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → 𝑉 ⊆ ( Base ‘ 𝐶 ) )
15 eqid ( 𝐶s 𝑉 ) = ( 𝐶s 𝑉 )
16 eqid ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) = ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) )
17 7 8 11 14 15 16 fullresc ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( ( Homf ‘ ( 𝐶s 𝑉 ) ) = ( Homf ‘ ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) ∧ ( compf ‘ ( 𝐶s 𝑉 ) ) = ( compf ‘ ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) ) )
18 17 simpld ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( Homf ‘ ( 𝐶s 𝑉 ) ) = ( Homf ‘ ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) )
19 1 2 3 4 resssetc ( 𝜑 → ( ( Homf ‘ ( 𝐶s 𝑉 ) ) = ( Homf𝐷 ) ∧ ( compf ‘ ( 𝐶s 𝑉 ) ) = ( compf𝐷 ) ) )
20 19 adantr ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( ( Homf ‘ ( 𝐶s 𝑉 ) ) = ( Homf𝐷 ) ∧ ( compf ‘ ( 𝐶s 𝑉 ) ) = ( compf𝐷 ) ) )
21 20 simpld ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( Homf ‘ ( 𝐶s 𝑉 ) ) = ( Homf𝐷 ) )
22 18 21 eqtr3d ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( Homf ‘ ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) = ( Homf𝐷 ) )
23 17 simprd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( compf ‘ ( 𝐶s 𝑉 ) ) = ( compf ‘ ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) )
24 20 simprd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( compf ‘ ( 𝐶s 𝑉 ) ) = ( compf𝐷 ) )
25 23 24 eqtr3d ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( compf ‘ ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) = ( compf𝐷 ) )
26 funcrcl ( 𝑓 ∈ ( 𝐸 Func 𝐷 ) → ( 𝐸 ∈ Cat ∧ 𝐷 ∈ Cat ) )
27 26 adantl ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( 𝐸 ∈ Cat ∧ 𝐷 ∈ Cat ) )
28 27 simpld ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → 𝐸 ∈ Cat )
29 7 8 11 14 fullsubc ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ∈ ( Subcat ‘ 𝐶 ) )
30 16 29 subccat ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ∈ Cat )
31 27 simprd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → 𝐷 ∈ Cat )
32 5 6 22 25 28 28 30 31 funcpropd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( 𝐸 Func ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) = ( 𝐸 Func 𝐷 ) )
33 funcres2 ( ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ∈ ( Subcat ‘ 𝐶 ) → ( 𝐸 Func ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) ⊆ ( 𝐸 Func 𝐶 ) )
34 29 33 syl ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( 𝐸 Func ( 𝐶cat ( ( Homf𝐶 ) ↾ ( 𝑉 × 𝑉 ) ) ) ) ⊆ ( 𝐸 Func 𝐶 ) )
35 32 34 eqsstrrd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → ( 𝐸 Func 𝐷 ) ⊆ ( 𝐸 Func 𝐶 ) )
36 simpr ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → 𝑓 ∈ ( 𝐸 Func 𝐷 ) )
37 35 36 sseldd ( ( 𝜑𝑓 ∈ ( 𝐸 Func 𝐷 ) ) → 𝑓 ∈ ( 𝐸 Func 𝐶 ) )
38 37 ex ( 𝜑 → ( 𝑓 ∈ ( 𝐸 Func 𝐷 ) → 𝑓 ∈ ( 𝐸 Func 𝐶 ) ) )
39 38 ssrdv ( 𝜑 → ( 𝐸 Func 𝐷 ) ⊆ ( 𝐸 Func 𝐶 ) )