From 142ddcd57ab41cb7ebdbd2924dd84f79314cfe71 Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Wed, 26 Jan 2022 17:34:36 -0700 Subject: [PATCH] use expand_goal directly for existential-qualified goals in all-solutions predicates (#1246) --- src/lib/builtins.pl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index a060a69c..6a70423e 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -698,15 +698,15 @@ rightmost_power(Term, FinalTerm, Xs) :- findall_with_existential(Template, Goal, PairedSolutions, Witnesses0, Witnesses) :- ( nonvar(Goal), - ( Goal = _ ^ _ - ; Goal = _ : (_ ^ _) - ) -> - rightmost_power(Goal, Goal1, ExistentialVars0), + loader:strip_module(Goal, M, Goal1), + ( Goal1 = _ ^ _ ) -> + rightmost_power(Goal1, Goal2, ExistentialVars0), term_variables(ExistentialVars0, ExistentialVars), sort(Witnesses0, Witnesses1), sort(ExistentialVars, ExistentialVars1), set_difference(Witnesses1, ExistentialVars1, Witnesses), - findall(Witnesses-Template, Goal1, PairedSolutions) + expand_goal(M:Goal2, M, Goal3), + findall(Witnesses-Template, Goal3, PairedSolutions) ; Witnesses = Witnesses0, findall(Witnesses-Template, Goal, PairedSolutions) ). -- 2.54.0