kodkod.engine
Class Proof

java.lang.Object
  extended by kodkod.engine.Proof

public abstract class Proof
extends java.lang.Object

Contains a proof of unsatisfiability of a given FOL formula.

invariant:
log.formula = formula
specfield:
formula: Formula // the unsatisfiable formula
bounds: Bounds // the bounds with respect to which the formula is unsatisfiable
log: TranslationLog // log of the translation of this.formula with respect to this.bounds

Method Summary
abstract  java.util.Iterator<TranslationRecord> core()
          Returns an iterator over the log records for the nodes that are in the unsatisfiable core of this.formula.
 java.util.Set<Formula> highLevelCore()
          Returns the unsatisfiable subset of the top-level conjunctions of this.formula as given by this.core().
 TranslationLog log()
          Returns the log of the translation that resulted in this proof.
abstract  void minimize(ReductionStrategy strategy)
          Minimizes the proof of this.formula's unsatisfiability using the specified proof reduction strategy.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

minimize

public abstract void minimize(ReductionStrategy strategy)
Minimizes the proof of this.formula's unsatisfiability using the specified proof reduction strategy. Calling this method on a proof of unsatisfiability for a trivially unsatisfiable formula results in an UnsupportedOperationException}.

Throws:
java.lang.UnsupportedOperationException - - this is a proof for a trivially unsatisifiable formula and cannot be minimized
See Also:
ReductionStrategy
effects:
minimizes the proof of this.formula's unsatisfiability using the specified proof reduction strategy.

core

public abstract java.util.Iterator<TranslationRecord> core()
Returns an iterator over the log records for the nodes that are in the unsatisfiable core of this.formula. The record objects returned by the iterator are not guaranteed to be immutable. In particular, the state of a record object returned by next() is guaranteed to remain the same only until the subsequent call to next().

Returns:
an iterator over the log records for the nodes that are in the unsatisfiable core of this.formula.

highLevelCore

public final java.util.Set<Formula> highLevelCore()
Returns the unsatisfiable subset of the top-level conjunctions of this.formula as given by this.core().

Returns:
the unsatisfiable subset of the top-level conjunctions of this.formula, as given by this.core().

log

public final TranslationLog log()
Returns the log of the translation that resulted in this proof.

Returns:
log of the translation that resulted in this proof