Using the latest stable swipl, and the most recent sCASP module from GitHub.
Queries that were going through MQI and using abducibility have stopped working. I noticed the problem yesterday, which makes me think that it is caused by the July 11 update to sCASP.
I have a file that if I load it in the toplevel and run the query, I get this as the answer:
?- blawxrun(person(X),Human,Model).
Human = query-[goal_origin(abduced(person(X)), <clause>(0x55becb3d9710))-[]],
Model = [not o_person(X), person(X)],
put_attr(X, scasp_output, name('A')) ;
false.
When I run the same query through MQI in Python, it stalls, which was the problem I was having some time ago about how MQI was dealing with attributed variables.
blawxrun
just calls scasp/2
and ovar_analyze_term/2
.
I note that the <clause>
information is included in the explanation, which is new. I suspect means that something has changed in the defaults of one of those two predicates to use the source(true)
feature in the new version of sCASP. And perhaps something has also changed in how scasp it returns the attributed variables data that has caused a regression of the problem we had with MQI previously?
I will try to come up with a small example .pl and .py that recreate the problem, and update here when I can manage it. Put I suspect anything using abducibility will trigger it.
Suggestions on whether this is the likely cause, and on a good workaround would be appreciated. I’m looking at just pulling an older version of the sCASP library until MQI can catch up.
Update: Reverting to 4a75bdaddbe17ad46b68f9a715d138fbddb83b78 hash for sCASP solves my problem, for now.