| << 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 >> |