It's hard to answer this without giving a test case.
Remember when talking about the occurs check in type inference, we were worried about constraints like:
List(X) = List(List(X)) (pg. 282)
i.e. A variable (X) being equated with a container (List) that contains the variable.
Given that Prolog has variables and containers (cons and logic variables), why would you think this is not possible?
Jay