Metamath Proof Explorer


Theorem isfuncd

Description: Deduce that an operation is a functor of categories. (Contributed by Mario Carneiro, 4-Jan-2017)

Ref Expression
Hypotheses isfunc.b ⊢ B = Base D
isfunc.c ⊢ C = Base E
isfunc.h ⊢ H = Hom ⁡ D
isfunc.j ⊢ J = Hom ⁡ E
isfunc.1 ⊢ 1 ˙ = Id ⁡ D
isfunc.i ⊢ I = Id ⁡ E
isfunc.x ⊢ · ˙ = comp ⁡ D
isfunc.o ⊢ O = comp ⁡ E
isfunc.d ⊢ φ → D ∈ Cat
isfunc.e ⊢ φ → E ∈ Cat
isfuncd.1 ⊢ φ → F : B ⟶ C
isfuncd.2 ⊢ φ → G Fn B × B
isfuncd.3 ⊢ φ ∧ x ∈ B ∧ y ∈ B → x G y : x H y ⟶ F ⁡ x J F ⁡ y
isfuncd.4 ⊢ φ ∧ x ∈ B → x G x ⁡ 1 ˙ ⁡ x = I ⁡ F ⁡ x
isfuncd.5 ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
Assertion isfuncd ⊢ φ → F D Func E G

Proof

Step Hyp Ref Expression
1 isfunc.b ⊢ B = Base D
2 isfunc.c ⊢ C = Base E
3 isfunc.h ⊢ H = Hom ⁡ D
4 isfunc.j ⊢ J = Hom ⁡ E
5 isfunc.1 ⊢ 1 ˙ = Id ⁡ D
6 isfunc.i ⊢ I = Id ⁡ E
7 isfunc.x ⊢ · ˙ = comp ⁡ D
8 isfunc.o ⊢ O = comp ⁡ E
9 isfunc.d ⊢ φ → D ∈ Cat
10 isfunc.e ⊢ φ → E ∈ Cat
11 isfuncd.1 ⊢ φ → F : B ⟶ C
12 isfuncd.2 ⊢ φ → G Fn B × B
13 isfuncd.3 ⊢ φ ∧ x ∈ B ∧ y ∈ B → x G y : x H y ⟶ F ⁡ x J F ⁡ y
14 isfuncd.4 ⊢ φ ∧ x ∈ B → x G x ⁡ 1 ˙ ⁡ x = I ⁡ F ⁡ x
15 isfuncd.5 ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B ∧ m ∈ x H y ∧ n ∈ y H z → x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
16 1 fvexi ⊢ B ∈ V
17 16 16 xpex ⊢ B × B ∈ V
18 fnex ⊢ G Fn B × B ∧ B × B ∈ V → G ∈ V
19 12 17 18 sylancl ⊢ φ → G ∈ V
20 ovex ⊢ F ⁡ x J F ⁡ y ∈ V
21 ovex ⊢ x H y ∈ V
22 20 21 elmap ⊢ x G y ∈ F ⁡ x J F ⁡ y x H y ↔ x G y : x H y ⟶ F ⁡ x J F ⁡ y
23 13 22 sylibr ⊢ φ ∧ x ∈ B ∧ y ∈ B → x G y ∈ F ⁡ x J F ⁡ y x H y
24 23 ralrimivva ⊢ φ → ∀ x ∈ B ∀ y ∈ B x G y ∈ F ⁡ x J F ⁡ y x H y
25 fveq2 ⊢ z = x y → G ⁡ z = G ⁡ x y
26 df-ov ⊢ x G y = G ⁡ x y
27 25 26 eqtr4di ⊢ z = x y → G ⁡ z = x G y
28 vex ⊢ x ∈ V
29 vex ⊢ y ∈ V
30 28 29 op1std ⊢ z = x y → 1 st ⁡ z = x
31 30 fveq2d ⊢ z = x y → F ⁡ 1 st ⁡ z = F ⁡ x
32 28 29 op2ndd ⊢ z = x y → 2 nd ⁡ z = y
33 32 fveq2d ⊢ z = x y → F ⁡ 2 nd ⁡ z = F ⁡ y
34 31 33 oveq12d ⊢ z = x y → F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z = F ⁡ x J F ⁡ y
35 fveq2 ⊢ z = x y → H ⁡ z = H ⁡ x y
36 df-ov ⊢ x H y = H ⁡ x y
37 35 36 eqtr4di ⊢ z = x y → H ⁡ z = x H y
38 34 37 oveq12d ⊢ z = x y → F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z = F ⁡ x J F ⁡ y x H y
39 27 38 eleq12d ⊢ z = x y → G ⁡ z ∈ F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z ↔ x G y ∈ F ⁡ x J F ⁡ y x H y
40 39 ralxp ⊢ ∀ z ∈ B × B G ⁡ z ∈ F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z ↔ ∀ x ∈ B ∀ y ∈ B x G y ∈ F ⁡ x J F ⁡ y x H y
41 24 40 sylibr ⊢ φ → ∀ z ∈ B × B G ⁡ z ∈ F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z
42 elixp2 ⊢ G ∈ ⨉ z ∈ B × B F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z ↔ G ∈ V ∧ G Fn B × B ∧ ∀ z ∈ B × B G ⁡ z ∈ F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z
43 19 12 41 42 syl3anbrc ⊢ φ → G ∈ ⨉ z ∈ B × B F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z
44 15 3expia ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B → m ∈ x H y ∧ n ∈ y H z → x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
45 44 3exp2 ⊢ φ → x ∈ B → y ∈ B → z ∈ B → m ∈ x H y ∧ n ∈ y H z → x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
46 45 imp43 ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B → m ∈ x H y ∧ n ∈ y H z → x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
47 46 ralrimivv ⊢ φ ∧ x ∈ B ∧ y ∈ B ∧ z ∈ B → ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
48 47 ralrimivva ⊢ φ ∧ x ∈ B → ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
49 14 48 jca ⊢ φ ∧ x ∈ B → x G x ⁡ 1 ˙ ⁡ x = I ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
50 49 ralrimiva ⊢ φ → ∀ x ∈ B x G x ⁡ 1 ˙ ⁡ x = I ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
51 1 2 3 4 5 6 7 8 9 10 isfunc ⊢ φ → F D Func E G ↔ F : B ⟶ C ∧ G ∈ ⨉ z ∈ B × B F ⁡ 1 st ⁡ z J F ⁡ 2 nd ⁡ z H ⁡ z ∧ ∀ x ∈ B x G x ⁡ 1 ˙ ⁡ x = I ⁡ F ⁡ x ∧ ∀ y ∈ B ∀ z ∈ B ∀ m ∈ x H y ∀ n ∈ y H z x G z ⁡ n x y · ˙ z m = y G z ⁡ n F ⁡ x F ⁡ y O F ⁡ z x G y ⁡ m
52 11 43 50 51 mpbir3and ⊢ φ → F D Func E G