Copyright | (c) Sirui Lu 2021-2023 |
---|---|
License | BSD-3-Clause (see the LICENSE file) |
Maintainer | siruilu@cs.washington.edu |
Stability | Experimental |
Portability | GHC only |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- data SymBiMap = SymBiMap {}
- emptySymBiMap :: SymBiMap
- sizeBiMap :: SymBiMap -> Int
- addBiMap :: HasCallStack => SomeTerm -> Dynamic -> String -> SomeTypedSymbol -> SymBiMap -> SymBiMap
- addBiMapIntermediate :: HasCallStack => SomeTerm -> Dynamic -> SymBiMap -> SymBiMap
- findStringToSymbol :: String -> SymBiMap -> Maybe SomeTypedSymbol
- lookupTerm :: HasCallStack => SomeTerm -> SymBiMap -> Maybe Dynamic
Documentation
A bidirectional map between symbolic Grisette terms and sbv terms.
Instances
Show SymBiMap Source # | |
MonadIO m => MonadicSolver (SBVIncrementalT n m) Source # | |
Defined in Grisette.Internal.Backend.Solving monadicSolverPush :: Int -> SBVIncrementalT n m () Source # monadicSolverPop :: Int -> SBVIncrementalT n m () Source # monadicSolverResetAssertions :: SBVIncrementalT n m () Source # monadicSolverAssert :: SymBool -> SBVIncrementalT n m () Source # monadicSolverCheckSat :: SBVIncrementalT n m (Either SolvingFailure Model) Source # |
emptySymBiMap :: SymBiMap Source #
An empty bidirectional map.
addBiMap :: HasCallStack => SomeTerm -> Dynamic -> String -> SomeTypedSymbol -> SymBiMap -> SymBiMap Source #
Add a new entry to the bidirectional map.
addBiMapIntermediate :: HasCallStack => SomeTerm -> Dynamic -> SymBiMap -> SymBiMap Source #
Add a new entry to the bidirectional map for intermediate values.
findStringToSymbol :: String -> SymBiMap -> Maybe SomeTypedSymbol Source #
Find a symbolic Grisette term from a string.
lookupTerm :: HasCallStack => SomeTerm -> SymBiMap -> Maybe Dynamic Source #
Look up an sbv value with a symbolic Grisette term in the bidirectional map.