問題の解決策を表示するプログラムを作成しようとしていますが、作成した解決策を表示する方法が必要です。ただし、問題を解決するために使用できる2つの操作があり、それらが呼び出される順序が重要です。
test(a) :- write('use a ').
test(b) :- write('use b '), fail.
test(c) :- test(a), test(b), test(a).
test(c) :- test(a), test(a).
これは一例であり、文字通りに受け取らないでください。test(a) と test(b) を操作と考え、test(c) をどの順序が有効かをチェックする関数と考えてください。
test(c).
失敗したものも印刷されるようになりました。その結果、「use a use b use a use a」という出力が得られます。