Допустим, у меня есть это правило:
andR( conj(C,D) ).
Поэтому я хочу, чтобы оно совпадало с такими элементами, как conj(x,y)
, что хорошо.Однако как сделать так, чтобы оно совпадало с чем-то более сложным (например, снова соединением, но не с двумя атомами):
andR( conj(not(conj(not(a),c)),c),not(a) ).
, потому что Пролог не соответствует этому с моим предикатом andR/1
, потому чтоон интерпретирует запятую и думает, что я пытался вызвать предикат / 1 с двумя параметрами.
Есть идеи, ребята?Это озадачило меня на некоторое время!