Comportamento inesperado de congelado / 2

Eu estava brincando com os predicados de pró-roteirizaçãofreeze/2 e frozen/2: ?- freeze(X,a=a), frozen(X,Goal). ?- freeze(X,a=a), freeze(Y,b=b), X=Y, frozen(X,Goal). O sicstus-prolog (versão 4.5.1 para x86_64) deu as seguintes respostas: | ? - congelar (X, a = a), congelado (X, meta). Objetivo...