MagicRewriting.MagicSourceLog is the log module for NewMagic
val make_magic :
DatalogLib.Datalog_AbstractSyntax.AbstractSyntax.Program.program ->
DatalogLib.Datalog_AbstractSyntax.AbstractSyntax.Program.program
* extra_pred_type DatalogLib.Datalog.ASPred.PredIdMap.t
* int DatalogLib.Datalog_AbstractSyntax.RuleIdMap.tmake magic unique_binding_prog returns a 4-uple (magic_prog, magic_preds, magic_to_unique_binding_rule_map, magic_to_original_pred_map) where:
magic_prog is the resulting magic program. IMPORTANT: predicates ids/name relations for existing predicate in unique_binding_prog is unchangedmagic_preds a record containing the different magic and supplementary predicates that have been addedmagic_to_unique_binding_rule_map is a map from magic rules to the corresponding rules of the unique binding programmagic_to_original_pred_map is a map from ids of predicates of the magic program to the corresponding predicate ids of the original programval query_to_seed :
DatalogLib.Datalog.ASPred.predicate ->
DatalogLib.Datalog.ASProg.program ->
DatalogLib.Datalog.ASProg.programquery_to_seed query program Build the seed from the query and update the program consequently.
val query_to_seed_concrete :
DatalogLib.Datalog.ASPred.predicate ->
DatalogLib.Datalog.Datalog.Program.program ->
DatalogLib.Datalog.Datalog.Program.programquery_to_seed query program Build the seed from the query and update the program consequently.