Author(s): Lena Flood.
Version: 1.11#222 (2004/5/24, 13:8:7 CEST)
Version of last change: 1.11#115 (2003/12/22, 18:32:34 CET)
This module implements set operations. Sets are just ordered lists.
sets
):- use_module(library(sets)).
sets
)
Usage: insert(Set1, Element, Set2)
Set2
is Set1
with Element
inserted in it, preserving the order.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Element
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is a free variable.
(term_typing:var/1
)
Usage: ord_delete(Set0, X, Set)
Set
is Set0
without element X
.
Set0
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
X
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set
is a free variable.
(term_typing:var/1
)
Usage: ord_member(X, Set)
X
is member of Set
.
X
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_test_member(Set, X, Result)
X
is member of Set
then Result
=yes
. Otherwise Result
=no
.
Set
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
X
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Result
is a free variable.
(term_typing:var/1
)
Usage: ord_subtract(Set1, Set2, Difference)
Difference
contains all and only the elements of Set1
which are not also in Set2
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_intersection(Set1, Set2, Intersection)
Intersection
is the ordered representation of Set1
and Set2
, provided that Set1
and Set2
are ordered lists.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_intersection_diff(Set1, Set2, Intersect, NotIntersect)
Intersect
contains those elements which are both in Set1
and Set2
, and NotIntersect
those which are in Set1
but not in Set2
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Intersect
is a free variable.
(term_typing:var/1
)
NotIntersect
is a free variable.
(term_typing:var/1
)
Usage: ord_intersect(Xs, Ys)
Xs
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Ys
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_subset(Xs, Ys)
Xs
appears in Ys
.
Xs
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Ys
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_subset_diff(Set1, Set2, Difference)
Set1
appears in Set2
and Difference
has the elements of Set2
which are not in Set1
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Difference
is a free variable.
(term_typing:var/1
)
Usage: ord_union(Set1, Set2, Union)
Union
is the union of Set1
and Set2
. When some element occurs in both sets, Union
retains only one copy.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_union_diff(Set1, Set2, Union, Difference)
Union
is the union of Set1
and Set2
, and Difference
is Set2
set-minus Set1
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Union
is a free variable.
(term_typing:var/1
)
Difference
is a free variable.
(term_typing:var/1
)
Usage: ord_union_symdiff(Set1, Set2, Union, Diff)
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Union
is a free variable.
(term_typing:var/1
)
Diff
is a free variable.
(term_typing:var/1
)
Usage: ord_union_change(Set1, Set2, Union)
Union
is the union of Set1
and Set2
and Union
is different from Set2
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Union
is a free variable.
(term_typing:var/1
)
Usage: merge(Set1, Set2, Union)
ord_union/3
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: ord_disjoint(Set1, Set2)
Set1
and Set2
have no element in common.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Usage: setproduct(Set1, Set2, Product)
Product
has all two element sets such that one element is in Set1
and the other in set2
, except that if the same element belongs to both, then the corresponding one element set is in Product
.
Set1
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Set2
is currently a term which is not a free variable.
(term_typing:nonvar/1
)
Product
is a free variable.
(term_typing:var/1
)
Go to the first, previous, next, last section, table of contents.