grisette-0.11.0.0: Symbolic evaluation as a library
Copyright(c) Sirui Lu 2021-2024
LicenseBSD-3-Clause (see the LICENSE file)
Maintainersiruilu@cs.washington.edu
StabilityExperimental
PortabilityGHC only
Safe HaskellNone
LanguageHaskell2010

Grisette.Internal.Backend.SymBiMap

Description

 
Synopsis

Documentation

emptySymBiMap :: SymBiMap Source #

An empty bidirectional map.

sizeBiMap :: SymBiMap -> Int Source #

The size of the bidirectional map.

addBiMap :: forall (knd :: SymbolKind). HasCallStack => SomeTerm -> Dynamic -> String -> SomeTypedSymbol knd -> SymBiMap -> SymBiMap Source #

Add a new entry to the bidirectional map.

addBiMapIntermediate :: HasCallStack => SomeTerm -> (QuantifiedStack -> Dynamic) -> SymBiMap -> SymBiMap Source #

Add a new entry to the bidirectional map for intermediate values.

findStringToSymbol :: forall (knd :: SymbolKind). IsSymbolKind knd => String -> SymBiMap -> Maybe (SomeTypedSymbol knd) Source #

Find a symbolic Grisette term from a string.

lookupTerm :: HasCallStack => SomeTerm -> SymBiMap -> Maybe (QuantifiedStack -> Dynamic) Source #

Look up an sbv value with a symbolic Grisette term in the bidirectional map.

attachNextQuantifiedSymbolInfo :: SymBiMap -> TypedConstantSymbol a -> (SymBiMap, TypedConstantSymbol a) Source #

Attach the next quantified symbol info to a symbol.