Library ConCaT.CATEGORY_THEORY.FUNCTOR.Dual_Functor
Require Export Dual.
Require Export Functor.
Set Implicit Arguments.
Unset Strict Implicit.
Section dfunctor_def.
Variables (A B : Category) (F : Functor A B).
Definition DFunctor_ob : Dual A -> Dual B := fun a : A => F a.
Definition DFunctor_map (b a : A) := FMap F a b.
Lemma DFunctor_comp_law : Fcomp_law (FOb:=DFunctor_ob) DFunctor_map.
Proof.
unfold Fcomp_law in |- *; simpl in |- *.
intros a b c f g.
exact (Prf_Fcomp_law F g f).
Qed.
Lemma DFunctor_id_law : Fid_law (FOb:=DFunctor_ob) DFunctor_map.
Proof.
unfold Fid_law in |- *; simpl in |- *.
intro a; exact (Prf_Fid_law F a).
Qed.
Canonical Structure Dfunctor :=
Build_Functor DFunctor_comp_law DFunctor_id_law.
End dfunctor_def.
