如何指定Prolog列表的所有元素必须为1或0?

Zap*_*Zap 3 list prolog elements conditional-statements eclipse-clp

如何确保序言列表的所有元素都是0或1?

我需要生成一个给定长度的列表,并确保它只有这两个数字:
例如[0,0,0,0,0,0],[1,0,0,1,0,1,1等等

我想我需要使用像ICFD那样的库,但是我无法弄清楚如何用每种方法处理这个问题.

joe*_*l76 5

假设A是一个列表.只是说A ins 0..1例子

 ?- [library(clpfd)].
 true.

 ?- length(A, 10),A ins 0..1.
 A = [_3820,_3826,_3832,_3838,_3844,_3850,_3856,_3862,_3868,_3874],
 _3820 in 0..1,
 _3826 in 0..1,
 _3832 in 0..1,
 _3838 in 0..1,
 _3844 in 0..1,
 _3850 in 0..1,
 _3856 in 0..1,
 _3862 in 0..1,
 _3868 in 0..1,
 _3874 in 0..1.
Run Code Online (Sandbox Code Playgroud)