Metamath Proof Explorer


Theorem evlfval

Description: Value of the evaluation functor. (Contributed by Mario Carneiro, 12-Jan-2017)

Ref Expression
Hypotheses evlfval.e ⊢ E = C eval F D
evlfval.c ⊢ φ → C ∈ Cat
evlfval.d ⊢ φ → D ∈ Cat
evlfval.b ⊢ B = Base C
evlfval.h ⊢ H = Hom ⁡ C
evlfval.o ⊢ · ˙ = comp ⁡ D
evlfval.n ⊢ N = C Nat D
Assertion evlfval ⊢ φ → E = f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g

Proof

Step Hyp Ref Expression
1 evlfval.e ⊢ E = C eval F D
2 evlfval.c ⊢ φ → C ∈ Cat
3 evlfval.d ⊢ φ → D ∈ Cat
4 evlfval.b ⊢ B = Base C
5 evlfval.h ⊢ H = Hom ⁡ C
6 evlfval.o ⊢ · ˙ = comp ⁡ D
7 evlfval.n ⊢ N = C Nat D
8 df-evlf ⊢ eval F = c ∈ Cat , d ∈ Cat ⟼ f ∈ c Func d , x ∈ Base c ⟼ 1 st ⁡ f ⁡ x x ∈ c Func d × Base c , y ∈ c Func d × Base c ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
9 8 a1i ⊢ φ → eval F = c ∈ Cat , d ∈ Cat ⟼ f ∈ c Func d , x ∈ Base c ⟼ 1 st ⁡ f ⁡ x x ∈ c Func d × Base c , y ∈ c Func d × Base c ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
10 simprl ⊢ φ ∧ c = C ∧ d = D → c = C
11 simprr ⊢ φ ∧ c = C ∧ d = D → d = D
12 10 11 oveq12d ⊢ φ ∧ c = C ∧ d = D → c Func d = C Func D
13 10 fveq2d ⊢ φ ∧ c = C ∧ d = D → Base c = Base C
14 13 4 eqtr4di ⊢ φ ∧ c = C ∧ d = D → Base c = B
15 eqidd ⊢ φ ∧ c = C ∧ d = D → 1 st ⁡ f ⁡ x = 1 st ⁡ f ⁡ x
16 12 14 15 mpoeq123dv ⊢ φ ∧ c = C ∧ d = D → f ∈ c Func d , x ∈ Base c ⟼ 1 st ⁡ f ⁡ x = f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x
17 12 14 xpeq12d ⊢ φ ∧ c = C ∧ d = D → c Func d × Base c = C Func D × B
18 10 11 oveq12d ⊢ φ ∧ c = C ∧ d = D → c Nat d = C Nat D
19 18 7 eqtr4di ⊢ φ ∧ c = C ∧ d = D → c Nat d = N
20 19 oveqd ⊢ φ ∧ c = C ∧ d = D → m c Nat d n = m N n
21 10 fveq2d ⊢ φ ∧ c = C ∧ d = D → Hom ⁡ c = Hom ⁡ C
22 21 5 eqtr4di ⊢ φ ∧ c = C ∧ d = D → Hom ⁡ c = H
23 22 oveqd ⊢ φ ∧ c = C ∧ d = D → 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y = 2 nd ⁡ x H 2 nd ⁡ y
24 11 fveq2d ⊢ φ ∧ c = C ∧ d = D → comp ⁡ d = comp ⁡ D
25 24 6 eqtr4di ⊢ φ ∧ c = C ∧ d = D → comp ⁡ d = · ˙
26 25 oveqd ⊢ φ ∧ c = C ∧ d = D → 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y = 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y
27 26 oveqd ⊢ φ ∧ c = C ∧ d = D → a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g = a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
28 20 23 27 mpoeq123dv ⊢ φ ∧ c = C ∧ d = D → a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g = a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
29 28 csbeq2dv ⊢ φ ∧ c = C ∧ d = D → ⦋ 1 st ⁡ y / n⦌ a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g = ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
30 29 csbeq2dv ⊢ φ ∧ c = C ∧ d = D → ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g = ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
31 17 17 30 mpoeq123dv ⊢ φ ∧ c = C ∧ d = D → x ∈ c Func d × Base c , y ∈ c Func d × Base c ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g = x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
32 16 31 opeq12d ⊢ φ ∧ c = C ∧ d = D → f ∈ c Func d , x ∈ Base c ⟼ 1 st ⁡ f ⁡ x x ∈ c Func d × Base c , y ∈ c Func d × Base c ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m c Nat d n , g ∈ 2 nd ⁡ x Hom ⁡ c 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y comp ⁡ d 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g = f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
33 opex ⊢ f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g ∈ V
34 33 a1i ⊢ φ → f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g ∈ V
35 9 32 2 3 34 ovmpod ⊢ φ → C eval F D = f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g
36 1 35 eqtrid ⊢ φ → E = f ∈ C Func D , x ∈ B ⟼ 1 st ⁡ f ⁡ x x ∈ C Func D × B , y ∈ C Func D × B ⟼ ⦋ 1 st ⁡ x / m⦌ ⦋ 1 st ⁡ y / n⦌ a ∈ m N n , g ∈ 2 nd ⁡ x H 2 nd ⁡ y ⟼ a ⁡ 2 nd ⁡ y 1 st ⁡ m ⁡ 2 nd ⁡ x 1 st ⁡ m ⁡ 2 nd ⁡ y · ˙ 1 st ⁡ n ⁡ 2 nd ⁡ y 2 nd ⁡ x 2 nd ⁡ m 2 nd ⁡ y ⁡ g