Data.CHRand rule = {to_match : sequent list;to_remove : sequent list;patsno : int;guard : term option;new_goal : sequent option;nargs : int;pattern : Elpi_util.Util.constant list;rule_name : string;rule_loc : Elpi_util.Util.Loc.t;}val pp_sequent : Fmt.formatter -> sequent -> unitval show_sequent : sequent -> stringval pp_rule : Fmt.formatter -> rule -> unitval show_rule : rule -> stringval empty : tval new_clique :
(Elpi_util.Util.constant -> Elpi_parser.Ast.Func.t) ->
Elpi_util.Util.constant list ->
Elpi_util.Util.constant list ->
t ->
t * cliqueval clique_of :
Elpi_util.Util.constant ->
t ->
(Elpi_util.Util.Constants.Set.t * Elpi_util.Util.Constants.Set.t) optionval in_clique : clique -> Elpi_util.Util.constant -> boolval rules_for : Elpi_util.Util.constant -> t -> rule listval pp : Fmt.formatter -> t -> unitval pp_clique : Fmt.formatter -> clique -> unitval show : t -> string