Prolog で簡単なプログラムの安全性チェッカーを書いていますが、変数の評価を保持するためのデータ構造が必要です。同じ状態を再び訪れていることを検出したいので、この構造は合理的な比較セマンティクスをサポートする必要があるため、訪問した状態をセットに格納できます。
library(avl)
便利な getter/setter インターフェイスを備えています。問題は、同じマッピングを保持する AVL が複数の形式を取る可能性があることです。したがって、AVL 表現が異なる場合、2 つの同一の状態は異なると見なされます。
順序付きリストでマッピングを保持する構造には、この問題はありません。ただし、Sicstus のドキュメントにはそのようなものは見つかりません。必要なことを行う標準構造はありますか、それとも自分で実装する必要がありますか?