Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- class TagForBDDs a where
- data Dubbel
- data Tripel
- data Quadrupel
- totalRelBdd :: Tagged a Bdd
- emptyRelBdd :: Tagged a Bdd
- allsamebdd :: TagForBDDs a => [Prp] -> Tagged a Bdd
Tagged BDDs
class TagForBDDs a where Source #
Operations on tagged BDDs.
The tag a
is meant to be an empty type.
Nothing
multiplier :: Tagged a Bdd -> Int Source #
How many copies of the vocabulary do we have? This is the number of markers + 1.
unmvBdd :: Tagged a Bdd -> Bdd Source #
Move back, must be without markers!
mv :: Bdd -> Tagged a Bdd Source #
Move into double vocabulary, but do not add marker
cp :: Bdd -> Tagged a Bdd Source #
Move into extended vocabulary, add one marker
cpMany :: Int -> Bdd -> Tagged a Bdd Source #
Move into extended vocabulary, add k many markers, MUST be available!
tagBddEval :: [Prp] -> Tagged a Bdd -> Bool Source #
Evaluate a tagged BDD.
Instances
TagForBDDs Dubbel Source # | |
Defined in SMCDEL.Internal.TaggedBDD | |
TagForBDDs Quadrupel Source # | |
Defined in SMCDEL.Internal.TaggedBDD | |
TagForBDDs Tripel Source # | |
Defined in SMCDEL.Internal.TaggedBDD |
Pre-defined tags
Tag for BDDs using the duplicated vocabulary \(V \cup V'\).
Instances
TagForBDDs Dubbel Source # | |
Defined in SMCDEL.Internal.TaggedBDD |
Tag for BDDs using the triple vocabulary \(V \cup V' \cup V''\).
Instances
TagForBDDs Tripel Source # | |
Defined in SMCDEL.Internal.TaggedBDD |
Tag for BDDs using the quadruple vocabulary \(V \cup V' \cup V'' \cup V'''\).
Instances
TagForBDDs Quadrupel Source # | |
Defined in SMCDEL.Internal.TaggedBDD |
Generic definition for tagged BDDs
totalRelBdd :: Tagged a Bdd Source #
The total relation as a tagged BDD.
emptyRelBdd :: Tagged a Bdd Source #
The empty relation as a tagged BDD.
allsamebdd :: TagForBDDs a => [Prp] -> Tagged a Bdd Source #
Given a vocabulary, make a tagged BDD to say that each plain variable \(p\) and the corresponding marked variable \(p'\) variable have the same value: \( \wedge_p (p \leftrightarrow p') \). This encodes the identity relation.