- library
- clp
- clpfd.pl -- CLP(FD): Constraint Logic Programming over Finite Domains
- in/2
 - ins/2
 - indomain/1
 - label/1
 - labeling/2
 - all_different/1
 - all_distinct/1
 - sum/3
 - scalar_product/4
 - #>=/2
 - #=</2
 - #=/2
 - #\=/2
 - #>/2
 - #</2
 - #\/1
 - #<==>/2
 - #==>/2
 - #<==/2
 - #/\/2
 - #\//2
 - #\/2
 - lex_chain/1
 - tuples_in/2
 - serialized/2
 - element/3
 - global_cardinality/2
 - global_cardinality/3
 - circuit/1
 - cumulative/1
 - cumulative/2
 - disjoint2/1
 - automaton/3
 - automaton/8
 - transpose/2
 - zcompare/3
 - chain/2
 - fd_var/1
 - fd_inf/2
 - fd_sup/2
 - fd_size/2
 - fd_dom/2
 
 - clpb.pl -- CLP(B): Constraint Logic Programming over Boolean Variables
 
 - clpfd.pl -- CLP(FD): Constraint Logic Programming over Finite Domains
 
 - clp
 
- serialized(+Starts, +Durations)
 - Describes a set of non-overlapping tasks.
Starts = [S_1,...,S_n], is a list of variables or integers,
Durations = [D_1,...,D_n] is a list of non-negative integers.
Constrains Starts and Durations to denote a set of
non-overlapping tasks, i.e.: S_i + D_i =< S_j or S_j + D_j =<
S_i for all 1 =< i < j =< n. Example:
?- length(Vs, 3), Vs ins 0..3, serialized(Vs, [1,2,3]), label(Vs). Vs = [0, 1, 3] ; Vs = [2, 0, 3] ; false.
- See also
 - - Dorndorf et al. 2000, "Constraint Propagation Techniques for the Disjunctive Scheduling Problem"