Пролог - как проверить, включает ли список определенные элементы?

Я впервые пробую Prolog, и у меня возникли небольшие трудности с использованием списков.

Скажем, я есть список элементов. Я хочу проверить, что в списке есть следующие элементы:

Все из: A1, A2, A3, A4, A5

Один из: B1, B2, B3, B4

Два из: C1, C2, C3, C4, C5, C6

Например, [A1, A2, B2, C1, A3, A4, C4, A5] соответствует требованиям, а [A2, A1, C1, B1, A3, A4] - нет.

Как я могу написать что-то, что возвращает Yes / True, если список соответствует требованиям, и No / False в противном случае ? Аналогичным образом, как насчет того, чтобы написать что-то, что возвращает недостающие значения из списка, необходимого для удовлетворения требований?

8
задан sanNg 3 March 2011 в 23:48
поделиться