tasks a-s

This commit is contained in:
Ingy döt Net 2013-04-10 23:57:08 -07:00
parent 47bf37c096
commit b83f433714
12433 changed files with 156208 additions and 123 deletions

View file

@ -0,0 +1,9 @@
power_set(T, PS) :-
bagof(PS1, power_set(T, [], PS1), PS).
power_set(T, PS, PS1) :-
select(E, T, T1), !,
append(PS, [E], PST),
( PST = PS1; power_set(T1, PS, PS1); power_set(T1, PST, PS1)).
power_set([], [], []).

View file

@ -0,0 +1,18 @@
:- 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([]).