Metamath Proof Explorer


Theorem curfpropd

Description: If two categories have the same set of objects, morphisms, and compositions, then they curry the same functor to the same result. (Contributed by Mario Carneiro, 26-Jan-2017)

Ref Expression
Hypotheses curfpropd.1 ⊢ φ → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
curfpropd.2 ⊢ φ → comp 𝑓 ⁡ A = comp 𝑓 ⁡ B
curfpropd.3 ⊢ φ → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
curfpropd.4 ⊢ φ → comp 𝑓 ⁡ C = comp 𝑓 ⁡ D
curfpropd.a ⊢ φ → A ∈ Cat
curfpropd.b ⊢ φ → B ∈ Cat
curfpropd.c ⊢ φ → C ∈ Cat
curfpropd.d ⊢ φ → D ∈ Cat
curfpropd.f ⊢ φ → F ∈ A × c C Func E
Assertion curfpropd ⊢ φ → A C curry F F = B D curry F F

Proof

Step Hyp Ref Expression
1 curfpropd.1 ⊢ φ → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
2 curfpropd.2 ⊢ φ → comp 𝑓 ⁡ A = comp 𝑓 ⁡ B
3 curfpropd.3 ⊢ φ → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
4 curfpropd.4 ⊢ φ → comp 𝑓 ⁡ C = comp 𝑓 ⁡ D
5 curfpropd.a ⊢ φ → A ∈ Cat
6 curfpropd.b ⊢ φ → B ∈ Cat
7 curfpropd.c ⊢ φ → C ∈ Cat
8 curfpropd.d ⊢ φ → D ∈ Cat
9 curfpropd.f ⊢ φ → F ∈ A × c C Func E
10 1 homfeqbas ⊢ φ → Base A = Base B
11 3 homfeqbas ⊢ φ → Base C = Base D
12 11 adantr ⊢ φ ∧ x ∈ Base A → Base C = Base D
13 12 mpteq1d ⊢ φ ∧ x ∈ Base A → y ∈ Base C ⟼ x 1 st ⁡ F y = y ∈ Base D ⟼ x 1 st ⁡ F y
14 12 adantr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C → Base C = Base D
15 eqid ⊢ Base C = Base C
16 eqid ⊢ Hom ⁡ C = Hom ⁡ C
17 eqid ⊢ Hom ⁡ D = Hom ⁡ D
18 3 ad2antrr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
19 simprl ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → y ∈ Base C
20 simprr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → z ∈ Base C
21 15 16 17 18 19 20 homfeqval ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → y Hom ⁡ C z = y Hom ⁡ D z
22 1 2 5 6 cidpropd ⊢ φ → Id ⁡ A = Id ⁡ B
23 22 ad2antrr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → Id ⁡ A = Id ⁡ B
24 23 fveq1d ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → Id ⁡ A ⁡ x = Id ⁡ B ⁡ x
25 24 oveq1d ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g = Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g
26 21 25 mpteq12dv ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base C ∧ z ∈ Base C → g ∈ y Hom ⁡ C z ⟼ Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g = g ∈ y Hom ⁡ D z ⟼ Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g
27 12 14 26 mpoeq123dva ⊢ φ ∧ x ∈ Base A → y ∈ Base C , z ∈ Base C ⟼ g ∈ y Hom ⁡ C z ⟼ Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g = y ∈ Base D , z ∈ Base D ⟼ g ∈ y Hom ⁡ D z ⟼ Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g
28 13 27 opeq12d ⊢ φ ∧ x ∈ Base A → y ∈ Base C ⟼ x 1 st ⁡ F y y ∈ Base C , z ∈ Base C ⟼ g ∈ y Hom ⁡ C z ⟼ Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g = y ∈ Base D ⟼ x 1 st ⁡ F y y ∈ Base D , z ∈ Base D ⟼ g ∈ y Hom ⁡ D z ⟼ Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g
29 10 28 mpteq12dva ⊢ φ → x ∈ Base A ⟼ y ∈ Base C ⟼ x 1 st ⁡ F y y ∈ Base C , z ∈ Base C ⟼ g ∈ y Hom ⁡ C z ⟼ Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g = x ∈ Base B ⟼ y ∈ Base D ⟼ x 1 st ⁡ F y y ∈ Base D , z ∈ Base D ⟼ g ∈ y Hom ⁡ D z ⟼ Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g
30 10 adantr ⊢ φ ∧ x ∈ Base A → Base A = Base B
31 eqid ⊢ Base A = Base A
32 eqid ⊢ Hom ⁡ A = Hom ⁡ A
33 eqid ⊢ Hom ⁡ B = Hom ⁡ B
34 1 adantr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
35 simprl ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A → x ∈ Base A
36 simprr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A → y ∈ Base A
37 31 32 33 34 35 36 homfeqval ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A → x Hom ⁡ A y = x Hom ⁡ B y
38 11 ad2antrr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A ∧ g ∈ x Hom ⁡ A y → Base C = Base D
39 3 4 7 8 cidpropd ⊢ φ → Id ⁡ C = Id ⁡ D
40 39 ad3antrrr ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A ∧ g ∈ x Hom ⁡ A y ∧ z ∈ Base C → Id ⁡ C = Id ⁡ D
41 40 fveq1d ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A ∧ g ∈ x Hom ⁡ A y ∧ z ∈ Base C → Id ⁡ C ⁡ z = Id ⁡ D ⁡ z
42 41 oveq2d ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A ∧ g ∈ x Hom ⁡ A y ∧ z ∈ Base C → g x z 2 nd ⁡ F y z Id ⁡ C ⁡ z = g x z 2 nd ⁡ F y z Id ⁡ D ⁡ z
43 38 42 mpteq12dva ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A ∧ g ∈ x Hom ⁡ A y → z ∈ Base C ⟼ g x z 2 nd ⁡ F y z Id ⁡ C ⁡ z = z ∈ Base D ⟼ g x z 2 nd ⁡ F y z Id ⁡ D ⁡ z
44 37 43 mpteq12dva ⊢ φ ∧ x ∈ Base A ∧ y ∈ Base A → g ∈ x Hom ⁡ A y ⟼ z ∈ Base C ⟼ g x z 2 nd ⁡ F y z Id ⁡ C ⁡ z = g ∈ x Hom ⁡ B y ⟼ z ∈ Base D ⟼ g x z 2 nd ⁡ F y z Id ⁡ D ⁡ z
45 10 30 44 mpoeq123dva ⊢ φ → x ∈ Base A , y ∈ Base A ⟼ g ∈ x Hom ⁡ A y ⟼ z ∈ Base C ⟼ g x z 2 nd ⁡ F y z Id ⁡ C ⁡ z = x ∈ Base B , y ∈ Base B ⟼ g ∈ x Hom ⁡ B y ⟼ z ∈ Base D ⟼ g x z 2 nd ⁡ F y z Id ⁡ D ⁡ z
46 29 45 opeq12d ⊢ φ → x ∈ Base A ⟼ y ∈ Base C ⟼ x 1 st ⁡ F y y ∈ Base C , z ∈ Base C ⟼ g ∈ y Hom ⁡ C z ⟼ Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g x ∈ Base A , y ∈ Base A ⟼ g ∈ x Hom ⁡ A y ⟼ z ∈ Base C ⟼ g x z 2 nd ⁡ F y z Id ⁡ C ⁡ z = x ∈ Base B ⟼ y ∈ Base D ⟼ x 1 st ⁡ F y y ∈ Base D , z ∈ Base D ⟼ g ∈ y Hom ⁡ D z ⟼ Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g x ∈ Base B , y ∈ Base B ⟼ g ∈ x Hom ⁡ B y ⟼ z ∈ Base D ⟼ g x z 2 nd ⁡ F y z Id ⁡ D ⁡ z
47 eqid ⊢ A C curry F F = A C curry F F
48 eqid ⊢ Id ⁡ A = Id ⁡ A
49 eqid ⊢ Id ⁡ C = Id ⁡ C
50 47 31 5 7 9 15 16 48 32 49 curfval ⊢ φ → A C curry F F = x ∈ Base A ⟼ y ∈ Base C ⟼ x 1 st ⁡ F y y ∈ Base C , z ∈ Base C ⟼ g ∈ y Hom ⁡ C z ⟼ Id ⁡ A ⁡ x x y 2 nd ⁡ F x z g x ∈ Base A , y ∈ Base A ⟼ g ∈ x Hom ⁡ A y ⟼ z ∈ Base C ⟼ g x z 2 nd ⁡ F y z Id ⁡ C ⁡ z
51 eqid ⊢ B D curry F F = B D curry F F
52 eqid ⊢ Base B = Base B
53 1 2 3 4 5 6 7 8 xpcpropd ⊢ φ → A × c C = B × c D
54 53 oveq1d ⊢ φ → A × c C Func E = B × c D Func E
55 9 54 eleqtrd ⊢ φ → F ∈ B × c D Func E
56 eqid ⊢ Base D = Base D
57 eqid ⊢ Id ⁡ B = Id ⁡ B
58 eqid ⊢ Id ⁡ D = Id ⁡ D
59 51 52 6 8 55 56 17 57 33 58 curfval ⊢ φ → B D curry F F = x ∈ Base B ⟼ y ∈ Base D ⟼ x 1 st ⁡ F y y ∈ Base D , z ∈ Base D ⟼ g ∈ y Hom ⁡ D z ⟼ Id ⁡ B ⁡ x x y 2 nd ⁡ F x z g x ∈ Base B , y ∈ Base B ⟼ g ∈ x Hom ⁡ B y ⟼ z ∈ Base D ⟼ g x z 2 nd ⁡ F y z Id ⁡ D ⁡ z
60 46 50 59 3eqtr4d ⊢ φ → A C curry F F = B D curry F F