Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type Bdd = BDD AscOrder
- top :: Bdd
- bot :: Bdd
- neg :: Bdd -> Bdd
- con :: Bdd -> Bdd -> Bdd
- dis :: Bdd -> Bdd -> Bdd
- imp :: Bdd -> Bdd -> Bdd
- equ :: Bdd -> Bdd -> Bdd
- conSet :: [Bdd] -> Bdd
- disSet :: [Bdd] -> Bdd
- xorSet :: [Bdd] -> Bdd
- forallSet :: [Int] -> Bdd -> Bdd
- existsSet :: [Int] -> Bdd -> Bdd
- ifthenelse :: Bdd -> Bdd -> Bdd -> Bdd
- substit :: Int -> Bdd -> Bdd -> Bdd
- substitSimul :: [(Int, Bdd)] -> Bdd -> Bdd
- relabel :: [(Int, Int)] -> Bdd -> Bdd
- sizeOf :: Bdd -> Int
- evaluateFun :: Bdd -> (Int -> Bool) -> Bool
- allSatsWith :: [Int] -> Bdd -> [[(Int, Bool)]]
- satCountWith :: [Int] -> Bdd -> Integer
- restrict :: Bdd -> (Int, Bool) -> Bdd
- restrictSet :: Bdd -> [(Int, Bool)] -> Bdd
- genGraphWith :: (Int -> String) -> Bdd -> String
- formOf :: Bdd -> Form
- boolBddOf :: Form -> Bdd
- boolEvalViaBdd :: [Prp] -> Form -> Bool
- bddEval :: [Prp] -> Bdd -> Bool
- size :: Bdd -> Int
- relabelWith :: [(Prp, Prp)] -> Bdd -> Bdd
- data KnowStruct = KnS [Prp] Bdd [(Agent, [Prp])]
- type State = [Prp]
- type KnowScene = (KnowStruct, State)
- type MultipointedKnowScene = (KnowStruct, Bdd)
- statesOf :: KnowStruct -> [State]
- numberOfStates :: KnowStruct -> Integer
- shareknow :: KnowStruct -> [[Prp]] -> [(State, State)]
- comknow :: KnowStruct -> [Agent] -> [(State, State)]
- eval :: KnowScene -> Form -> Bool
- announce :: KnowStruct -> [Agent] -> Form -> KnowStruct
- announceOnScn :: KnowScene -> [Agent] -> Form -> KnowScene
- bddOf :: KnowStruct -> Form -> Bdd
- evalViaBdd :: KnowScene -> Form -> Bool
- validViaBdd :: KnowStruct -> Form -> Bool
- whereViaBdd :: KnowStruct -> Form -> [State]
- determinedVocabOf :: KnowStruct -> [Prp]
- nonobsVocabOf :: KnowStruct -> [Prp]
- equivExtraVocabOf :: [Prp] -> KnowStruct -> [(Prp, Prp)]
- replaceWithIn :: (Prp, Prp) -> KnowStruct -> KnowStruct
- replaceEquivExtra :: [Prp] -> KnowStruct -> (KnowStruct, [(Prp, Prp)])
- withoutProps :: [Prp] -> KnowStruct -> KnowStruct
- generatedSubstructure :: MultipointedKnowScene -> MultipointedKnowScene
- data KnowTransformer = KnTrf [Prp] Form [(Prp, Bdd)] [(Agent, [Prp])]
- noChange :: ([Prp] -> Form -> [(Prp, Bdd)] -> [(Agent, [Prp])] -> KnowTransformer) -> [Prp] -> Form -> [(Agent, [Prp])] -> KnowTransformer
- type Event = (KnowTransformer, State)
- type MultipointedEvent = (KnowTransformer, Bdd)
- publicAnnounce :: [Agent] -> Form -> Event
- shiftPrepare :: KnowStruct -> KnowTransformer -> (KnowTransformer, [(Prp, Prp)])
- texBddWith :: (Int -> String) -> Bdd -> String
- texBDD :: Bdd -> String
- newtype WrapBdd = Wrap Bdd
- reduce :: Event -> Form -> Maybe Form
Renaming functions from `decision-diagrams` to be like HasCacBDD.
Size of a BDD, also counting terminal nodes. TODO: check if this is correct / agrees with CacBDD.
data KnowStruct Source #
Instances
type KnowScene = (KnowStruct, State) Source #
type MultipointedKnowScene = (KnowStruct, Bdd) Source #
statesOf :: KnowStruct -> [State] Source #
numberOfStates :: KnowStruct -> Integer Source #
announce :: KnowStruct -> [Agent] -> Form -> KnowStruct Source #
validViaBdd :: KnowStruct -> Form -> Bool Source #
whereViaBdd :: KnowStruct -> Form -> [State] Source #
determinedVocabOf :: KnowStruct -> [Prp] Source #
nonobsVocabOf :: KnowStruct -> [Prp] Source #
equivExtraVocabOf :: [Prp] -> KnowStruct -> [(Prp, Prp)] Source #
replaceWithIn :: (Prp, Prp) -> KnowStruct -> KnowStruct Source #
replaceEquivExtra :: [Prp] -> KnowStruct -> (KnowStruct, [(Prp, Prp)]) Source #
withoutProps :: [Prp] -> KnowStruct -> KnowStruct Source #
Knowledge Transformers
data KnowTransformer Source #
Instances
noChange :: ([Prp] -> Form -> [(Prp, Bdd)] -> [(Agent, [Prp])] -> KnowTransformer) -> [Prp] -> Form -> [(Agent, [Prp])] -> KnowTransformer Source #
type Event = (KnowTransformer, State) Source #
type MultipointedEvent = (KnowTransformer, Bdd) Source #
shiftPrepare :: KnowStruct -> KnowTransformer -> (KnowTransformer, [(Prp, Prp)]) Source #
shift addprops to ensure that props and newprops are disjoint: