Metamath Proof Explorer


Theorem fuciso

Description: A natural transformation is an isomorphism of functors iff all its components are isomorphisms. (Contributed by Mario Carneiro, 28-Jan-2017)

Ref Expression
Hypotheses fuciso.q ⊢ Q = C FuncCat D
fuciso.b ⊢ B = Base C
fuciso.n ⊢ N = C Nat D
fuciso.f ⊢ φ → F ∈ C Func D
fuciso.g ⊢ φ → G ∈ C Func D
fuciso.i ⊢ I = Iso ⁡ Q
fuciso.j ⊢ J = Iso ⁡ D
Assertion fuciso ⊢ φ → A ∈ F I G ↔ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x

Proof

Step Hyp Ref Expression
1 fuciso.q ⊢ Q = C FuncCat D
2 fuciso.b ⊢ B = Base C
3 fuciso.n ⊢ N = C Nat D
4 fuciso.f ⊢ φ → F ∈ C Func D
5 fuciso.g ⊢ φ → G ∈ C Func D
6 fuciso.i ⊢ I = Iso ⁡ Q
7 fuciso.j ⊢ J = Iso ⁡ D
8 1 fucbas ⊢ C Func D = Base Q
9 1 3 fuchom ⊢ N = Hom ⁡ Q
10 funcrcl ⊢ F ∈ C Func D → C ∈ Cat ∧ D ∈ Cat
11 4 10 syl ⊢ φ → C ∈ Cat ∧ D ∈ Cat
12 11 simpld ⊢ φ → C ∈ Cat
13 11 simprd ⊢ φ → D ∈ Cat
14 1 12 13 fuccat ⊢ φ → Q ∈ Cat
15 8 9 6 14 4 5 isohom ⊢ φ → F I G ⊆ F N G
16 15 sselda ⊢ φ ∧ A ∈ F I G → A ∈ F N G
17 eqid ⊢ Base D = Base D
18 eqid ⊢ Inv ⁡ D = Inv ⁡ D
19 13 ad2antrr ⊢ φ ∧ A ∈ F I G ∧ x ∈ B → D ∈ Cat
20 relfunc ⊢ Rel ⁡ C Func D
21 1st2ndbr ⊢ Rel ⁡ C Func D ∧ F ∈ C Func D → 1 st ⁡ F C Func D 2 nd ⁡ F
22 20 4 21 sylancr ⊢ φ → 1 st ⁡ F C Func D 2 nd ⁡ F
23 2 17 22 funcf1 ⊢ φ → 1 st ⁡ F : B ⟶ Base D
24 23 adantr ⊢ φ ∧ A ∈ F I G → 1 st ⁡ F : B ⟶ Base D
25 24 ffvelcdmda ⊢ φ ∧ A ∈ F I G ∧ x ∈ B → 1 st ⁡ F ⁡ x ∈ Base D
26 1st2ndbr ⊢ Rel ⁡ C Func D ∧ G ∈ C Func D → 1 st ⁡ G C Func D 2 nd ⁡ G
27 20 5 26 sylancr ⊢ φ → 1 st ⁡ G C Func D 2 nd ⁡ G
28 2 17 27 funcf1 ⊢ φ → 1 st ⁡ G : B ⟶ Base D
29 28 adantr ⊢ φ ∧ A ∈ F I G → 1 st ⁡ G : B ⟶ Base D
30 29 ffvelcdmda ⊢ φ ∧ A ∈ F I G ∧ x ∈ B → 1 st ⁡ G ⁡ x ∈ Base D
31 eqid ⊢ Inv ⁡ Q = Inv ⁡ Q
32 8 31 14 4 5 6 isoval ⊢ φ → F I G = dom ⁡ F Inv ⁡ Q G
33 32 eleq2d ⊢ φ → A ∈ F I G ↔ A ∈ dom ⁡ F Inv ⁡ Q G
34 8 31 14 4 5 invfun ⊢ φ → Fun ⁡ F Inv ⁡ Q G
35 funfvbrb ⊢ Fun ⁡ F Inv ⁡ Q G → A ∈ dom ⁡ F Inv ⁡ Q G ↔ A F Inv ⁡ Q G F Inv ⁡ Q G ⁡ A
36 34 35 syl ⊢ φ → A ∈ dom ⁡ F Inv ⁡ Q G ↔ A F Inv ⁡ Q G F Inv ⁡ Q G ⁡ A
37 33 36 bitrd ⊢ φ → A ∈ F I G ↔ A F Inv ⁡ Q G F Inv ⁡ Q G ⁡ A
38 37 biimpa ⊢ φ ∧ A ∈ F I G → A F Inv ⁡ Q G F Inv ⁡ Q G ⁡ A
39 1 2 3 4 5 31 18 fucinv ⊢ φ → A F Inv ⁡ Q G F Inv ⁡ Q G ⁡ A ↔ A ∈ F N G ∧ F Inv ⁡ Q G ⁡ A ∈ G N F ∧ ∀ x ∈ B A ⁡ x 1 st ⁡ F ⁡ x Inv ⁡ D 1 st ⁡ G ⁡ x F Inv ⁡ Q G ⁡ A ⁡ x
40 39 adantr ⊢ φ ∧ A ∈ F I G → A F Inv ⁡ Q G F Inv ⁡ Q G ⁡ A ↔ A ∈ F N G ∧ F Inv ⁡ Q G ⁡ A ∈ G N F ∧ ∀ x ∈ B A ⁡ x 1 st ⁡ F ⁡ x Inv ⁡ D 1 st ⁡ G ⁡ x F Inv ⁡ Q G ⁡ A ⁡ x
41 38 40 mpbid ⊢ φ ∧ A ∈ F I G → A ∈ F N G ∧ F Inv ⁡ Q G ⁡ A ∈ G N F ∧ ∀ x ∈ B A ⁡ x 1 st ⁡ F ⁡ x Inv ⁡ D 1 st ⁡ G ⁡ x F Inv ⁡ Q G ⁡ A ⁡ x
42 41 simp3d ⊢ φ ∧ A ∈ F I G → ∀ x ∈ B A ⁡ x 1 st ⁡ F ⁡ x Inv ⁡ D 1 st ⁡ G ⁡ x F Inv ⁡ Q G ⁡ A ⁡ x
43 42 r19.21bi ⊢ φ ∧ A ∈ F I G ∧ x ∈ B → A ⁡ x 1 st ⁡ F ⁡ x Inv ⁡ D 1 st ⁡ G ⁡ x F Inv ⁡ Q G ⁡ A ⁡ x
44 17 18 19 25 30 7 43 inviso1 ⊢ φ ∧ A ∈ F I G ∧ x ∈ B → A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x
45 44 ralrimiva ⊢ φ ∧ A ∈ F I G → ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x
46 16 45 jca ⊢ φ ∧ A ∈ F I G → A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x
47 14 adantr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → Q ∈ Cat
48 4 adantr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → F ∈ C Func D
49 5 adantr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → G ∈ C Func D
50 simprl ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → A ∈ F N G
51 13 ad2antrr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ∧ y ∈ B → D ∈ Cat
52 23 adantr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → 1 st ⁡ F : B ⟶ Base D
53 52 ffvelcdmda ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ∧ y ∈ B → 1 st ⁡ F ⁡ y ∈ Base D
54 28 adantr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → 1 st ⁡ G : B ⟶ Base D
55 54 ffvelcdmda ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ∧ y ∈ B → 1 st ⁡ G ⁡ y ∈ Base D
56 simprr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x
57 fveq2 ⊢ x = y → A ⁡ x = A ⁡ y
58 fveq2 ⊢ x = y → 1 st ⁡ F ⁡ x = 1 st ⁡ F ⁡ y
59 fveq2 ⊢ x = y → 1 st ⁡ G ⁡ x = 1 st ⁡ G ⁡ y
60 58 59 oveq12d ⊢ x = y → 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x = 1 st ⁡ F ⁡ y J 1 st ⁡ G ⁡ y
61 57 60 eleq12d ⊢ x = y → A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ↔ A ⁡ y ∈ 1 st ⁡ F ⁡ y J 1 st ⁡ G ⁡ y
62 61 rspccva ⊢ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ∧ y ∈ B → A ⁡ y ∈ 1 st ⁡ F ⁡ y J 1 st ⁡ G ⁡ y
63 56 62 sylan ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ∧ y ∈ B → A ⁡ y ∈ 1 st ⁡ F ⁡ y J 1 st ⁡ G ⁡ y
64 17 7 18 51 53 55 63 invisoinvr ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x ∧ y ∈ B → A ⁡ y 1 st ⁡ F ⁡ y Inv ⁡ D 1 st ⁡ G ⁡ y 1 st ⁡ F ⁡ y Inv ⁡ D 1 st ⁡ G ⁡ y ⁡ A ⁡ y
65 1 2 3 48 49 31 18 50 64 invfuc ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → A F Inv ⁡ Q G y ∈ B ⟼ 1 st ⁡ F ⁡ y Inv ⁡ D 1 st ⁡ G ⁡ y ⁡ A ⁡ y
66 8 31 47 48 49 6 65 inviso1 ⊢ φ ∧ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x → A ∈ F I G
67 46 66 impbida ⊢ φ → A ∈ F I G ↔ A ∈ F N G ∧ ∀ x ∈ B A ⁡ x ∈ 1 st ⁡ F ⁡ x J 1 st ⁡ G ⁡ x