Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
6
Task/Power-set/Prolog/power-set-1.pro
Normal file
6
Task/Power-set/Prolog/power-set-1.pro
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
powerset(X,Y) :- bagof( S, subseq(S,X), Y).
|
||||
|
||||
subseq( [], []).
|
||||
subseq( [], [_|_]).
|
||||
subseq( [X|Xs], [X|Ys] ) :- subseq(Xs, Ys).
|
||||
subseq( [X|Xs], [_|Ys] ) :- append(_, [X|Zs], Ys), subseq(Xs, Zs).
|
||||
5
Task/Power-set/Prolog/power-set-2.pro
Normal file
5
Task/Power-set/Prolog/power-set-2.pro
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
power_set( [], [[]]).
|
||||
power_set( [X|Xs], PS) :-
|
||||
power_set(Xs, PS1),
|
||||
maplist( append([X]), PS1, PS2 ), % i.e. prepend X to each PS1
|
||||
append(PS1, PS2, PS).
|
||||
18
Task/Power-set/Prolog/power-set-3.pro
Normal file
18
Task/Power-set/Prolog/power-set-3.pro
Normal 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([]).
|
||||
Loading…
Add table
Add a link
Reference in a new issue