English
Given a sheaf S, construct an isomorphism S ≅ yoneda'.obj (S.obj (op PUnit)).
Русский
Для шарфа S построить изоморфизм S ≅ yoneda'.obj (S.obj (op PUnit)).
LaTeX
$$$ S \\cong yoneda'.obj (S.obj (op PUnit)) $$$
Lean4
/-- Given a sheaf `S`, construct an isomorphism `S ≅ [-, S(*)]`. -/
@[simps!]
noncomputable def equivYoneda (S : Type uᵒᵖ ⥤ Type u) (hs : Presheaf.IsSheaf typesGrothendieckTopology S) :
S ≅ yoneda.obj (S.obj (op PUnit)) :=
NatIso.ofComponents (fun α => Equiv.toIso <| evalEquiv S hs <| unop α) fun {α β} f =>
funext fun _ => funext fun _ => eval_map S (unop α) (unop β) f.unop _ _