Metamath Proof Explorer


Theorem 1st2ndprf

Description: Break a functor into a product category into first and second projections. (Contributed by Mario Carneiro, 12-Jan-2017)

Ref Expression
Hypotheses 1st2ndprf.t ⊢ T = D × c E
1st2ndprf.f ⊢ φ → F ∈ C Func T
1st2ndprf.d ⊢ φ → D ∈ Cat
1st2ndprf.e ⊢ φ → E ∈ Cat
Assertion 1st2ndprf ⊢ φ → F = D 1 st F E ∘ func F ⟨,⟩ F D 2 nd F E ∘ func F

Proof

Step Hyp Ref Expression
1 1st2ndprf.t ⊢ T = D × c E
2 1st2ndprf.f ⊢ φ → F ∈ C Func T
3 1st2ndprf.d ⊢ φ → D ∈ Cat
4 1st2ndprf.e ⊢ φ → E ∈ Cat
5 eqid ⊢ Base C = Base C
6 eqid ⊢ Base D = Base D
7 eqid ⊢ Base E = Base E
8 1 6 7 xpcbas ⊢ Base D × Base E = Base T
9 relfunc ⊢ Rel ⁡ C Func T
10 1st2ndbr ⊢ Rel ⁡ C Func T ∧ F ∈ C Func T → 1 st ⁡ F C Func T 2 nd ⁡ F
11 9 2 10 sylancr ⊢ φ → 1 st ⁡ F C Func T 2 nd ⁡ F
12 5 8 11 funcf1 ⊢ φ → 1 st ⁡ F : Base C ⟶ Base D × Base E
13 12 feqmptd ⊢ φ → 1 st ⁡ F = x ∈ Base C ⟼ 1 st ⁡ F ⁡ x
14 12 ffvelcdmda ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F ⁡ x ∈ Base D × Base E
15 1st2nd2 ⊢ 1 st ⁡ F ⁡ x ∈ Base D × Base E → 1 st ⁡ F ⁡ x = 1 st ⁡ 1 st ⁡ F ⁡ x 2 nd ⁡ 1 st ⁡ F ⁡ x
16 14 15 syl ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F ⁡ x = 1 st ⁡ 1 st ⁡ F ⁡ x 2 nd ⁡ 1 st ⁡ F ⁡ x
17 2 adantr ⊢ φ ∧ x ∈ Base C → F ∈ C Func T
18 eqid ⊢ D 1 st F E = D 1 st F E
19 1 3 4 18 1stfcl ⊢ φ → D 1 st F E ∈ T Func D
20 19 adantr ⊢ φ ∧ x ∈ Base C → D 1 st F E ∈ T Func D
21 simpr ⊢ φ ∧ x ∈ Base C → x ∈ Base C
22 5 17 20 21 cofu1 ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 1 st F E ∘ func F ⁡ x = 1 st ⁡ D 1 st F E ⁡ 1 st ⁡ F ⁡ x
23 eqid ⊢ Hom ⁡ T = Hom ⁡ T
24 3 adantr ⊢ φ ∧ x ∈ Base C → D ∈ Cat
25 4 adantr ⊢ φ ∧ x ∈ Base C → E ∈ Cat
26 1 8 23 24 25 18 14 1stf1 ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 1 st F E ⁡ 1 st ⁡ F ⁡ x = 1 st ⁡ 1 st ⁡ F ⁡ x
27 22 26 eqtrd ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 1 st F E ∘ func F ⁡ x = 1 st ⁡ 1 st ⁡ F ⁡ x
28 eqid ⊢ D 2 nd F E = D 2 nd F E
29 1 3 4 28 2ndfcl ⊢ φ → D 2 nd F E ∈ T Func E
30 29 adantr ⊢ φ ∧ x ∈ Base C → D 2 nd F E ∈ T Func E
31 5 17 30 21 cofu1 ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 2 nd F E ∘ func F ⁡ x = 1 st ⁡ D 2 nd F E ⁡ 1 st ⁡ F ⁡ x
32 1 8 23 24 25 28 14 2ndf1 ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 2 nd F E ⁡ 1 st ⁡ F ⁡ x = 2 nd ⁡ 1 st ⁡ F ⁡ x
33 31 32 eqtrd ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 2 nd F E ∘ func F ⁡ x = 2 nd ⁡ 1 st ⁡ F ⁡ x
34 27 33 opeq12d ⊢ φ ∧ x ∈ Base C → 1 st ⁡ D 1 st F E ∘ func F ⁡ x 1 st ⁡ D 2 nd F E ∘ func F ⁡ x = 1 st ⁡ 1 st ⁡ F ⁡ x 2 nd ⁡ 1 st ⁡ F ⁡ x
35 16 34 eqtr4d ⊢ φ ∧ x ∈ Base C → 1 st ⁡ F ⁡ x = 1 st ⁡ D 1 st F E ∘ func F ⁡ x 1 st ⁡ D 2 nd F E ∘ func F ⁡ x
36 35 mpteq2dva ⊢ φ → x ∈ Base C ⟼ 1 st ⁡ F ⁡ x = x ∈ Base C ⟼ 1 st ⁡ D 1 st F E ∘ func F ⁡ x 1 st ⁡ D 2 nd F E ∘ func F ⁡ x
37 13 36 eqtrd ⊢ φ → 1 st ⁡ F = x ∈ Base C ⟼ 1 st ⁡ D 1 st F E ∘ func F ⁡ x 1 st ⁡ D 2 nd F E ∘ func F ⁡ x
38 5 11 funcfn2 ⊢ φ → 2 nd ⁡ F Fn Base C × Base C
39 fnov ⊢ 2 nd ⁡ F Fn Base C × Base C ↔ 2 nd ⁡ F = x ∈ Base C , y ∈ Base C ⟼ x 2 nd ⁡ F y
40 38 39 sylib ⊢ φ → 2 nd ⁡ F = x ∈ Base C , y ∈ Base C ⟼ x 2 nd ⁡ F y
41 eqid ⊢ Hom ⁡ C = Hom ⁡ C
42 11 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → 1 st ⁡ F C Func T 2 nd ⁡ F
43 simprl ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → x ∈ Base C
44 simprr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → y ∈ Base C
45 5 41 23 42 43 44 funcf2 ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → x 2 nd ⁡ F y : x Hom ⁡ C y ⟶ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
46 45 feqmptd ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → x 2 nd ⁡ F y = f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ F y ⁡ f
47 1 23 relxpchom ⊢ Rel ⁡ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
48 45 ffvelcdmda ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ F y ⁡ f ∈ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
49 1st2nd ⊢ Rel ⁡ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y ∧ x 2 nd ⁡ F y ⁡ f ∈ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y → x 2 nd ⁡ F y ⁡ f = 1 st ⁡ x 2 nd ⁡ F y ⁡ f 2 nd ⁡ x 2 nd ⁡ F y ⁡ f
50 47 48 49 sylancr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ F y ⁡ f = 1 st ⁡ x 2 nd ⁡ F y ⁡ f 2 nd ⁡ x 2 nd ⁡ F y ⁡ f
51 2 ad2antrr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → F ∈ C Func T
52 19 ad2antrr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → D 1 st F E ∈ T Func D
53 43 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x ∈ Base C
54 44 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → y ∈ Base C
55 simpr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → f ∈ x Hom ⁡ C y
56 5 51 52 53 54 41 55 cofu2 ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f = 1 st ⁡ F ⁡ x 2 nd ⁡ D 1 st F E 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f
57 3 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → D ∈ Cat
58 4 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → E ∈ Cat
59 14 adantrr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → 1 st ⁡ F ⁡ x ∈ Base D × Base E
60 12 ffvelcdmda ⊢ φ ∧ y ∈ Base C → 1 st ⁡ F ⁡ y ∈ Base D × Base E
61 60 adantrl ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → 1 st ⁡ F ⁡ y ∈ Base D × Base E
62 1 8 23 57 58 18 59 61 1stf2 ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → 1 st ⁡ F ⁡ x 2 nd ⁡ D 1 st F E 1 st ⁡ F ⁡ y = 1 st ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
63 62 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → 1 st ⁡ F ⁡ x 2 nd ⁡ D 1 st F E 1 st ⁡ F ⁡ y = 1 st ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
64 63 fveq1d ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → 1 st ⁡ F ⁡ x 2 nd ⁡ D 1 st F E 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f = 1 st ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f
65 48 fvresd ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → 1 st ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f = 1 st ⁡ x 2 nd ⁡ F y ⁡ f
66 56 64 65 3eqtrd ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f = 1 st ⁡ x 2 nd ⁡ F y ⁡ f
67 29 ad2antrr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → D 2 nd F E ∈ T Func E
68 5 51 67 53 54 41 55 cofu2 ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f = 1 st ⁡ F ⁡ x 2 nd ⁡ D 2 nd F E 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f
69 1 8 23 57 58 28 59 61 2ndf2 ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → 1 st ⁡ F ⁡ x 2 nd ⁡ D 2 nd F E 1 st ⁡ F ⁡ y = 2 nd ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
70 69 adantr ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → 1 st ⁡ F ⁡ x 2 nd ⁡ D 2 nd F E 1 st ⁡ F ⁡ y = 2 nd ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y
71 70 fveq1d ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → 1 st ⁡ F ⁡ x 2 nd ⁡ D 2 nd F E 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f = 2 nd ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f
72 48 fvresd ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → 2 nd ↾ 1 st ⁡ F ⁡ x Hom ⁡ T 1 st ⁡ F ⁡ y ⁡ x 2 nd ⁡ F y ⁡ f = 2 nd ⁡ x 2 nd ⁡ F y ⁡ f
73 68 71 72 3eqtrd ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f = 2 nd ⁡ x 2 nd ⁡ F y ⁡ f
74 66 73 opeq12d ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f = 1 st ⁡ x 2 nd ⁡ F y ⁡ f 2 nd ⁡ x 2 nd ⁡ F y ⁡ f
75 50 74 eqtr4d ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C ∧ f ∈ x Hom ⁡ C y → x 2 nd ⁡ F y ⁡ f = x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
76 75 mpteq2dva ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ F y ⁡ f = f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
77 46 76 eqtrd ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → x 2 nd ⁡ F y = f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
78 77 3impb ⊢ φ ∧ x ∈ Base C ∧ y ∈ Base C → x 2 nd ⁡ F y = f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
79 78 mpoeq3dva ⊢ φ → x ∈ Base C , y ∈ Base C ⟼ x 2 nd ⁡ F y = x ∈ Base C , y ∈ Base C ⟼ f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
80 40 79 eqtrd ⊢ φ → 2 nd ⁡ F = x ∈ Base C , y ∈ Base C ⟼ f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
81 37 80 opeq12d ⊢ φ → 1 st ⁡ F 2 nd ⁡ F = x ∈ Base C ⟼ 1 st ⁡ D 1 st F E ∘ func F ⁡ x 1 st ⁡ D 2 nd F E ∘ func F ⁡ x x ∈ Base C , y ∈ Base C ⟼ f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
82 1st2nd ⊢ Rel ⁡ C Func T ∧ F ∈ C Func T → F = 1 st ⁡ F 2 nd ⁡ F
83 9 2 82 sylancr ⊢ φ → F = 1 st ⁡ F 2 nd ⁡ F
84 eqid ⊢ D 1 st F E ∘ func F ⟨,⟩ F D 2 nd F E ∘ func F = D 1 st F E ∘ func F ⟨,⟩ F D 2 nd F E ∘ func F
85 2 19 cofucl ⊢ φ → D 1 st F E ∘ func F ∈ C Func D
86 2 29 cofucl ⊢ φ → D 2 nd F E ∘ func F ∈ C Func E
87 84 5 41 85 86 prfval ⊢ φ → D 1 st F E ∘ func F ⟨,⟩ F D 2 nd F E ∘ func F = x ∈ Base C ⟼ 1 st ⁡ D 1 st F E ∘ func F ⁡ x 1 st ⁡ D 2 nd F E ∘ func F ⁡ x x ∈ Base C , y ∈ Base C ⟼ f ∈ x Hom ⁡ C y ⟼ x 2 nd ⁡ D 1 st F E ∘ func F y ⁡ f x 2 nd ⁡ D 2 nd F E ∘ func F y ⁡ f
88 81 83 87 3eqtr4d ⊢ φ → F = D 1 st F E ∘ func F ⟨,⟩ F D 2 nd F E ∘ func F