I’m using the latest stable version of swipl and the latest version of the s(CASP) library.
In the Ciao implementation of s(CASP), a query returns bindings, an explanation tree, and a model, which is a minimum set of predicates that do (or must, for abductive reasoning) hold for the model to be stable. I think (?) the model is just the same set of terms used in the justification tree, without the tree structure.
I’m just wondering if there is a convenient way to get that set model structure from the SWI-Prolog implementaiton of s(CASP), too, or if I need to collect unique terms from the justification.
My use case is that I am doing abductive queries that return multiple models, each of which represents a possible stable model for the query. I need to be able to get the union of all of the models, find terms that are present in all models, find terms that are present only alongside other terms, things like that.
Thanks in advance!