  We introduce the framework FreeCHR, which formalizes the embedding of
Constraint Handling Rules (CHR) into a host-language, using the concept of
initial algebra semantics from category theory, to establish a high-level
implementation scheme for CHR, as well as a common formalization for both
theory and practice. We propose a lifting of the syntax of CHR via an
endofunctor in the category Set and a lifting of the operational semantics,
using the free algebra, generated by the endofunctor. We then lift the very
abstract operational semantics of CHR into FreeCHR, and give proofs for
soundness and completeness w.r.t. their original definition.
