Сопоставление с образцом в прологе - PullRequest
1 голос
/ 06 ноября 2010

Допустим, у меня есть это правило:

andR( conj(C,D) ).

Поэтому я хочу, чтобы оно совпадало с такими элементами, как conj(x,y), что хорошо.Однако как сделать так, чтобы оно совпадало с чем-то более сложным (например, снова соединением, но не с двумя атомами):

andR( conj(not(conj(not(a),c)),c),not(a) ).

, потому что Пролог не соответствует этому с моим предикатом andR/1, потому чтоон интерпретирует запятую и думает, что я пытался вызвать предикат / 1 с двумя параметрами.

Есть идеи, ребята?Это озадачило меня на некоторое время!

1 Ответ

0 голосов
/ 06 ноября 2010

Вам не нужны дополнительные conj, окружающие верхний уровень conj и not?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...