Closed flexoron closed 7 months ago
Simplifying
?- append([Z],[Z|Z],[[Z,1|Z],Z,Z,Y|Z]). Z = [Z,1|Z].
Then changing the definition of
append([], R, R). append([X|L], R, [X|S]) :- append(L, R, S).
to
append([], R, R). append([X1|L], R, [X2|S]) :- append(L, R, S), X1 = X2.
gives
?- append([Z],[Z|Z],[[Z,1|Z],Z,Z,Y|Z]). Z = [Z,1|Z], Y = 1.
So something in unification involving, you guessed it, cyclic terms it seems.
v2.39.2