Toggle navigation
?
users online
Logout
Open hangout
Open chat for current file
setof0(X,O,L) :- setof(X,O,L), !. setof0(_,_,[]). intersección(S,T,U) :- setof0(X, (member(X,S), member(X,T)), U). unión(S,T,U) :- setof(X, (member(X,S); member(X,T)), U). diferencia(S,T,U) :- setof0(X,(member(X,S),not(member(X,T))),U). subconjunto([],[]). subconjunto([X|L1],[X|L2]) :- subconjunto(L1,L2). subconjunto(L1,[_|L2]) :- subconjunto(L1,L2). subconjuntos(X,L) :- setof(Y,subconjunto(Y,X),L). /** <examples> ?- setof0(X, (member(X,[c,a,b]),member(X,[c,b,d])), L). ?- setof0(X, (member(X,[c,a,b]),member(X,[e,f])), L). ?- intersección([1,4,2],[2,3,4],U). ?- unión([1,2,4],[2,3,4],U). ?- diferencia([5,1,2],[2,3,4],U). ?- subconjunto(L,[a,b]). ?- subconjuntos([a,b,c],L). */