kodkod.engine.ucore
Class MinTopStrategy
java.lang.Object
kodkod.engine.ucore.MinTopStrategy
- All Implemented Interfaces:
- ReductionStrategy
public class MinTopStrategy
- extends java.lang.Object
- implements ReductionStrategy
A strategy for generating unsat cores that are minimal at the logic level.
Specifically, let C be a core that is minimal according to this strategy,
and let F(C) be the top-level logic constraints
corresponding to C. Then, this strategy guarantees that there is no clause
c in C such that F(C - c) is a strict subset of F(C). Furthermore, it also
guarantees that for all f in F(C), F(C) - f is satisfiable. This is a stronger
guarantee than that of HybridStrategy. In general, using this strategy
is more expensive, timewise, than using HybridStrategy.
This strategy will work properly only on CNFs generated by the kodkod Translator.
- Author:
- Emina Torlak
- See Also:
HybridStrategy
Constructor Summary |
MinTopStrategy(TranslationLog log)
Constructs a min top strategy that will use the given translation
log to relate the cnf clauses back to the logic constraints from
which they were generated. |
Method Summary |
IntSet |
next(ResolutionTrace trace)
Returns the next subtrace of the specified trace to be analyzed, given
as a set of indices into the trace. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MinTopStrategy
public MinTopStrategy(TranslationLog log)
- Constructs a min top strategy that will use the given translation
log to relate the cnf clauses back to the logic constraints from
which they were generated.
next
public IntSet next(ResolutionTrace trace)
- Returns the next subtrace of the specified trace to be analyzed, given
as a set of indices into the trace.
If there are no more subtraces to be analyzed (i.e. the given trace is
minimal according to the minimality measure used by this strategy),
returns the empty set.
- Specified by:
next
in interface ReductionStrategy
- Returns:
- this.nexts'[#this.nexts-1]
- See Also:
ReductionStrategy.next(kodkod.engine.satlab.ResolutionTrace)