variables {C : Type u₁} [𝒞 : category.{v₁} C]
include 𝒞
def yoneda : C ⥤ ((Cᵒᵖ) ⥤ (Type v₁)) := 
{ obj := λ X,
  { obj := λ Y : C, Y ⟶ X,
    map := λ Y Y' f g, f ≫ g,
    map_comp' :=
    begin
      intros X_1 Y Z f g,
      ext1, dsimp at *,
      erw [category.assoc]
    end,
    map_id' :=
    begin
      intros X_1,
      ext1, dsimp at *,
      erw [category.id_comp]
    end },
map := λ X X' f, { app := λ Y g, g ≫ f } }