когда на самом деле порядок элементов не имеет значения, и только один из них должен быть указан как подмножество, поскольку они представляют один и тот же набор.

предикат, который работает так:

?- subset([1,2,3], X).
X = [] ;
X = [1] ;
X = [2] ;
X = [3] ;
X = [1, 2] ;
X = [1, 2, 3] ;
X = [2, 3] ;
...

Я видел некоторыеsubset реализации, но все они работают, когда вы хотите проверить, является ли один список подмножеством другого, а не когда вы хотите сгенерировать подмножества. Есть идеи?

Ответы на вопрос(5)

Ваш ответ на вопрос