You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Overloaded method createAssignment in MiniSat by flag whether the created assignment should be a fast evaluable assignment.
Extended ModelEnumerationFunction.Builder by flag fastEvaulable which indicates whether the created assignments should be a fast evaluable assignment.
Convenience methods isNNF(), isDNF() and isCNF() in class Formula
Two new constructors for Substitutions and a new method getMapping() to get the internal mapping
Method getSubstitution on Anonymizer to get the mapping from original variable to anonymized one
A DNF from BDD function BDDDNFFunction, a subclass of the newly added class BDDNormalFormFunction
A DNF from BDD formula transformation BDDDNFTransformation, a subclass of the newly added class BDDNormalFormTransforamtion
A canonical CNF enumeration CanonicalCNFEnumeration, a subclass of the newly added class CanonicalEnumeration.
Changed
Improved methods intersection and union in CollectionHelper by using bounded wildcards.
Improved performance of hashCode and equals in Assignment by avoiding redundant hash set creation.
Method BDD#dnf() uses the newly introduced BDDDNFFunction to obtain a smaller DNF instead of a canonical DNF
Class BDDCNFFunction uses the singleton pattern
All functions/transformations/predicates with only a default constructor introduce a static get() method with the singleton pattern. The public
constructors are now deprecated and will be removed with LogicNG 3.0
Always use the default configuration of algorithms from the formula factory and do not construct them in the respective classes separately.
Fixed
Minor edge case issue in NegationSimplifier which yielded a larger result formula than input formula.
The TermPredicate logic was inverted. In detail, the minterm predicate TermPredicate#getMintermPredicate() tested for a maxterm and the TermPredicate#getMaxtermPredicate() tested for a minterm. To prevent silent errors for callers of these predicates, the factory method names were changed
to minterm() and maxterm(), respectively. Thus, an intentional breaking change on compile time level has been introduced to force callers to adjust their
logic.
Minor edge case issue in MiniSat when performing assumption solving with proof tracing.
Fixed two bugs in the backbone computation on the MiniCard solver.