У меня есть следующие факты:параметров обмена
make(product_A, product_Z, product_Y).
make(P, X, Y) :- make(P, Y, X).
, которые я хотел, чтобы убедиться, что полуфабрикаты (т.е. product_Z и product_Y), из которой сделан PRODUCT_A будут справедливо независимо от их положений, как положить в запрос.
Так что я хотел, чтобы этот вопрос:
make(product_A, product_Y, product_Z).
и это одно:
make(product_A, product_Z, product_Y).
должны рассматриваться Пролога в качестве эквивалентов (то же самое) - даже если я не размещены оба случая как факты в базу данных Prolog. Другими словами, я хотел бы иметь параметры (product_Z и product_Y) для обмена в запросе.
Но когда я поставил код как в начале, Prolog, кажется, повторяет бесконечный цикл.
Итак, как я могу это достичь?
Спасибо. Поэтому список нужно сортировать из-за обеспечения порядка параметров, и тогда я должен создать все факты в алфавитном порядке? – forsberg