Class BDDTransformer<L,​AP>

  • Type Parameters:
    L - edge label type
    AP - atomic proposition type

    public class BDDTransformer<L,​AP>
    extends AbstractPropertyTransformer<BDDTransformer<L,​AP>,​L,​AP>
    A BDDTransformer represents a property transformer for a list of BDDs (Binary Decision Diagrams), one per subformula.
    • Constructor Detail

      • BDDTransformer

        public BDDTransformer​(BDDManager bddManager,
                              DependencyGraph<L,​AP> dependencyGraph)
        Constructor used to initialize the property transformer of a node.
        Parameters:
        bddManager - used to create the BDDs
        dependencyGraph - of the formula that is currently being solved
      • BDDTransformer

        public BDDTransformer​(BDDManager bddManager,
                              L edgeLabel,
                              TP edgeProperty,
                              DependencyGraph<L,​AP> dependencyGraph)
        Constructor used to create the property transformer for an edge.
        Type Parameters:
        TP - edge property type
        Parameters:
        bddManager - used to create the BDDs
        edgeLabel - of the edge
        edgeProperty - of the edge
        dependencyGraph - of the formula that is currently being solved
      • BDDTransformer

        public BDDTransformer​(BDDManager bddManager,
                              int numberOfVars)
        The Property Transformer representing the identity function.
        Parameters:
        bddManager - used to create the BDDs
        numberOfVars - the number of subformulas
    • Method Detail

      • evaluate

        public BitSet evaluate​(boolean[] input)
        Description copied from class: AbstractPropertyTransformer
        Returns the set of variable numbers of subformulas y with f(input)=y, where f is the property transformer represented by this.
        Specified by:
        evaluate in class AbstractPropertyTransformer<BDDTransformer<L,​AP>,​L,​AP>
        Parameters:
        input - a boolean array representing a set of subformulas
        Returns:
        the set of variable numbers of subformulas
      • getBDD

        public BDD getBDD​(int var)
        Returns the BDD used to compute the satisfiability of subformula with variable number var.
        Parameters:
        var - index of the BDD to return
        Returns:
        the BDD used to compute the satisfiability of subformula with variable number var
      • getNumberOfVars

        public int getNumberOfVars()
        Returns the number of subformulas.
        Returns:
        the number of subformulas
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object