toysolver-0.8.1: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc
Copyright(c) Masahiro Sakai 2017
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilitynon-portable
Safe HaskellSafe-Inferred
LanguageHaskell2010
ExtensionsBangPatterns

ToySolver.SAT.ExistentialQuantification

Description

Synopsis

Documentation

project Source #

Arguments

:: VarSet

\(X\)

-> CNF

\(\phi\)

-> IO CNF

\(\psi\)

Given a set of variables \(X = \{x_1, \ldots, x_k\}\) and CNF formula \(\phi\), this function computes a CNF formula \(\psi\) that is equivalent to \(\exists X. \phi\) (i.e. \((\exists X. \phi) \leftrightarrow \psi\)).

shortestImplicantsE Source #

Arguments

:: VarSet

\(X\)

-> CNF

\(\phi\)

-> IO [LitSet] 

Given a set of variables \(X = \{x_1, \ldots, x_k\}\) and CNF formula \(\phi\), this function computes shortest implicants of \(\exists X. \phi\).

Resulting shortest implicants form a DNF (disjunctive normal form) formula that is equivalent to the original formula \(\exists X. \phi\).

negateCNF Source #

Arguments

:: CNF

\(\phi\)

-> IO CNF

\(\psi \equiv \neg\phi\)

Given a CNF formula \(\phi\), this function returns another CNF formula \(\psi\) that is equivalent to \(\neg\phi\).