Я пытаюсь создать базу знаний. Моя проблема имеет gate/1
и terminal/1
и я определил следующее правило:Не могу понять ошибку предшествования оператора журнала Prolog
То, что я пытаюсь сказать, что: «Если существует затворе G и терминал T, то, что следует, что G не равен Т не равен 1 не равен 0.
я получаю следующее сообщение об ошибке:. ERROR: c:/noob.pl:140:0: Syntax error: Operator priority clash
Я даже не знаю, если я использую правильные операторы
Спасибо, что работает. Ради простоты я оставил несколько символов, которые не были равны друг другу. При включении всех из них он становится очень длинным: O – karancan
@karancan: с более чем двумя значениями, которые должны быть разными, может быть полезно использовать 'setof':' List = [G, T, 0, 1], setof (List, Set), length (List, N), length (Set, N) .' –
Я должен изучить это. Я задаю еще один вопрос: надеюсь, вы не возражаете. У меня есть факт: 'connected (A, B): - connected (B, A)'. Затем, когда я задаю вопрос «связанный (X, Y)», я получаю бесконечное количество результатов (бесконечная рекурсия). Я просто хочу правило, которое является коммутативным. Не могли бы вы посоветовать мне это? – karancan