+ | chrQuery IMPLIES chrQuery # CHRStatement
+ | WHEN verboseChrQuery THEN_AFTER_WHEN verboseChrQuery # VerboseCHRStatement
+ | CONSTRAINT constructor # ConstraintStatement
+ | INCLUDE ID aexp # LocalInclude
+ ;
+
+verboseChrQuery
+ = LBRACE chrQuery (SEMICOLON chrQuery)* RBRACE # VerboseCHRConjunction
+ ;
+
+
+chrQuery
+ = chrQueryPart (COMMA chrQueryPart)* # CHRConjunction
+ ;
+
+chrQueryPart
+ = exp # CHRAtom
+ | exp EQUALS exp # CHREquals
+ | exp BINDS exp # CHRBinds