mios-1.6.2: A Minisat-based CDCL SAT solver in Haskell

Safe HaskellTrustworthy
LanguageHaskell2010

SAT.Mios.ClauseManager

Contents

Description

(This is a part of MIOS.) A shrinkable vector of Clause

Synopsis

higher level interface for ClauseVector

Simple Clause Manager

Manager with an extra Int (used as sort key or blocking literal)

data ClauseExtManager Source #

Clause + Blocking Literal

Instances
ClauseManager ClauseExtManager Source #

ClauseExtManager is a ClauseManager

Instance details

Defined in SAT.Mios.ClauseManager

StackFamily ClauseExtManager Clause Source #

ClauseExtManager is a StackFamily on clauses.

Instance details

Defined in SAT.Mios.ClauseManager

SingleStorage ClauseExtManager Int Source #

ClauseExtManager is a SingleStorage on the number of clauses in it.

Instance details

Defined in SAT.Mios.ClauseManager

VecFamily WatcherList Clause Source #

WatcherList is an Lit-indexed collection of Clause.

Instance details

Defined in SAT.Mios.ClauseManager

VecFamily ClauseExtManager Clause Source #

ClauseExtManager is a collection of Clause

Instance details

Defined in SAT.Mios.ClauseManager

pushClauseWithKey :: ClauseExtManager -> Clause -> Lit -> IO () Source #

O(1) inserter

getKeyVector :: ClauseExtManager -> IO (Vec Int) Source #

returns the associated Int vector, which holds blocking literals.

markClause :: ClauseExtManager -> Clause -> IO () Source #

sets the expire flag to a clause.

WatcherList

newWatcherList :: Int -> Int -> IO WatcherList Source #

n is the number of Var, m is default size of each watcher list. | For n vars, we need [0 .. 2 + 2 * n - 1] slots, namely 2 * (n + 1)-length vector FIXME: sometimes n > 1M

getNthWatcher :: WatcherList -> Lit -> ClauseExtManager Source #

returns the watcher List for Literal l.