ground(Expr0), !,
phrase(expr_conds(Expr0, Expr), Gs),
( maplist(call, Gs) -> Value is Expr, Goal = (Var = Value)
- ; Goal = (Var is Expr0)
+ ; Goal = false
).
expansion_simpler(Var =:= Expr0, Goal) :-
ground(Expr0), !,
phrase(expr_conds(Expr0, Expr), Gs),
( maplist(call, Gs) -> Value is Expr, Goal = (Var =:= Value)
- ; Goal = (Var =:= Expr0)
+ ; Goal = false
).
expansion_simpler(between:between(L,U,V), Goal) :-
maplist(integer, [L,U,V]),