toysolver-0.7.0: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc
Copyright(c) Masahiro Sakai 2012 2015
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityprovisional
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010
Extensions
  • Cpp
  • ScopedTypeVariables
  • BangPatterns
  • TypeSynonymInstances
  • FlexibleInstances
  • ExplicitForAll

ToySolver.EUF.CongruenceClosure

Description

Synopsis

The Solver type

Problem description

type FSym = Int Source #

data Term Source #

Constructors

TApp FSym [Term] 

Instances

Instances details
Eq Term Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

(==) :: Term -> Term -> Bool #

(/=) :: Term -> Term -> Bool #

Ord Term Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

compare :: Term -> Term -> Ordering #

(<) :: Term -> Term -> Bool #

(<=) :: Term -> Term -> Bool #

(>) :: Term -> Term -> Bool #

(>=) :: Term -> Term -> Bool #

max :: Term -> Term -> Term #

min :: Term -> Term -> Term #

Show Term Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

showsPrec :: Int -> Term -> ShowS #

show :: Term -> String #

showList :: [Term] -> ShowS #

VAFun Term Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

withVArgs :: ([Term] -> Term) -> Term Source #

VAFun a => VAFun (Term -> a) Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

withVArgs :: ([Term] -> Term) -> Term -> a Source #

data FlatTerm Source #

Constructors

FTConst !FSym 
FTApp !FSym !FSym 

class VAFun a where Source #

Methods

withVArgs :: ([Term] -> Term) -> a Source #

Instances

Instances details
VAFun Term Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

withVArgs :: ([Term] -> Term) -> Term Source #

VAFun a => VAFun (Term -> a) Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

withVArgs :: ([Term] -> Term) -> Term -> a Source #

newFun :: VAFun a => Solver -> IO a Source #

merge :: Solver -> Term -> Term -> IO () Source #

Query

Explanation

Model Construction

data Model Source #

Instances

Instances details
Show Model Source # 
Instance details

Defined in ToySolver.EUF.CongruenceClosure

Methods

showsPrec :: Int -> Model -> ShowS #

show :: Model -> String #

showList :: [Model] -> ShowS #

Backtracking

Low-level operations