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.SymPrim.Prim.TermUtils

Description

 
Synopsis

Documentation

extractTerm :: forall (knd :: SymbolKind) a. (IsSymbolKind knd, SymbolKindConstraint knd a, SupportedPrim a) => HashSet SomeTypedConstantSymbol -> Term a -> Maybe (HashSet (SomeTypedSymbol knd)) Source #

Extract all the symbols in a term.

castTerm :: forall a b. Typeable b => Term a -> Maybe (Term b) Source #

Cast a term to another type.

someTermsSize :: [SomeTerm] -> Int Source #

Compute the size of a list of terms. Do not count the same term twice.

someTermSize :: SomeTerm -> Int Source #

Compute the size of a list of terms. Do not count the same term twice.

termSize :: Term a -> Int Source #

Compute the size of a term.

termsSize :: [Term a] -> Int Source #

Compute the size of a list of terms. Do not count the same term twice.