proposition: Corollary Yoneda_Embedding' (C: Category) (c d : C) : @IsIsomorphism Sets {| carrier := hom d c |} {| carrier := hom (fobj[C] c) (fobj[C] d) |} {| morphism := @fmap _ _ (Curried_Hom C) c d; proper_morphism := fmap_respects _ _ |}.
proof: Proof. apply bijective_is_iso. - abstract(assert (H := Yoneda_Faithful C); constructor; intros x y eq; apply H; exact eq). - constructor. simpl. intro A; exists (@prefmap _ _ _ (Yoneda_Full C) _ _ A ). abstract(intros x f; unfold op; assert (M := @fmap_sur _ _ _ (Yoneda_Full C)); specialize M with _ _ A; simpl in M; unfold op in M; apply M). Defined.
imports: Category.Lib Category.Theory.Category Category.Theory.Functor Category.Theory.Natural.Transformation Category.Theory.Isomorphism Category.Construction.Product Category.Construction.Opposite Category.Instance.Fun Category.Instance.Sets