私はpredicate/2
を、検証として「正しい」数字のリストと、検証する必要のある関数を取る必要があります。関数内の数字(number(X)
と表されます)は、「真」になるためには、検証リスト内の数字と同じでなければなりません。Prolog。述語を結合する
ライブラリでリストが「ハードコード」されているときに正しい答えを与える2つの別々のものを作ることに問題はありませんが、私は神のためにこれらを組み合わせないことができます。
私はこれまでのところ、これを持っている:
number(X) :- member(X, [1,2,3,4,5]).
私は例and(number(2),number(4))
のためを求めるとき、それはそう言っていない、とand(number(2),number(6))
は何を与えるように、これは正しい結果を与えます。
今、私はpredicate/2
を実行しなければなりません。これは最初の引数としてリストを取ります。 誰でも助けたり、何かヒントを与えたりできますか?
predicate(ValidationList, Function) :- ????
わからないかもしれないが... 'と( (2)、number(4)) 'と' and(number(2)、number(6)) '検証する関数の例ですか?あるいは、「検証する必要がある機能」とは何を意味していますか(いくつかの例を示すことができますか?)とにかく...あなたの「述語/ 1」を表示できますか? – max66
はい、これは検証される関数の例です。命題の公式についてです。 "and(number(1)、number(2))"が正しければ、検証リストには数字1と2が含まれていなければなりません。 "number(X): - member(X、[1,2 、3,4,5])」が働いています。 私の問題は、述語を定義することです。たとえば、述語([1,3,5,7]、または(number(1)、number(2)))を後で入力することができます。 1と2がリストの一部であるかどうかをチェックします。 – DaoDib