<< Prev | - Up - | Next >> |
The dominance constraint solver is provided by functor DC.ozf
which is made available by package dominance.pkg
.
functor
import
FS FD Space
export
MakePredicate
Daughters
Dominates
NotEqual
define
<DC: solver procedures>
end
<DC: dominates>
<DC: not equal>
local
<DC: equal>
<DC: strictly dominates>
<DC: side>
<DC: make node>
in
<DC: make predicate>
end
local
<DC: solver procedures>
in
DC=dom(makePredicate:MakePredicate
daughters:Daughters
dominates:Dominates
notEqual:NotEqual)
end
In particular, the record DC
exports the procedure MakePredicate
which turns a dominance constraint into a predicate appropriate as input to encapsulated search as provided by e. g. Explorer.all
or Search.all
. For example, we could now use the Explorer to search for all possible (constructive) models of DomConExample
:
declare
[DC]={Link ['x-ozlib://oz-kurs/DC.ozf']}
<DomConExample>
in
{Explorer.all {DC.makePredicate DomConExample}}
<< Prev | - Up - | Next >> |