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 HaskellSafe-Inferred
LanguageHaskell2010

Grisette.Internal.Core.Data.Class.ExtractSym

Description

 
Synopsis

Extracting symbolic constant set from a value

class ExtractSym a where Source #

Extracts all the symbols (symbolic constants) that are transitively contained in the given value.

>>> extractSym ("a" :: SymBool)
SymbolSet {a :: Bool}
>>> extractSym (mrgIf "a" (mrgReturn ["b"]) (mrgReturn ["c", "d"]) :: Union [SymBool])
SymbolSet {a :: Bool, b :: Bool, c :: Bool, d :: Bool}

Note 1: This type class can be derived for algebraic data types. You may need the DerivingVia and DerivingStrategies extensions.

data X = ... deriving Generic deriving ExtractSym via (Default X)

Minimal complete definition

extractSymMaybe

Methods

extractSym :: a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => a -> Maybe (SymbolSet knd) Source #

Instances

Instances details
ExtractSym ByteString Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym All Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Any Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Int16 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Int32 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Int64 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Int8 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Word16 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Word32 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Word64 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Word8 Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Ordering Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym AssertionError Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym VerificationConditions Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym AlgReal Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym NotRepresentableFPError Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym SomeBVException Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SomeBV

ExtractSym SymAlgReal Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym SymBool Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym SymInteger Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Text Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Integer Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym () Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: () -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => () -> Maybe (SymbolSet knd) Source #

ExtractSym Bool Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Char Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Double Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Float Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Int Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym Word Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

(Generic a, GExtractSym Arity0 (Rep a)) => ExtractSym (Default a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym (Identity a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym (First a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym (Last a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Last a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Last a -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym (Down a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Down a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Down a -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym (Dual a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Dual a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Dual a -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym (Product a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym (Sum a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Sum a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Sum a -> Maybe (SymbolSet knd) Source #

ExtractSym p => ExtractSym (Par1 p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Par1 p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Par1 p -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym (Ratio a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym (Union a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Control.Monad.Union

(KnownNat n, 1 <= n) => ExtractSym (IntN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: IntN n -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => IntN n -> Maybe (SymbolSet knd) Source #

(KnownNat n, 1 <= n) => ExtractSym (WordN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

(forall (n :: Nat). (KnownNat n, 1 <= n) => ExtractSym (bv n)) => ExtractSym (SomeBV bv) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SomeBV

Methods

extractSym :: SomeBV bv -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => SomeBV bv -> Maybe (SymbolSet knd) Source #

(KnownNat n, 1 <= n) => ExtractSym (SymIntN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

(KnownNat n, 1 <= n) => ExtractSym (SymWordN n) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym (Maybe a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym a => ExtractSym [a] Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: [a] -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => [a] -> Maybe (SymbolSet knd) Source #

(Generic1 f, GExtractSym Arity1 (Rep1 f), ExtractSym a) => ExtractSym (Default1 f a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

(ExtractSym a1, ExtractSym a2) => ExtractSym (Either a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Either a1 a2 -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Either a1 a2 -> Maybe (SymbolSet knd) Source #

ExtractSym (Proxy a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

ExtractSym (U1 p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: U1 p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => U1 p -> Maybe (SymbolSet knd) Source #

ExtractSym (V1 p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: V1 p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => V1 p -> Maybe (SymbolSet knd) Source #

(ExtractSym a, ExtractSym b) => ExtractSym (CBMCEither a b) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

ValidFP eb sb => ExtractSym (FP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: FP eb sb -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => FP eb sb -> Maybe (SymbolSet knd) Source #

ExtractSym (SymType b) => ExtractSym (a --> b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a --> b) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a --> b) -> Maybe (SymbolSet knd) Source #

ValidFP eb fb => ExtractSym (SymFP eb fb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: SymFP eb fb -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => SymFP eb fb -> Maybe (SymbolSet knd) Source #

ExtractSym (sa -~> sb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (sa -~> sb) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (sa -~> sb) -> Maybe (SymbolSet knd) Source #

ExtractSym (sa =~> sb) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (sa =~> sb) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (sa =~> sb) -> Maybe (SymbolSet knd) Source #

(ExtractSym a, ExtractSym b) => ExtractSym (a =-> b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a =-> b) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a =-> b) -> Maybe (SymbolSet knd) Source #

(ExtractSym1 a1, ExtractSym a2) => ExtractSym (MaybeT a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: MaybeT a1 a2 -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => MaybeT a1 a2 -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2) => ExtractSym (a1, a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2) -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym (Const a b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Const a b -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Const a b -> Maybe (SymbolSet knd) Source #

ExtractSym (f a) => ExtractSym (Ap f a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Ap f a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Ap f a -> Maybe (SymbolSet knd) Source #

ExtractSym (f a) => ExtractSym (Alt f a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Alt f a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Alt f a -> Maybe (SymbolSet knd) Source #

ExtractSym (f p) => ExtractSym (Rec1 f p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Rec1 f p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Rec1 f p -> Maybe (SymbolSet knd) Source #

ExtractSym (m (CBMCEither e a)) => ExtractSym (CBMCExceptT e m a) Source # 
Instance details

Defined in Grisette.Internal.Core.Control.Monad.CBMCExcept

(ExtractSym a1, ExtractSym1 a2, ExtractSym a3) => ExtractSym (ExceptT a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: ExceptT a1 a2 a3 -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => ExceptT a1 a2 a3 -> Maybe (SymbolSet knd) Source #

(ExtractSym1 m, ExtractSym a) => ExtractSym (IdentityT m a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

(ExtractSym a1, ExtractSym1 a2, ExtractSym a3) => ExtractSym (WriterT a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: WriterT a1 a2 a3 -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => WriterT a1 a2 a3 -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym1 a2, ExtractSym a3) => ExtractSym (WriterT a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: WriterT a1 a2 a3 -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => WriterT a1 a2 a3 -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3) => ExtractSym (a1, a2, a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3) -> Maybe (SymbolSet knd) Source #

(ExtractSym (l a), ExtractSym (r a)) => ExtractSym (Product l r a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Product l r a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Product l r a -> Maybe (SymbolSet knd) Source #

(ExtractSym (l a), ExtractSym (r a)) => ExtractSym (Sum l r a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Sum l r a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Sum l r a -> Maybe (SymbolSet knd) Source #

(ExtractSym (f p), ExtractSym (g p)) => ExtractSym ((f :*: g) p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (f :*: g) p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (f :*: g) p -> Maybe (SymbolSet knd) Source #

(ExtractSym (f p), ExtractSym (g p)) => ExtractSym ((f :+: g) p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (f :+: g) p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (f :+: g) p -> Maybe (SymbolSet knd) Source #

ExtractSym c => ExtractSym (K1 i c p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: K1 i c p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => K1 i c p -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4) => ExtractSym (a1, a2, a3, a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4) -> Maybe (SymbolSet knd) Source #

ExtractSym (f (g a)) => ExtractSym (Compose f g a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: Compose f g a -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => Compose f g a -> Maybe (SymbolSet knd) Source #

ExtractSym (f (g p)) => ExtractSym ((f :.: g) p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (f :.: g) p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (f :.: g) p -> Maybe (SymbolSet knd) Source #

ExtractSym (f p) => ExtractSym (M1 i c f p) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: M1 i c f p -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => M1 i c f p -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5) => ExtractSym (a1, a2, a3, a4, a5) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6) => ExtractSym (a1, a2, a3, a4, a5, a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7) => ExtractSym (a1, a2, a3, a4, a5, a6, a7) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12, ExtractSym a13) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12, ExtractSym a13, ExtractSym a14) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12, ExtractSym a13, ExtractSym a14, ExtractSym a15) => ExtractSym (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

extractSym :: (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) -> AnySymbolSet Source #

extractSymMaybe :: forall (knd :: SymbolKind). IsSymbolKind knd => (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15) -> Maybe (SymbolSet knd) Source #

class (forall a. ExtractSym a => ExtractSym (f a)) => ExtractSym1 (f :: Type -> Type) where Source #

Lifting of ExtractSym to unary type constructors.

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> f a -> Maybe (SymbolSet knd) Source #

Lifts the extractSymMaybe function to unary type constructors.

Instances

Instances details
ExtractSym1 Identity Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Identity a -> Maybe (SymbolSet knd) Source #

ExtractSym1 First Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> First a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Last Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Last a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Down Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Down a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Dual Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Dual a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Product Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Product a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Sum Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Sum a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Union Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Control.Monad.Union

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Union a -> Maybe (SymbolSet knd) Source #

ExtractSym1 Maybe Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Maybe a -> Maybe (SymbolSet knd) Source #

ExtractSym1 [] Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> [a] -> Maybe (SymbolSet knd) Source #

(Generic1 f, GExtractSym Arity1 (Rep1 f)) => ExtractSym1 (Default1 f) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Default1 f a -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym1 (Either a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => (a0 -> Maybe (SymbolSet knd)) -> Either a a0 -> Maybe (SymbolSet knd) Source #

ExtractSym1 (Proxy :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Proxy a -> Maybe (SymbolSet knd) Source #

ExtractSym1 a => ExtractSym1 (MaybeT a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => (a0 -> Maybe (SymbolSet knd)) -> MaybeT a a0 -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym1 ((,) a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => (a0 -> Maybe (SymbolSet knd)) -> (a, a0) -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym1 (Const a :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => (a0 -> Maybe (SymbolSet knd)) -> Const a a0 -> Maybe (SymbolSet knd) Source #

ExtractSym1 f => ExtractSym1 (Ap f) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Ap f a -> Maybe (SymbolSet knd) Source #

ExtractSym1 f => ExtractSym1 (Alt f) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Alt f a -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym1 a2) => ExtractSym1 (ExceptT a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> ExceptT a1 a2 a -> Maybe (SymbolSet knd) Source #

ExtractSym1 m => ExtractSym1 (IdentityT m) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> IdentityT m a -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym1 a2) => ExtractSym1 (WriterT a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> WriterT a1 a2 a -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym1 a2) => ExtractSym1 (WriterT a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> WriterT a1 a2 a -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2) => ExtractSym1 ((,,) a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym1 l, ExtractSym1 r) => ExtractSym1 (Product l r) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Product l r a -> Maybe (SymbolSet knd) Source #

(ExtractSym1 l, ExtractSym1 r) => ExtractSym1 (Sum l r) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Sum l r a -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3) => ExtractSym1 ((,,,) a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym1 f, ExtractSym1 g) => ExtractSym1 (Compose f g) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> Compose f g a -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4) => ExtractSym1 ((,,,,) a1 a2 a3 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5) => ExtractSym1 ((,,,,,) a1 a2 a3 a4 a5) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6) => ExtractSym1 ((,,,,,,) a1 a2 a3 a4 a5 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7) => ExtractSym1 ((,,,,,,,) a1 a2 a3 a4 a5 a6 a7) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8) => ExtractSym1 ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9) => ExtractSym1 ((,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10) => ExtractSym1 ((,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11) => ExtractSym1 ((,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12) => ExtractSym1 ((,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12, ExtractSym a13) => ExtractSym1 ((,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12, ExtractSym a13, ExtractSym a14) => ExtractSym1 ((,,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a) -> Maybe (SymbolSet knd) Source #

extractSymMaybe1 :: forall f a (knd :: SymbolKind). (ExtractSym1 f, ExtractSym a, IsSymbolKind knd) => f a -> Maybe (SymbolSet knd) Source #

Lift the standard extractSymMaybe to unary type constructors.

extractSym1 :: forall f a (knd :: SymbolKind). (ExtractSym1 f, ExtractSym a, IsSymbolKind knd) => f a -> SymbolSet knd Source #

Lift the standard extractSym to unary type constructors.

class (forall a. ExtractSym a => ExtractSym1 (f a)) => ExtractSym2 (f :: Type -> Type -> Type) where Source #

Lifting of ExtractSym to binary type constructors.

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> f a b -> Maybe (SymbolSet knd) Source #

Lifts the extractSymMaybe function to binary type constructors.

Instances

Instances details
ExtractSym2 Either Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> Either a b -> Maybe (SymbolSet knd) Source #

ExtractSym2 (,) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a, b) -> Maybe (SymbolSet knd) Source #

ExtractSym a => ExtractSym2 ((,,) a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a0 b. IsSymbolKind knd => (a0 -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a, a0, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2) => ExtractSym2 ((,,,) a1 a2) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3) => ExtractSym2 ((,,,,) a1 a2 a3) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4) => ExtractSym2 ((,,,,,) a1 a2 a3 a4) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5) => ExtractSym2 ((,,,,,,) a1 a2 a3 a4 a5) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6) => ExtractSym2 ((,,,,,,,) a1 a2 a3 a4 a5 a6) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7) => ExtractSym2 ((,,,,,,,,) a1 a2 a3 a4 a5 a6 a7) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8) => ExtractSym2 ((,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9) => ExtractSym2 ((,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10) => ExtractSym2 ((,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11) => ExtractSym2 ((,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12) => ExtractSym2 ((,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a, b) -> Maybe (SymbolSet knd) Source #

(ExtractSym a1, ExtractSym a2, ExtractSym a3, ExtractSym a4, ExtractSym a5, ExtractSym a6, ExtractSym a7, ExtractSym a8, ExtractSym a9, ExtractSym a10, ExtractSym a11, ExtractSym a12, ExtractSym a13) => ExtractSym2 ((,,,,,,,,,,,,,,) a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13) Source # 
Instance details

Defined in Grisette.Internal.Internal.Impl.Core.Data.Class.ExtractSym

Methods

liftExtractSymMaybe2 :: forall (knd :: SymbolKind) a b. IsSymbolKind knd => (a -> Maybe (SymbolSet knd)) -> (b -> Maybe (SymbolSet knd)) -> (a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a, b) -> Maybe (SymbolSet knd) Source #

extractSymMaybe2 :: forall f a b (knd :: SymbolKind). (ExtractSym2 f, ExtractSym a, ExtractSym b, IsSymbolKind knd) => f a b -> Maybe (SymbolSet knd) Source #

Lift the standard extractSymMaybe to binary type constructors.

extractSym2 :: forall f a b (knd :: SymbolKind). (ExtractSym2 f, ExtractSym a, ExtractSym b, IsSymbolKind knd) => f a b -> SymbolSet knd Source #

Lift the standard extractSym to binary type constructors.

Generic ExtractSym

data family ExtractSymArgs arity (knd :: SymbolKind) a Source #

The arguments to the generic extractSym function.

class GExtractSym arity (f :: Type -> Type) where Source #

The class of types that can generically extract the symbols.

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => ExtractSymArgs arity knd a -> f a -> Maybe (SymbolSet knd) Source #

Instances

Instances details
GExtractSym Arity1 Par1 Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => ExtractSymArgs Arity1 knd a -> Par1 a -> Maybe (SymbolSet knd) Source #

GExtractSym arity (U1 :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => ExtractSymArgs arity knd a -> U1 a -> Maybe (SymbolSet knd) Source #

GExtractSym arity (V1 :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => ExtractSymArgs arity knd a -> V1 a -> Maybe (SymbolSet knd) Source #

ExtractSym1 a => GExtractSym Arity1 (Rec1 a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => ExtractSymArgs Arity1 knd a0 -> Rec1 a a0 -> Maybe (SymbolSet knd) Source #

(GExtractSym arity a, GExtractSym arity b) => GExtractSym arity (a :*: b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => ExtractSymArgs arity knd a0 -> (a :*: b) a0 -> Maybe (SymbolSet knd) Source #

(GExtractSym arity a, GExtractSym arity b) => GExtractSym arity (a :+: b) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => ExtractSymArgs arity knd a0 -> (a :+: b) a0 -> Maybe (SymbolSet knd) Source #

ExtractSym a => GExtractSym arity (K1 i a :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => ExtractSymArgs arity knd a0 -> K1 i a a0 -> Maybe (SymbolSet knd) Source #

(ExtractSym1 f, GExtractSym Arity1 g) => GExtractSym Arity1 (f :.: g) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a. IsSymbolKind knd => ExtractSymArgs Arity1 knd a -> (f :.: g) a -> Maybe (SymbolSet knd) Source #

GExtractSym arity a => GExtractSym arity (M1 i c a) Source # 
Instance details

Defined in Grisette.Internal.Internal.Decl.Core.Data.Class.ExtractSym

Methods

gextractSymMaybe :: forall (knd :: SymbolKind) a0. IsSymbolKind knd => ExtractSymArgs arity knd a0 -> M1 i c a a0 -> Maybe (SymbolSet knd) Source #

genericExtractSymMaybe :: forall a (knd :: SymbolKind). (Generic a, GExtractSym Arity0 (Rep a), IsSymbolKind knd) => a -> Maybe (SymbolSet knd) Source #

Generic extractSym function.

genericLiftExtractSymMaybe :: forall f (knd :: SymbolKind) a. (Generic1 f, GExtractSym Arity1 (Rep1 f), IsSymbolKind knd) => (a -> Maybe (SymbolSet knd)) -> f a -> Maybe (SymbolSet knd) Source #

Generic liftExtractSymMaybe function.