proposition: Lemma hrel_of_functor : functor (BDL+STR+CNV+DIV) hrel_of.
proof: Proof. apply (@Build_functor (BDL+STR+CNV+DIV) fhrel_monoid_ops hrel_monoid_ops id hrel_of). all: try done. all: try hrel_prop. - apply: hrel_of_morphism. - move => _ A e x y. rewrite /hrel_of/= /fhrel_itr /hrel_itr /=. to_prop. setoid_rewrite connect_iter. by firstorder. - move => _ A e x y. exact: connect_iter. Qed.
imports: Setoid Morphisms kat normalisation rewriting kat_tac comparisons rel relalg boolean mathcomp(all_ssreflect)