バックグラウンド
整数係数のリストを使用して、(X の) 多項式を表すことができます。たとえば、1 + 3x + 3x^2 + 2x^3 は [1,3,3,2] で表されます。
P をこれらのリストの 1 つとします。
これらの係数を使用してさまざまなことを行う公理を作成する必要があります。
例:関係 eval(P,A,R) の公理 ここで、R は P によって表される多項式を X = A で評価した結果です (P と A が完全にインスタンス化されることを期待してください)。たとえば、eval([3,1,2],3,R) は R=24 を生成します。(これは、3(3)^0 + 1(3)^1 + 2(3)^2 = 3 + 3 + 18 = 24 であるためです)。
このProlog チュートリアルでは、リストを再帰的に検索する方法について説明します。「何かがリストの最初の項目であるかどうかを確認します。そうであれば成功します。そうでない場合は、リストの最初の項目を破棄して残りを調べます」 .
on(Item,[Item|Rest]).
on(Item,[DisregardHead|Tail]):-
on(Item,Tail).
質問
このコードはどのようにしてリストの最初の項目を破棄しますか?
問題は、それを見つけたら、それをどのように使用して上記のように計算するかということになります。