Metamath Proof Explorer


Theorem yonedalem1

Description: Lemma for yoneda . (Contributed by Mario Carneiro, 28-Jan-2017)

Ref Expression
Hypotheses yoneda.y ⊢ Y = Yon ⁡ C
yoneda.b ⊢ B = Base C
yoneda.1 ⊢ 1 ˙ = Id ⁡ C
yoneda.o ⊢ O = oppCat ⁡ C
yoneda.s ⊢ S = SetCat ⁡ U
yoneda.t ⊢ T = SetCat ⁡ V
yoneda.q ⊢ Q = O FuncCat S
yoneda.h ⊢ H = Hom F ⁡ Q
yoneda.r ⊢ R = Q × c O FuncCat T
yoneda.e ⊢ E = O eval F S
yoneda.z ⊢ Z = H ∘ func 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ⟨,⟩ F Q 1 st F O
yoneda.c ⊢ φ → C ∈ Cat
yoneda.w ⊢ φ → V ∈ W
yoneda.u ⊢ φ → ran ⁡ Hom 𝑓 ⁡ C ⊆ U
yoneda.v ⊢ φ → ran ⁡ Hom 𝑓 ⁡ Q ∪ U ⊆ V
Assertion yonedalem1 ⊢ φ → Z ∈ Q × c O Func T ∧ E ∈ Q × c O Func T

Proof

Step Hyp Ref Expression
1 yoneda.y ⊢ Y = Yon ⁡ C
2 yoneda.b ⊢ B = Base C
3 yoneda.1 ⊢ 1 ˙ = Id ⁡ C
4 yoneda.o ⊢ O = oppCat ⁡ C
5 yoneda.s ⊢ S = SetCat ⁡ U
6 yoneda.t ⊢ T = SetCat ⁡ V
7 yoneda.q ⊢ Q = O FuncCat S
8 yoneda.h ⊢ H = Hom F ⁡ Q
9 yoneda.r ⊢ R = Q × c O FuncCat T
10 yoneda.e ⊢ E = O eval F S
11 yoneda.z ⊢ Z = H ∘ func 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ⟨,⟩ F Q 1 st F O
12 yoneda.c ⊢ φ → C ∈ Cat
13 yoneda.w ⊢ φ → V ∈ W
14 yoneda.u ⊢ φ → ran ⁡ Hom 𝑓 ⁡ C ⊆ U
15 yoneda.v ⊢ φ → ran ⁡ Hom 𝑓 ⁡ Q ∪ U ⊆ V
16 eqid ⊢ 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ⟨,⟩ F Q 1 st F O = 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ⟨,⟩ F Q 1 st F O
17 eqid ⊢ oppCat ⁡ Q × c Q = oppCat ⁡ Q × c Q
18 eqid ⊢ Q × c O = Q × c O
19 4 oppccat ⊢ C ∈ Cat → O ∈ Cat
20 12 19 syl ⊢ φ → O ∈ Cat
21 15 unssbd ⊢ φ → U ⊆ V
22 13 21 ssexd ⊢ φ → U ∈ V
23 5 setccat ⊢ U ∈ V → S ∈ Cat
24 22 23 syl ⊢ φ → S ∈ Cat
25 7 20 24 fuccat ⊢ φ → Q ∈ Cat
26 eqid ⊢ Q 2 nd F O = Q 2 nd F O
27 18 25 20 26 2ndfcl ⊢ φ → Q 2 nd F O ∈ Q × c O Func O
28 eqid ⊢ oppCat ⁡ Q = oppCat ⁡ Q
29 relfunc ⊢ Rel ⁡ C Func Q
30 1 12 4 5 7 22 14 yoncl ⊢ φ → Y ∈ C Func Q
31 1st2ndbr ⊢ Rel ⁡ C Func Q ∧ Y ∈ C Func Q → 1 st ⁡ Y C Func Q 2 nd ⁡ Y
32 29 30 31 sylancr ⊢ φ → 1 st ⁡ Y C Func Q 2 nd ⁡ Y
33 4 28 32 funcoppc ⊢ φ → 1 st ⁡ Y O Func oppCat ⁡ Q tpos 2 nd ⁡ Y
34 df-br ⊢ 1 st ⁡ Y O Func oppCat ⁡ Q tpos 2 nd ⁡ Y ↔ 1 st ⁡ Y tpos 2 nd ⁡ Y ∈ O Func oppCat ⁡ Q
35 33 34 sylib ⊢ φ → 1 st ⁡ Y tpos 2 nd ⁡ Y ∈ O Func oppCat ⁡ Q
36 27 35 cofucl ⊢ φ → 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ∈ Q × c O Func oppCat ⁡ Q
37 eqid ⊢ Q 1 st F O = Q 1 st F O
38 18 25 20 37 1stfcl ⊢ φ → Q 1 st F O ∈ Q × c O Func Q
39 16 17 36 38 prfcl ⊢ φ → 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ⟨,⟩ F Q 1 st F O ∈ Q × c O Func oppCat ⁡ Q × c Q
40 15 unssad ⊢ φ → ran ⁡ Hom 𝑓 ⁡ Q ⊆ V
41 8 28 6 25 13 40 hofcl ⊢ φ → H ∈ oppCat ⁡ Q × c Q Func T
42 39 41 cofucl ⊢ φ → H ∘ func 1 st ⁡ Y tpos 2 nd ⁡ Y ∘ func Q 2 nd F O ⟨,⟩ F Q 1 st F O ∈ Q × c O Func T
43 11 42 eqeltrid ⊢ φ → Z ∈ Q × c O Func T
44 6 5 13 21 funcsetcres2 ⊢ φ → Q × c O Func S ⊆ Q × c O Func T
45 10 7 20 24 evlfcl ⊢ φ → E ∈ Q × c O Func S
46 44 45 sseldd ⊢ φ → E ∈ Q × c O Func T
47 43 46 jca ⊢ φ → Z ∈ Q × c O Func T ∧ E ∈ Q × c O Func T