19 lines
431 B
Prolog
19 lines
431 B
Prolog
:- use_module(library(chr)).
|
|
|
|
:- chr_constraint chr_power_set/2, chr_power_set/1, clean/0.
|
|
|
|
clean @ clean \ chr_power_set(_) <=> true.
|
|
clean @ clean <=> true.
|
|
|
|
only_one @ chr_power_set(A) \ chr_power_set(A) <=> true.
|
|
|
|
|
|
creation @ chr_power_set([H | T], A) <=>
|
|
append(A, [H], B),
|
|
chr_power_set(T, A),
|
|
chr_power_set(T, B),
|
|
chr_power_set(B).
|
|
|
|
|
|
empty_element @ chr_power_set([], _) <=> chr_power_set([]).
|