Metamath Proof Explorer


Theorem funcpropd

Description: If two categories have the same set of objects, morphisms, and compositions, then they have the same functors. (Contributed by Mario Carneiro, 17-Jan-2017)

Ref Expression
Hypotheses funcpropd.1 ⊢ φ → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
funcpropd.2 ⊢ φ → comp 𝑓 ⁡ A = comp 𝑓 ⁡ B
funcpropd.3 ⊢ φ → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
funcpropd.4 ⊢ φ → comp 𝑓 ⁡ C = comp 𝑓 ⁡ D
funcpropd.a ⊢ φ → A ∈ V
funcpropd.b ⊢ φ → B ∈ V
funcpropd.c ⊢ φ → C ∈ V
funcpropd.d ⊢ φ → D ∈ V
Assertion funcpropd ⊢ φ → A Func C = B Func D

Proof

Step Hyp Ref Expression
1 funcpropd.1 ⊢ φ → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
2 funcpropd.2 ⊢ φ → comp 𝑓 ⁡ A = comp 𝑓 ⁡ B
3 funcpropd.3 ⊢ φ → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
4 funcpropd.4 ⊢ φ → comp 𝑓 ⁡ C = comp 𝑓 ⁡ D
5 funcpropd.a ⊢ φ → A ∈ V
6 funcpropd.b ⊢ φ → B ∈ V
7 funcpropd.c ⊢ φ → C ∈ V
8 funcpropd.d ⊢ φ → D ∈ V
9 relfunc ⊢ Rel ⁡ A Func C
10 relfunc ⊢ Rel ⁡ B Func D
11 1 2 5 6 catpropd ⊢ φ → A ∈ Cat ↔ B ∈ Cat
12 3 4 7 8 catpropd ⊢ φ → C ∈ Cat ↔ D ∈ Cat
13 11 12 anbi12d ⊢ φ → A ∈ Cat ∧ C ∈ Cat ↔ B ∈ Cat ∧ D ∈ Cat
14 2fveq3 ⊢ z = w → f ⁡ 1 st ⁡ z = f ⁡ 1 st ⁡ w
15 2fveq3 ⊢ z = w → f ⁡ 2 nd ⁡ z = f ⁡ 2 nd ⁡ w
16 14 15 oveq12d ⊢ z = w → f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z = f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w
17 fveq2 ⊢ z = w → Hom ⁡ A ⁡ z = Hom ⁡ A ⁡ w
18 16 17 oveq12d ⊢ z = w → f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z = f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
19 18 cbvixpv ⊢ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z = ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
20 19 eleq2i ⊢ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ↔ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
21 20 anbi2i ⊢ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ↔ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
22 1 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
23 2 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → comp 𝑓 ⁡ A = comp 𝑓 ⁡ B
24 5 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → A ∈ V
25 6 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → B ∈ V
26 22 23 24 25 cidpropd ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → Id ⁡ A = Id ⁡ B
27 26 fveq1d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → Id ⁡ A ⁡ x = Id ⁡ B ⁡ x
28 27 fveq2d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → x g x ⁡ Id ⁡ A ⁡ x = x g x ⁡ Id ⁡ B ⁡ x
29 3 4 7 8 cidpropd ⊢ φ → Id ⁡ C = Id ⁡ D
30 29 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → Id ⁡ C = Id ⁡ D
31 30 fveq1d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → Id ⁡ C ⁡ f ⁡ x = Id ⁡ D ⁡ f ⁡ x
32 28 31 eqeq12d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ↔ x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x
33 eqid ⊢ Base A = Base A
34 eqid ⊢ Hom ⁡ A = Hom ⁡ A
35 eqid ⊢ comp ⁡ A = comp ⁡ A
36 eqid ⊢ comp ⁡ B = comp ⁡ B
37 1 ad6antr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
38 2 ad6antr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → comp 𝑓 ⁡ A = comp 𝑓 ⁡ B
39 simp-5r ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → x ∈ Base A
40 simp-4r ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → y ∈ Base A
41 simpllr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → z ∈ Base A
42 simplr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → m ∈ x Hom ⁡ A y
43 simpr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → n ∈ y Hom ⁡ A z
44 33 34 35 36 37 38 39 40 41 42 43 comfeqval ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → n x y comp ⁡ A z m = n x y comp ⁡ B z m
45 44 fveq2d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → x g z ⁡ n x y comp ⁡ A z m = x g z ⁡ n x y comp ⁡ B z m
46 eqid ⊢ Base C = Base C
47 eqid ⊢ Hom ⁡ C = Hom ⁡ C
48 eqid ⊢ comp ⁡ C = comp ⁡ C
49 eqid ⊢ comp ⁡ D = comp ⁡ D
50 3 ad6antr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
51 4 ad6antr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → comp 𝑓 ⁡ C = comp 𝑓 ⁡ D
52 simprl ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w → f : Base A ⟶ Base C
53 52 ad5antr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → f : Base A ⟶ Base C
54 53 39 ffvelcdmd ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → f ⁡ x ∈ Base C
55 53 40 ffvelcdmd ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → f ⁡ y ∈ Base C
56 53 41 ffvelcdmd ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → f ⁡ z ∈ Base C
57 df-ov ⊢ x g y = g ⁡ x y
58 simprr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w → g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
59 58 ad3antrrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
60 59 adantr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w
61 opelxpi ⊢ x ∈ Base A ∧ y ∈ Base A → x y ∈ Base A × Base A
62 61 ad5ant23 ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → x y ∈ Base A × Base A
63 vex ⊢ x ∈ V
64 vex ⊢ y ∈ V
65 63 64 op1std ⊢ w = x y → 1 st ⁡ w = x
66 65 fveq2d ⊢ w = x y → f ⁡ 1 st ⁡ w = f ⁡ x
67 63 64 op2ndd ⊢ w = x y → 2 nd ⁡ w = y
68 67 fveq2d ⊢ w = x y → f ⁡ 2 nd ⁡ w = f ⁡ y
69 66 68 oveq12d ⊢ w = x y → f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w = f ⁡ x Hom ⁡ C f ⁡ y
70 fveq2 ⊢ w = x y → Hom ⁡ A ⁡ w = Hom ⁡ A ⁡ x y
71 df-ov ⊢ x Hom ⁡ A y = Hom ⁡ A ⁡ x y
72 70 71 eqtr4di ⊢ w = x y → Hom ⁡ A ⁡ w = x Hom ⁡ A y
73 69 72 oveq12d ⊢ w = x y → f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w = f ⁡ x Hom ⁡ C f ⁡ y x Hom ⁡ A y
74 73 fvixp ⊢ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x y ∈ Base A × Base A → g ⁡ x y ∈ f ⁡ x Hom ⁡ C f ⁡ y x Hom ⁡ A y
75 60 62 74 syl2anc ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → g ⁡ x y ∈ f ⁡ x Hom ⁡ C f ⁡ y x Hom ⁡ A y
76 57 75 eqeltrid ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → x g y ∈ f ⁡ x Hom ⁡ C f ⁡ y x Hom ⁡ A y
77 elmapi ⊢ x g y ∈ f ⁡ x Hom ⁡ C f ⁡ y x Hom ⁡ A y → x g y : x Hom ⁡ A y ⟶ f ⁡ x Hom ⁡ C f ⁡ y
78 76 77 syl ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → x g y : x Hom ⁡ A y ⟶ f ⁡ x Hom ⁡ C f ⁡ y
79 78 adantr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → x g y : x Hom ⁡ A y ⟶ f ⁡ x Hom ⁡ C f ⁡ y
80 79 42 ffvelcdmd ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → x g y ⁡ m ∈ f ⁡ x Hom ⁡ C f ⁡ y
81 df-ov ⊢ y g z = g ⁡ y z
82 opelxpi ⊢ y ∈ Base A ∧ z ∈ Base A → y z ∈ Base A × Base A
83 82 adantll ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → y z ∈ Base A × Base A
84 vex ⊢ z ∈ V
85 64 84 op1std ⊢ w = y z → 1 st ⁡ w = y
86 85 fveq2d ⊢ w = y z → f ⁡ 1 st ⁡ w = f ⁡ y
87 64 84 op2ndd ⊢ w = y z → 2 nd ⁡ w = z
88 87 fveq2d ⊢ w = y z → f ⁡ 2 nd ⁡ w = f ⁡ z
89 86 88 oveq12d ⊢ w = y z → f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w = f ⁡ y Hom ⁡ C f ⁡ z
90 fveq2 ⊢ w = y z → Hom ⁡ A ⁡ w = Hom ⁡ A ⁡ y z
91 df-ov ⊢ y Hom ⁡ A z = Hom ⁡ A ⁡ y z
92 90 91 eqtr4di ⊢ w = y z → Hom ⁡ A ⁡ w = y Hom ⁡ A z
93 89 92 oveq12d ⊢ w = y z → f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w = f ⁡ y Hom ⁡ C f ⁡ z y Hom ⁡ A z
94 93 fvixp ⊢ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ y z ∈ Base A × Base A → g ⁡ y z ∈ f ⁡ y Hom ⁡ C f ⁡ z y Hom ⁡ A z
95 59 83 94 syl2anc ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → g ⁡ y z ∈ f ⁡ y Hom ⁡ C f ⁡ z y Hom ⁡ A z
96 81 95 eqeltrid ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → y g z ∈ f ⁡ y Hom ⁡ C f ⁡ z y Hom ⁡ A z
97 elmapi ⊢ y g z ∈ f ⁡ y Hom ⁡ C f ⁡ z y Hom ⁡ A z → y g z : y Hom ⁡ A z ⟶ f ⁡ y Hom ⁡ C f ⁡ z
98 96 97 syl ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → y g z : y Hom ⁡ A z ⟶ f ⁡ y Hom ⁡ C f ⁡ z
99 98 adantr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → y g z : y Hom ⁡ A z ⟶ f ⁡ y Hom ⁡ C f ⁡ z
100 99 ffvelcdmda ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → y g z ⁡ n ∈ f ⁡ y Hom ⁡ C f ⁡ z
101 46 47 48 49 50 51 54 55 56 80 100 comfeqval ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
102 45 101 eqeq12d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y ∧ n ∈ y Hom ⁡ A z → x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
103 102 ralbidva ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A ∧ m ∈ x Hom ⁡ A y → ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
104 103 ralbidva ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
105 eqid ⊢ Hom ⁡ B = Hom ⁡ B
106 22 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
107 simpllr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → x ∈ Base A
108 simplr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → y ∈ Base A
109 33 34 105 106 107 108 homfeqval ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → x Hom ⁡ A y = x Hom ⁡ B y
110 simpr ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → z ∈ Base A
111 33 34 105 106 108 110 homfeqval ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → y Hom ⁡ A z = y Hom ⁡ B z
112 111 raleqdv ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
113 109 112 raleqbidv ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
114 104 113 bitrd ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A ∧ z ∈ Base A → ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
115 114 ralbidva ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A ∧ y ∈ Base A → ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
116 115 ralbidva ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
117 32 116 anbi12d ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w ∧ x ∈ Base A → x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
118 117 ralbidva ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ w ∈ Base A × Base A f ⁡ 1 st ⁡ w Hom ⁡ C f ⁡ 2 nd ⁡ w Hom ⁡ A ⁡ w → ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ x ∈ Base A x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
119 21 118 sylan2b ⊢ φ ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z → ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ ∀ x ∈ Base A x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
120 119 pm5.32da ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
121 eqid ⊢ Hom ⁡ D = Hom ⁡ D
122 3 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → Hom 𝑓 ⁡ C = Hom 𝑓 ⁡ D
123 simplr ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → f : Base A ⟶ Base C
124 xp1st ⊢ z ∈ Base A × Base A → 1 st ⁡ z ∈ Base A
125 124 adantl ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → 1 st ⁡ z ∈ Base A
126 123 125 ffvelcdmd ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → f ⁡ 1 st ⁡ z ∈ Base C
127 xp2nd ⊢ z ∈ Base A × Base A → 2 nd ⁡ z ∈ Base A
128 127 adantl ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → 2 nd ⁡ z ∈ Base A
129 123 128 ffvelcdmd ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → f ⁡ 2 nd ⁡ z ∈ Base C
130 46 47 121 122 126 129 homfeqval ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z = f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z
131 1 ad2antrr ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → Hom 𝑓 ⁡ A = Hom 𝑓 ⁡ B
132 33 34 105 131 125 128 homfeqval ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → 1 st ⁡ z Hom ⁡ A 2 nd ⁡ z = 1 st ⁡ z Hom ⁡ B 2 nd ⁡ z
133 df-ov ⊢ 1 st ⁡ z Hom ⁡ A 2 nd ⁡ z = Hom ⁡ A ⁡ 1 st ⁡ z 2 nd ⁡ z
134 df-ov ⊢ 1 st ⁡ z Hom ⁡ B 2 nd ⁡ z = Hom ⁡ B ⁡ 1 st ⁡ z 2 nd ⁡ z
135 132 133 134 3eqtr3g ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → Hom ⁡ A ⁡ 1 st ⁡ z 2 nd ⁡ z = Hom ⁡ B ⁡ 1 st ⁡ z 2 nd ⁡ z
136 1st2nd2 ⊢ z ∈ Base A × Base A → z = 1 st ⁡ z 2 nd ⁡ z
137 136 adantl ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → z = 1 st ⁡ z 2 nd ⁡ z
138 137 fveq2d ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → Hom ⁡ A ⁡ z = Hom ⁡ A ⁡ 1 st ⁡ z 2 nd ⁡ z
139 137 fveq2d ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → Hom ⁡ B ⁡ z = Hom ⁡ B ⁡ 1 st ⁡ z 2 nd ⁡ z
140 135 138 139 3eqtr4d ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → Hom ⁡ A ⁡ z = Hom ⁡ B ⁡ z
141 130 140 oveq12d ⊢ φ ∧ f : Base A ⟶ Base C ∧ z ∈ Base A × Base A → f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z = f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
142 141 ixpeq2dva ⊢ φ ∧ f : Base A ⟶ Base C → ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z = ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
143 1 homfeqbas ⊢ φ → Base A = Base B
144 143 sqxpeqd ⊢ φ → Base A × Base A = Base B × Base B
145 144 adantr ⊢ φ ∧ f : Base A ⟶ Base C → Base A × Base A = Base B × Base B
146 145 ixpeq1d ⊢ φ ∧ f : Base A ⟶ Base C → ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z = ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
147 142 146 eqtrd ⊢ φ ∧ f : Base A ⟶ Base C → ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z = ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
148 147 eleq2d ⊢ φ ∧ f : Base A ⟶ Base C → g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ↔ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
149 148 pm5.32da ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ↔ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
150 3 homfeqbas ⊢ φ → Base C = Base D
151 143 150 feq23d ⊢ φ → f : Base A ⟶ Base C ↔ f : Base B ⟶ Base D
152 151 anbi1d ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
153 149 152 bitrd ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z
154 143 adantr ⊢ φ ∧ x ∈ Base A → Base A = Base B
155 154 raleqdv ⊢ φ ∧ x ∈ Base A → ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
156 154 155 raleqbidv ⊢ φ ∧ x ∈ Base A → ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
157 156 anbi2d ⊢ φ ∧ x ∈ Base A → x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
158 143 157 raleqbidva ⊢ φ → ∀ x ∈ Base A x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
159 153 158 anbi12d ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
160 120 159 bitrd ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
161 df-3an ⊢ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m
162 df-3an ⊢ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
163 160 161 162 3bitr4g ⊢ φ → f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
164 13 163 anbi12d ⊢ φ → A ∈ Cat ∧ C ∈ Cat ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m ↔ B ∈ Cat ∧ D ∈ Cat ∧ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
165 df-br ⊢ f A Func C g ↔ f g ∈ A Func C
166 funcrcl ⊢ f g ∈ A Func C → A ∈ Cat ∧ C ∈ Cat
167 165 166 sylbi ⊢ f A Func C g → A ∈ Cat ∧ C ∈ Cat
168 eqid ⊢ Id ⁡ A = Id ⁡ A
169 eqid ⊢ Id ⁡ C = Id ⁡ C
170 simpl ⊢ A ∈ Cat ∧ C ∈ Cat → A ∈ Cat
171 simpr ⊢ A ∈ Cat ∧ C ∈ Cat → C ∈ Cat
172 33 46 34 47 168 169 35 48 170 171 isfunc ⊢ A ∈ Cat ∧ C ∈ Cat → f A Func C g ↔ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m
173 167 172 biadanii ⊢ f A Func C g ↔ A ∈ Cat ∧ C ∈ Cat ∧ f : Base A ⟶ Base C ∧ g ∈ ⨉ z ∈ Base A × Base A f ⁡ 1 st ⁡ z Hom ⁡ C f ⁡ 2 nd ⁡ z Hom ⁡ A ⁡ z ∧ ∀ x ∈ Base A x g x ⁡ Id ⁡ A ⁡ x = Id ⁡ C ⁡ f ⁡ x ∧ ∀ y ∈ Base A ∀ z ∈ Base A ∀ m ∈ x Hom ⁡ A y ∀ n ∈ y Hom ⁡ A z x g z ⁡ n x y comp ⁡ A z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ C f ⁡ z x g y ⁡ m
174 df-br ⊢ f B Func D g ↔ f g ∈ B Func D
175 funcrcl ⊢ f g ∈ B Func D → B ∈ Cat ∧ D ∈ Cat
176 174 175 sylbi ⊢ f B Func D g → B ∈ Cat ∧ D ∈ Cat
177 eqid ⊢ Base B = Base B
178 eqid ⊢ Base D = Base D
179 eqid ⊢ Id ⁡ B = Id ⁡ B
180 eqid ⊢ Id ⁡ D = Id ⁡ D
181 simpl ⊢ B ∈ Cat ∧ D ∈ Cat → B ∈ Cat
182 simpr ⊢ B ∈ Cat ∧ D ∈ Cat → D ∈ Cat
183 177 178 105 121 179 180 36 49 181 182 isfunc ⊢ B ∈ Cat ∧ D ∈ Cat → f B Func D g ↔ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
184 176 183 biadanii ⊢ f B Func D g ↔ B ∈ Cat ∧ D ∈ Cat ∧ f : Base B ⟶ Base D ∧ g ∈ ⨉ z ∈ Base B × Base B f ⁡ 1 st ⁡ z Hom ⁡ D f ⁡ 2 nd ⁡ z Hom ⁡ B ⁡ z ∧ ∀ x ∈ Base B x g x ⁡ Id ⁡ B ⁡ x = Id ⁡ D ⁡ f ⁡ x ∧ ∀ y ∈ Base B ∀ z ∈ Base B ∀ m ∈ x Hom ⁡ B y ∀ n ∈ y Hom ⁡ B z x g z ⁡ n x y comp ⁡ B z m = y g z ⁡ n f ⁡ x f ⁡ y comp ⁡ D f ⁡ z x g y ⁡ m
185 164 173 184 3bitr4g ⊢ φ → f A Func C g ↔ f B Func D g
186 9 10 185 eqbrrdiv ⊢ φ → A Func C = B Func D