Tools to manipulate CHC
Here are some of the utilities that would be nice to have:
chc2rules
-- convert CHC smt-lib to Z3 rules extensionsrules2chc
-- convert Z3-rules to CHC smt-libchc2ts
-- convert CHC/Rules to Transition System (only possible for linear CHC)chc2btor
-- convert to btor formatbtor2chc
-- convert btor to chcchc_is_model
-- check wether a given M is a model for CHC Cchc_is_refute
-- check whether a given refutation R is a refutation for a given CHC Cts_is_invar
-- check whether given model is an inductive invariant of a Tsts_is_trace
-- check whether a given trace is a counterexample of a Tschcstats
-- statisticchcpp
-- pretty printing