permutation1-fb.pl

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:07.0
disk size 668 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
%query: perm1(i,o).
%% perm1(Xs, Ys) :- Ys is a permutation of the list Xs.
%%

%TWTYPES     :- type perm1(list,list).

perm1([], []).
perm1(Xs, [X | Ys]) :- select(X, Xs, Zs), perm1(Zs, Ys).


%TWTYPES     :- type select(poly,list,list).

select(X, [X | Xs], Xs).
select(X, [Y | Xs], [Y | Zs]) :- select(X, Xs, Zs).


/*TWDESC

 perm1(Xs, Ys) :- Ys is a permutation of the list Xs.

*/


/*TWTYPES

list([]).
list([X|Xs]) :-
	poly(X),
	list(Xs).

poly(dummy).
*/


/*TWDEMO

selected_norms([list,poly]).

query(perm1(b,f,f,f)).
query(perm1(f,b,f,f)).
query(select(f,f,b,f,f,f)).
query(select(f,f,f,b,f,f)).
query(select(f,f,f,f,b,f)).
query(select(f,f,f,f,f,b)).

*/
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark