findall/3の中でのへ
SWI-Prolog に於いて、以下の質問の実行について、質問します。
?- length(L,2),findall(A,member(A,L),L2),L=[a,b].
L = [a, b],
L2 = [_G89263, _G89260].
ここで、最初に生成される length/2 の二つの変数は匿名変数ではないはずなのに、
findall/3 の中のmember/2の中のAとfindall/3の第一引数のAはリンクされずに
別の変数が生成されてしまうのは何故でしょう。SWI-Prolog以外の処理系でも同じ
結果を得ました。何らかの仕様の原典があるのでしょうか。