Metamath Proof Explorer


Theorem cofuval2

Description: Value of the composition of two functors. (Contributed by Mario Carneiro, 3-Jan-2017)

Ref Expression
Hypotheses cofuval2.b ⊢ B = Base C
cofuval2.f ⊢ φ → F C Func D G
cofuval2.x ⊢ φ → H D Func E K
Assertion cofuval2 ⊢ φ → H K ∘ func F G = H ∘ F x ∈ B , y ∈ B ⟼ F ⁡ x K F ⁡ y ∘ x G y

Proof

Step Hyp Ref Expression
1 cofuval2.b ⊢ B = Base C
2 cofuval2.f ⊢ φ → F C Func D G
3 cofuval2.x ⊢ φ → H D Func E K
4 df-br ⊢ F C Func D G ↔ F G ∈ C Func D
5 2 4 sylib ⊢ φ → F G ∈ C Func D
6 df-br ⊢ H D Func E K ↔ H K ∈ D Func E
7 3 6 sylib ⊢ φ → H K ∈ D Func E
8 1 5 7 cofuval ⊢ φ → H K ∘ func F G = 1 st ⁡ H K ∘ 1 st ⁡ F G x ∈ B , y ∈ B ⟼ 1 st ⁡ F G ⁡ x 2 nd ⁡ H K 1 st ⁡ F G ⁡ y ∘ x 2 nd ⁡ F G y
9 relfunc ⊢ Rel ⁡ D Func E
10 brrelex12 ⊢ Rel ⁡ D Func E ∧ H D Func E K → H ∈ V ∧ K ∈ V
11 9 3 10 sylancr ⊢ φ → H ∈ V ∧ K ∈ V
12 op1stg ⊢ H ∈ V ∧ K ∈ V → 1 st ⁡ H K = H
13 11 12 syl ⊢ φ → 1 st ⁡ H K = H
14 relfunc ⊢ Rel ⁡ C Func D
15 brrelex12 ⊢ Rel ⁡ C Func D ∧ F C Func D G → F ∈ V ∧ G ∈ V
16 14 2 15 sylancr ⊢ φ → F ∈ V ∧ G ∈ V
17 op1stg ⊢ F ∈ V ∧ G ∈ V → 1 st ⁡ F G = F
18 16 17 syl ⊢ φ → 1 st ⁡ F G = F
19 13 18 coeq12d ⊢ φ → 1 st ⁡ H K ∘ 1 st ⁡ F G = H ∘ F
20 op2ndg ⊢ H ∈ V ∧ K ∈ V → 2 nd ⁡ H K = K
21 11 20 syl ⊢ φ → 2 nd ⁡ H K = K
22 21 3ad2ant1 ⊢ φ ∧ x ∈ B ∧ y ∈ B → 2 nd ⁡ H K = K
23 18 3ad2ant1 ⊢ φ ∧ x ∈ B ∧ y ∈ B → 1 st ⁡ F G = F
24 23 fveq1d ⊢ φ ∧ x ∈ B ∧ y ∈ B → 1 st ⁡ F G ⁡ x = F ⁡ x
25 23 fveq1d ⊢ φ ∧ x ∈ B ∧ y ∈ B → 1 st ⁡ F G ⁡ y = F ⁡ y
26 22 24 25 oveq123d ⊢ φ ∧ x ∈ B ∧ y ∈ B → 1 st ⁡ F G ⁡ x 2 nd ⁡ H K 1 st ⁡ F G ⁡ y = F ⁡ x K F ⁡ y
27 op2ndg ⊢ F ∈ V ∧ G ∈ V → 2 nd ⁡ F G = G
28 16 27 syl ⊢ φ → 2 nd ⁡ F G = G
29 28 3ad2ant1 ⊢ φ ∧ x ∈ B ∧ y ∈ B → 2 nd ⁡ F G = G
30 29 oveqd ⊢ φ ∧ x ∈ B ∧ y ∈ B → x 2 nd ⁡ F G y = x G y
31 26 30 coeq12d ⊢ φ ∧ x ∈ B ∧ y ∈ B → 1 st ⁡ F G ⁡ x 2 nd ⁡ H K 1 st ⁡ F G ⁡ y ∘ x 2 nd ⁡ F G y = F ⁡ x K F ⁡ y ∘ x G y
32 31 mpoeq3dva ⊢ φ → x ∈ B , y ∈ B ⟼ 1 st ⁡ F G ⁡ x 2 nd ⁡ H K 1 st ⁡ F G ⁡ y ∘ x 2 nd ⁡ F G y = x ∈ B , y ∈ B ⟼ F ⁡ x K F ⁡ y ∘ x G y
33 19 32 opeq12d ⊢ φ → 1 st ⁡ H K ∘ 1 st ⁡ F G x ∈ B , y ∈ B ⟼ 1 st ⁡ F G ⁡ x 2 nd ⁡ H K 1 st ⁡ F G ⁡ y ∘ x 2 nd ⁡ F G y = H ∘ F x ∈ B , y ∈ B ⟼ F ⁡ x K F ⁡ y ∘ x G y
34 8 33 eqtrd ⊢ φ → H K ∘ func F G = H ∘ F x ∈ B , y ∈ B ⟼ F ⁡ x K F ⁡ y ∘ x G y