Hi,
I got a 'singleton variable in branch’ warning,
which, I think, is not.
An simplified reproduction is this:
% swipl
Welcome to SWI-Prolog (threaded, 64 bits, version 7.3.32-50-g7e3ea373b)
SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software.
Please run ?- license. for legal details.
For online help and background, visit
http://www.swi-prolog.org
For built-in help, use ?- help(Topic). or ?- apropos(Word).
?- [user].
singleton_variable_in_branch(X, Y):-
|: (X=X0 -> true
|: ; ( Y=Y0-> ( true -> X0=Y0) )
|: ).
Warning: user://1:8:
Singleton variable in branch: X0
|: true.
?-
Kuniaki Mukai