. "Constraint Handling Rules (CHR) is a declarative, rule-based language, introduced in 1991 by Thom Fr\u00FChwirth. Originally intended for constraint programming, CHR finds applications in abductive reasoning, multi-agent systems, natural language processing, compilation, scheduling, spatial-temporal reasoning, testing and verification, and type systems.A CHR program, sometimes called a constraint handler, is a set of rules that maintain a constraint store, a multi-set of logical formulas."@en .