Library CT.Instance.Automata.Moore.Category
Program Definition MooreCategory : Category :=
{| ob := Moore;
mor := MooreMorphism;
comp := fun _ _ _ x y ⇒ MooreMorphism_composition x y;
id := fun _ ⇒ MooreMorphism_identity;
assoc := fun _ _ _ _ ⇒ MooreMorphism_assoc
|}.
Next Obligation.
Proof. symmetry. apply MooreMorphism_assoc. Qed.
Next Obligation.
Proof.
apply MooreMorphism_eq.
simpl. reflexivity.
simpl. reflexivity.
simpl. reflexivity.
Qed.
Next Obligation.
apply MooreMorphism_eq.
simpl. reflexivity.
simpl. reflexivity.
simpl. reflexivity.
Qed.
{| ob := Moore;
mor := MooreMorphism;
comp := fun _ _ _ x y ⇒ MooreMorphism_composition x y;
id := fun _ ⇒ MooreMorphism_identity;
assoc := fun _ _ _ _ ⇒ MooreMorphism_assoc
|}.
Next Obligation.
Proof. symmetry. apply MooreMorphism_assoc. Qed.
Next Obligation.
Proof.
apply MooreMorphism_eq.
simpl. reflexivity.
simpl. reflexivity.
simpl. reflexivity.
Qed.
Next Obligation.
apply MooreMorphism_eq.
simpl. reflexivity.
simpl. reflexivity.
simpl. reflexivity.
Qed.