## D.4 Library predicates

### D.4.1 `library(check)`

check/0 | Program completeness and consistency
list_undefined/0 | List undefined predicates
list_autoload/0 | List predicates that require autoload
list_redefined/0 | List locally redefined predicates

### D.4.2 `library(lists)`

append/3 | Concatenate lists
delete/3 | Delete all matching members from a list
flatten/2 | Transform nested list into flat list
intersection/3 | Set intersection
is_set/1 | Type check for a set
list_to_set/2 | Remove duplicates
member/2 | Element is member of a list
nextto/3 | Y follows X in List
nth0/3 | N-th element of a list (0-based)
nth1/3 | N-th element of a list (1-based)
numlist/3 | Create list of integers in interval
permutation/2 | Test/generate permutations of a list
reverse/2 | Inverse the order of the elements in a list
select/3 | Select element of a list
subset/2 | Check subset relation for unordered sets
subtract/3 | Delete elements that do not satisfy condition
sumlist/2 | Add all numbers in a list
union/3 | Union of two sets

### D.4.3 `library(ordsets)`

ord_empty/1 | Test empty ordered set
list_to_ord_set/2 | Create ordered set
ord_add_element/3 | Add element to ordered set
ord_del_element/3 | Delete element from ordered set
ord_intersect/2 | Test non-empty intersection
ord_intersection/3 | Compute intersection
ord_disjoint/2 | Test empty intersection
ord_subtract/3 | Delete set from set
ord_union/3 | Union of two ordered sets
ord_union/4 | Union and difference of two ordered sets
ord_subset/2 | Test subset
ord_memberchk/2 | Deterministically test membership

### D.4.4 `library(ugraphs)`

vertices_edges_to_ugraph/3 | Create unweighted graph
vertices/2 | Find vertices in graph
edges/2 | Find edges in graph
add_vertices/3 | Add vertices to graph
del_vertices/3 | Delete vertices from graph
add_edges/3 | Add edges to graph
del_edges/3 | Delete edges from graph
transpose/2 | Invert the direction of all edges
neighbors/3 | Find neighbors of vertice
neighbours/3 | Find neighbors of vertice
complement/2 | Inverse presense of edges
compose/3 |
top_sort/2 | Sort graph topologically
top_sort/3 | Sort graph topologically
transitive_closure/2 | Create transitive closure of graph
reachable/3 | Find all reachable vertices
ugraph_union/3 | Union of two graphs

### D.4.5 `library(www_browser)`

www_open_url/1 | Open a web-page in a browser

### D.4.6 `library(readutil)`

read_line_to_codes/2 | Read line from a stream
read_line_to_codes/3 | Read line from a stream
read_stream_to_codes/2 | Read contents of stream
read_stream_to_codes/3 | Read contents of stream
read_file_to_codes/3 | Read contents of file
read_file_to_terms/3 | Read contents of file to Prolog terms

### D.4.7 `library(registry)`

This library is only available on Windows systems.

registry_get_key/2 | Get principal value of key
registry_get_key/3 | Get associated value of key
registry_set_key/2 | Set principal value of key
registry_set_key/3 | Set associated value of key
registry_delete_key/1 | Remove a key
shell_register_file_type/4 | Register a file-type
shell_register_dde/6 | Register DDE action
shell_register_prolog/1 | Register Prolog

### D.4.8 `library(url)`

parse_url/2 | Analyse or construct a URL
parse_url/3 | Analyse or construct a relative URL
global_url/3 | Make relative URL global
http_location/2 | Analyse or construct location
www_form_encode/2 | Encode or decode form-data

### D.4.9 `library(clp/bounds)`

in/2 | Define interval for variable
#>/2 | Greater than constraint
#</2 | Less than constraint
#>=/2 | Greater or equal constraint
#=</2 | Less of equal constraint
#\=/2 | Non-equal constraint
#=/2 | Equality constraint
#<=>/2 | Constraint equivalence
#<=/2 | Constraint implication to the left
#=>/2 | Constraint implication to the right
all_different/1 | Constraint all values to be unique
indomain/1 | Enumerate values from domain
label/1 | Solve constraints for variables
labeling/2 | Solve constraints for variables
lex_chain/1 | Constraint on lexicographic ordering
sum/3 | Constraint sum of variables
tuples_in/2 | Symbolic constraints on tuples
serialized/2 | Constraint intervals to be serialized

### D.4.10 `library(clp/clp_distinct)`

all_distinct/1 | Demand distinct values
vars_in/2 | Declare domain of variable as set
vars_in/3 | Declare domain of variable as interval

### D.4.11 `library(clp/simplex)`

assignment/2 | Solve assignment problem
constraint/3 | Add linear constraint to state
constraint/4 | Add named linear constraint to state
gen_state/1 | Create empty linear program
maximize/3 | Maximize objective function in to linear constraints
minimize/3 | Minimize objective function in to linear constraints
objective/2 | Fetch value of objective function
shadow_price/3 | Fetch shadow price in solved state
transportation/4 | Solve transportation problem
variable_value/3 | Fetch value of variable in solved state

### D.4.12 `library(clpqr)`

entailed/1 | Check if constraint is entailed
inf/2 | Find the infimum of an expression
sup/2 | Find the supremum of an expression
minimize/1 | Minimizes an expression
maximize/1 | Maximizes an expression
bb_inf/3 | Infimum of expression for mixed-integer problems
bb_inf/4 | Infimum of expression for mixed-integer problems
bb_inf/5 | Infimum of expression for mixed-integer problems
dump/3 | Dump constraints on variables

### D.4.13 `library(prologxref)`

prolog:called_by/2 | (hook) Extend cross-referencer
xref_built_in/1 | Examine defined built-ins
xref_called/3 | Examine called predicates
xref_clean/1 | Remove analysis of source
xref_current_source/1 | Examine cross-referenced sources
xref_defined/3 | Examine defined predicates
xref_exported/2 | Examine exported predicates
xref_module/2 | Module defined by source
xref_source/1 | Cross-reference analysis of source

### D.4.14 `library(broadcast)`

broadcast/1 | Send event notification
broadcast_request/1 | Request all agents
listen/2 | Listen to event notifications
listen/3 | Listen to event notifications
unlisten/1 | Stop listening to event notifications
unlisten/2 | Stop listening to event notifications
unlisten/3 | Stop listening to event notifications
listening/3 | Who is listening to event notifications?