SolPrologV2
SolPrologV2 copied to clipboard
Unification between variables and predicates containing ignores
Here's a case that won't work properly without the unification module being able to create fresh variables:
?- [family(_), family(_)] = [X, Y].
X = family(_19418),
Y = family(_19428).
?- [family(_), family(_), family(1), family(2)] = [X, Y, X, Y].
X = family(1),
Y = family(2).
The current implementation will come up with X = family(_), Y = family(_) in the first example and will return false in the second one.