From 222be9cf6cd2b10bed4ed43076d2984f220bfc7a Mon Sep 17 00:00:00 2001 From: Mark Thom Date: Thu, 4 Feb 2021 20:51:55 -0700 Subject: [PATCH] modify rightmost_power/2 to ignore module qualification on (^)/2 (#794) --- src/lib/builtins.pl | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/lib/builtins.pl b/src/lib/builtins.pl index fa3844cb..889977d2 100644 --- a/src/lib/builtins.pl +++ b/src/lib/builtins.pl @@ -665,8 +665,11 @@ iterate_variants([V-Solution|GroupSolutions], V, Solution) :- iterate_variants([_|GroupSolutions], Ws, Solution) :- iterate_variants(GroupSolutions, Ws, Solution). + rightmost_power(Term, FinalTerm, Xs) :- - ( Term = X ^ Y + ( ( Term = X ^ Y + ; Term = _ : X ^ Y + ) -> ( var(Y) -> FinalTerm = Y, Xs = [X] ; Xs = [X | Xss], rightmost_power(Y, FinalTerm, Xss) ) @@ -674,11 +677,11 @@ rightmost_power(Term, FinalTerm, Xs) :- ). -% :- meta_predicate findall_with_existential(?, 0, ?, ?, ?). - findall_with_existential(Template, Goal, PairedSolutions, Witnesses0, Witnesses) :- ( nonvar(Goal), - Goal = _ ^ _ -> + ( Goal = _ ^ _ + ; Goal = _ : (_ ^ _) + ) -> rightmost_power(Goal, Goal1, ExistentialVars0), term_variables(ExistentialVars0, ExistentialVars), sort(Witnesses0, Witnesses1), -- 2.54.0