grisette-0.9.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 HaskellTrustworthy
LanguageHaskell2010

Grisette.Internal.Core.Data.Class.ToSym

Description

 
Synopsis

Converting to symbolic values

class Mergeable b => ToSym a b where Source #

Convert a concrete value to symbolic value.

Methods

toSym :: a -> b Source #

Convert a concrete value to symbolic value.

>>> toSym False :: SymBool
false
>>> toSym [False, True] :: [SymBool]
[false,true]

Instances

Instances details
ToSym All All Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: All -> All Source #

ToSym Any Any Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Any -> Any Source #

ToSym Int16 Int16 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int16 -> Int16 Source #

ToSym Int32 Int32 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int32 -> Int32 Source #

ToSym Int64 Int64 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int64 -> Int64 Source #

ToSym Int8 Int8 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int8 -> Int8 Source #

ToSym Rational SymAlgReal Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym Word16 Word16 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word16 -> Word16 Source #

ToSym Word32 Word32 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word32 -> Word32 Source #

ToSym Word64 Word64 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word64 -> Word64 Source #

ToSym Word8 Word8 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word8 -> Word8 Source #

ToSym ByteString ByteString Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym Ordering Ordering Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym AssertionError AssertionError Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym VerificationConditions VerificationConditions Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym AlgReal SymAlgReal Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym FPRoundingMode FPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym FPRoundingMode SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym NotRepresentableFPError NotRepresentableFPError Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym SomeBVException SomeBVException Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SomeBV

ToSym SymAlgReal SymAlgReal Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym SymBool SymBool Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym SymFPRoundingMode SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym SymInteger SymInteger Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym Text Text Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Text -> Text Source #

ToSym Integer SymInteger Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym Integer Integer Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

ToSym () () Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: () -> () Source #

ToSym Bool SymBool Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Bool -> SymBool Source #

ToSym Bool Bool Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Bool -> Bool Source #

ToSym Char Char Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Char -> Char Source #

ToSym Double SymFP64 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Double -> SymFP64 Source #

ToSym Double Double Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Double -> Double Source #

ToSym Float SymFP32 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Float -> SymFP32 Source #

ToSym Float Float Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Float -> Float Source #

ToSym Int Int Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int -> Int Source #

ToSym Word Word Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word -> Word Source #

Mergeable a => ToSym a a Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: a -> a Source #

ToSym Int16 (SymIntN 16) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int16 -> SymIntN 16 Source #

ToSym Int32 (SymIntN 32) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int32 -> SymIntN 32 Source #

ToSym Int64 (SymIntN 64) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int64 -> SymIntN 64 Source #

ToSym Int8 (SymIntN 8) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int8 -> SymIntN 8 Source #

ToSym Word16 (SymWordN 16) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word16 -> SymWordN 16 Source #

ToSym Word32 (SymWordN 32) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word32 -> SymWordN 32 Source #

ToSym Word64 (SymWordN 64) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word64 -> SymWordN 64 Source #

ToSym Word8 (SymWordN 8) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word8 -> SymWordN 8 Source #

ToSym Int (SymIntN 64) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Int -> SymIntN 64 Source #

ToSym Word (SymWordN 64) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Word -> SymWordN 64 Source #

ToSym a b => ToSym a (Identity b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: a -> Identity b Source #

(Generic a, Generic b, GToSym Arity0 (Rep a) (Rep b), GMergeable Arity0 (Rep b)) => ToSym a (Default b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: a -> Default b Source #

(ToSym a b, Mergeable b) => ToSym a (Union b) Source # 
Instance details

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

Methods

toSym :: a -> Union b Source #

ToSym a b => ToSym (Identity a) b Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Identity a -> b Source #

ToSym (Union Integer) SymInteger Source # 
Instance details

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

ToSym (Union Bool) SymBool Source # 
Instance details

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

ToSym a b => ToSym (Identity a) (Identity b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Identity a -> Identity b Source #

ToSym a_1 a_2 => ToSym (First a_1) (First a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: First a_1 -> First a_2 Source #

ToSym a_1 a_2 => ToSym (Last a_1) (Last a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Last a_1 -> Last a_2 Source #

ToSym a_1 a_2 => ToSym (Down a_1) (Down a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Down a_1 -> Down a_2 Source #

ToSym a_1 a_2 => ToSym (Dual a_1) (Dual a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Dual a_1 -> Dual a_2 Source #

ToSym a_1 a_2 => ToSym (Product a_1) (Product a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Product a_1 -> Product a_2 Source #

ToSym a_1 a_2 => ToSym (Sum a_1) (Sum a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Sum a_1 -> Sum a_2 Source #

ToSym p0 p => ToSym (Par1 p0) (Par1 p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Par1 p0 -> Par1 p Source #

(Integral b, Typeable b, Show b, ToSym a b) => ToSym (Ratio a) (Ratio b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Ratio a -> Ratio b Source #

(KnownNat n, 1 <= n) => ToSym (Union (IntN n)) (SymIntN n) Source # 
Instance details

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

Methods

toSym :: Union (IntN n) -> SymIntN n Source #

(KnownNat n, 1 <= n) => ToSym (Union (WordN n)) (SymWordN n) Source # 
Instance details

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

Methods

toSym :: Union (WordN n) -> SymWordN n Source #

ToSym a b => ToSym (Union a) (Union b) Source # 
Instance details

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

Methods

toSym :: Union a -> Union b Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: IntN n -> IntN n Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: IntN n -> SymIntN n Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: WordN n -> WordN n Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: WordN n -> SymWordN n Source #

(forall (n :: Nat). (KnownNat n, 1 <= n) => ToSym (cbv n) (sbv n)) => ToSym (SomeBV cbv) (SomeBV sbv) Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SomeBV

Methods

toSym :: SomeBV cbv -> SomeBV sbv Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: SymIntN n -> SymIntN n Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: SymWordN n -> SymWordN n Source #

ToSym a_1 a_2 => ToSym (Maybe a_1) (Maybe a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Maybe a_1 -> Maybe a_2 Source #

ToSym a_1 a_2 => ToSym [a_1] [a_2] Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: [a_1] -> [a_2] Source #

(SupportedPrim (ca --> cb), SupportedNonFuncPrim ca, LinkedRep ca sa, LinkedRep cb sb) => ToSym (Union (ca --> cb)) (sa -~> sb) Source # 
Instance details

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

Methods

toSym :: Union (ca --> cb) -> sa -~> sb Source #

(SupportedPrim (ca =-> cb), SupportedNonFuncPrim ca, LinkedRep ca sa, LinkedRep cb sb) => ToSym (Union (ca =-> cb)) (sa =~> sb) Source # 
Instance details

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

Methods

toSym :: Union (ca =-> cb) -> sa =~> sb Source #

(Generic1 f1, Generic1 f2, GToSym Arity1 (Rep1 f1) (Rep1 f2), ToSym a b, GMergeable Arity1 (Rep1 f2)) => ToSym (f1 a) (Default1 f2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: f1 a -> Default1 f2 b Source #

(ToSym a_1 a_2, ToSym b_1 b_2) => ToSym (Either a_1 b_1) (Either a_2 b_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Either a_1 b_1 -> Either a_2 b_2 Source #

(ToSym e1 e2, ToSym a1 a2) => ToSym (Either e1 a1) (CBMCEither e2 a2) Source # 
Instance details

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

Methods

toSym :: Either e1 a1 -> CBMCEither e2 a2 Source #

ToSym (U1 p0) (U1 p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: U1 p0 -> U1 p Source #

ToSym (V1 p0) (V1 p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: V1 p0 -> V1 p Source #

(ToSym e1 e2, ToSym a1 a2) => ToSym (CBMCEither e1 a1) (Either e2 a2) Source # 
Instance details

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

Methods

toSym :: CBMCEither e1 a1 -> Either e2 a2 Source #

(ToSym e1 e2, ToSym a1 a2) => ToSym (CBMCEither e1 a1) (CBMCEither e2 a2) Source # 
Instance details

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

Methods

toSym :: CBMCEither e1 a1 -> CBMCEither e2 a2 Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: FP eb sb -> FP eb sb Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: FP eb sb -> SymFP eb sb Source #

ToSym (a --> b) (a --> b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a --> b) -> a --> b Source #

(SupportedPrim (ca --> cb), SupportedNonFuncPrim ca, LinkedRep ca sa, LinkedRep cb sb) => ToSym (ca --> cb) (sa -~> sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (ca --> cb) -> sa -~> sb Source #

ValidFP eb sb => ToSym (SymFP eb sb) (SymFP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: SymFP eb sb -> SymFP eb sb Source #

(SupportedPrim (ca --> cb), LinkedRep ca sa, LinkedRep cb sb) => ToSym (sa -~> sb) (sa -~> sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (sa -~> sb) -> sa -~> sb Source #

(SupportedPrim (ca =-> cb), LinkedRep ca sa, LinkedRep cb sb) => ToSym (sa =~> sb) (sa =~> sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (sa =~> sb) -> sa =~> sb Source #

ToSym (a =-> b) (a =-> b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a =-> b) -> a =-> b Source #

(SupportedPrim (ca =-> cb), SupportedNonFuncPrim ca, LinkedRep ca sa, LinkedRep cb sb) => ToSym (ca =-> cb) (sa =~> sb) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (ca =-> cb) -> sa =~> sb Source #

(ToSym1 m1 m2, ToSym a b) => ToSym (MaybeT m1 a) (MaybeT m2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: MaybeT m1 a -> MaybeT m2 b Source #

(ToSym a_1 a_2, ToSym b_1 b_2) => ToSym (a_1, b_1) (a_2, b_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1) -> (a_2, b_2) Source #

(ToSym b d, ToSym c a) => ToSym (a -> b) (c -> d) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a -> b) -> c -> d Source #

ToSym a0 a => ToSym (Const a0 b0) (Const a b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Const a0 b0 -> Const a b Source #

ToSym (f0 a0) (f a) => ToSym (Ap f0 a0) (Ap f a) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Ap f0 a0 -> Ap f a Source #

ToSym (f0 a0) (f a) => ToSym (Alt f0 a0) (Alt f a) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Alt f0 a0 -> Alt f a Source #

ToSym (f0 p0) (f p) => ToSym (Rec1 f0 p0) (Rec1 f p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Rec1 f0 p0 -> Rec1 f p Source #

(ToSym e1 e2, ToSym a b, ToSym1 m1 m2) => ToSym (CBMCExceptT e1 m1 a) (CBMCExceptT e2 m2 b) Source # 
Instance details

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

Methods

toSym :: CBMCExceptT e1 m1 a -> CBMCExceptT e2 m2 b Source #

(ToSym1 m1 m2, ToSym e1 e2, ToSym a b) => ToSym (ExceptT e1 m1 a) (ExceptT e2 m2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: ExceptT e1 m1 a -> ExceptT e2 m2 b Source #

(ToSym1 m m1, ToSym a b) => ToSym (IdentityT m a) (IdentityT m1 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: IdentityT m a -> IdentityT m1 b Source #

(ToSym s2 s1, ToSym1 m1 m2, ToSym a1 a2) => ToSym (ReaderT s1 m1 a1) (ReaderT s2 m2 a2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: ReaderT s1 m1 a1 -> ReaderT s2 m2 a2 Source #

(ToSym1 m1 m2, ToSym a1 a2, Mergeable s) => ToSym (StateT s m1 a1) (StateT s m2 a2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: StateT s m1 a1 -> StateT s m2 a2 Source #

(ToSym1 m1 m2, ToSym a1 a2, Mergeable s) => ToSym (StateT s m1 a1) (StateT s m2 a2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: StateT s m1 a1 -> StateT s m2 a2 Source #

(ToSym1 m1 m2, ToSym a b, ToSym s1 s2) => ToSym (WriterT s1 m1 a) (WriterT s2 m2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: WriterT s1 m1 a -> WriterT s2 m2 b Source #

(ToSym1 m1 m2, ToSym a b, ToSym s1 s2) => ToSym (WriterT s1 m1 a) (WriterT s2 m2 b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: WriterT s1 m1 a -> WriterT s2 m2 b Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2) => ToSym (a_1, b_1, c_1) (a_2, b_2, c_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1) -> (a_2, b_2, c_2) Source #

(ToSym (l0 a0) (l a), ToSym (r0 a0) (r a)) => ToSym (Product l0 r0 a0) (Product l r a) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Product l0 r0 a0 -> Product l r a Source #

(ToSym (l0 a0) (l a), ToSym (r0 a0) (r a)) => ToSym (Sum l0 r0 a0) (Sum l r a) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Sum l0 r0 a0 -> Sum l r a Source #

(ToSym (f0 p0) (f p), ToSym (g0 p0) (g p)) => ToSym ((f0 :*: g0) p0) ((f :*: g) p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (f0 :*: g0) p0 -> (f :*: g) p Source #

(ToSym (f0 p0) (f p), ToSym (g0 p0) (g p)) => ToSym ((f0 :+: g0) p0) ((f :+: g) p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (f0 :+: g0) p0 -> (f :+: g) p Source #

ToSym c0 c => ToSym (K1 i0 c0 p0) (K1 i c p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: K1 i0 c0 p0 -> K1 i c p Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2) => ToSym (a_1, b_1, c_1, d_1) (a_2, b_2, c_2, d_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1) -> (a_2, b_2, c_2, d_2) Source #

ToSym (f0 (g0 a0)) (f (g a)) => ToSym (Compose f0 g0 a0) (Compose f g a) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: Compose f0 g0 a0 -> Compose f g a Source #

ToSym (f0 (g0 p0)) (f (g p)) => ToSym ((f0 :.: g0) p0) ((f :.: g) p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (f0 :.: g0) p0 -> (f :.: g) p Source #

ToSym (f0 p0) (f p) => ToSym (M1 i0 c0 f0 p0) (M1 i c f p) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: M1 i0 c0 f0 p0 -> M1 i c f p Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2) => ToSym (a_1, b_1, c_1, d_1, e_1) (a_2, b_2, c_2, d_2, e_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1) -> (a_2, b_2, c_2, d_2, e_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1) (a_2, b_2, c_2, d_2, e_2, f_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1) -> (a_2, b_2, c_2, d_2, e_2, f_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2, ToSym m_1 m_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2, ToSym m_1 m_2, ToSym n_1 n_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, n_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, n_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2, ToSym m_1 m_2, ToSym n_1 n_2, ToSym o_1 o_2) => ToSym (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, n_1, o_1) (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2, o_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

toSym :: (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, n_1, o_1) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2, o_2) Source #

class (forall a b. ToSym a b => ToSym (f1 a) (f2 b), Mergeable1 f2) => ToSym1 f1 f2 where Source #

Lifting of ToSym to unary type constructors.

Methods

liftToSym :: Mergeable b => (a -> b) -> f1 a -> f2 b Source #

Lift a conversion to symbolic function to unary type constructors.

Instances

Instances details
ToSym1 Identity Identity Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Identity a -> Identity b Source #

ToSym1 First First Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> First a -> First b Source #

ToSym1 Last Last Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Last a -> Last b Source #

ToSym1 Down Down Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Down a -> Down b Source #

ToSym1 Dual Dual Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Dual a -> Dual b Source #

ToSym1 Product Product Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Product a -> Product b Source #

ToSym1 Sum Sum Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Sum a -> Sum b Source #

ToSym1 Union Union Source # 
Instance details

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

Methods

liftToSym :: Mergeable b => (a -> b) -> Union a -> Union b Source #

ToSym1 Maybe Maybe Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Maybe a -> Maybe b Source #

ToSym1 List List Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> [a] -> [b] Source #

(Generic1 f1, Generic1 f2, GToSym Arity1 (Rep1 f1) (Rep1 f2), GMergeable Arity1 (Rep1 f2)) => ToSym1 f1 (Default1 f2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> f1 a -> Default1 f2 b Source #

ToSym a_1 a_2 => ToSym1 (Either a_1) (Either a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Either a_1 a -> Either a_2 b Source #

ToSym1 m1 m2 => ToSym1 (MaybeT m1) (MaybeT m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> MaybeT m1 a -> MaybeT m2 b Source #

ToSym a_1 a_2 => ToSym1 ((,) a_1) ((,) a_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, a) -> (a_2, b) Source #

ToSym a0 a => ToSym1 (Const a0 :: Type -> Type) (Const a :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a1 -> b) -> Const a0 a1 -> Const a b Source #

ToSym1 f0 f => ToSym1 (Ap f0) (Ap f) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Ap f0 a -> Ap f b Source #

ToSym1 f0 f => ToSym1 (Alt f0) (Alt f) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Alt f0 a -> Alt f b Source #

(ToSym1 m1 m2, ToSym e1 e2) => ToSym1 (ExceptT e1 m1) (ExceptT e2 m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> ExceptT e1 m1 a -> ExceptT e2 m2 b Source #

ToSym1 m m1 => ToSym1 (IdentityT m) (IdentityT m1) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> IdentityT m a -> IdentityT m1 b Source #

(ToSym s2 s1, ToSym1 m1 m2, Mergeable1 m2) => ToSym1 (ReaderT s1 m1) (ReaderT s2 m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> ReaderT s1 m1 a -> ReaderT s2 m2 b Source #

(ToSym1 m1 m2, Mergeable s) => ToSym1 (StateT s m1) (StateT s m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> StateT s m1 a -> StateT s m2 b Source #

(ToSym1 m1 m2, Mergeable s) => ToSym1 (StateT s m1) (StateT s m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> StateT s m1 a -> StateT s m2 b Source #

(ToSym1 m1 m2, ToSym s1 s2) => ToSym1 (WriterT s1 m1) (WriterT s2 m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> WriterT s1 m1 a -> WriterT s2 m2 b Source #

(ToSym1 m1 m2, ToSym s1 s2) => ToSym1 (WriterT s1 m1) (WriterT s2 m2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> WriterT s1 m1 a -> WriterT s2 m2 b Source #

(ToSym a_1 a_2, ToSym b_1 b_2) => ToSym1 ((,,) a_1 b_1) ((,,) a_2 b_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, a) -> (a_2, b_2, b) Source #

(ToSym1 l0 l, ToSym1 r0 r) => ToSym1 (Product l0 r0) (Product l r) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Product l0 r0 a -> Product l r b Source #

(ToSym1 l0 l, ToSym1 r0 r) => ToSym1 (Sum l0 r0) (Sum l r) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Sum l0 r0 a -> Sum l r b Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2) => ToSym1 ((,,,) a_1 b_1 c_1) ((,,,) a_2 b_2 c_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, a) -> (a_2, b_2, c_2, b) Source #

ToSym c a => ToSym1 ((->) a) ((->) c) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a0 -> b) -> (a -> a0) -> c -> b Source #

(ToSym1 f0 f, ToSym1 g0 g) => ToSym1 (Compose f0 g0) (Compose f g) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> Compose f0 g0 a -> Compose f g b Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2) => ToSym1 ((,,,,) a_1 b_1 c_1 d_1) ((,,,,) a_2 b_2 c_2 d_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, a) -> (a_2, b_2, c_2, d_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2) => ToSym1 ((,,,,,) a_1 b_1 c_1 d_1 e_1) ((,,,,,) a_2 b_2 c_2 d_2 e_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, a) -> (a_2, b_2, c_2, d_2, e_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2) => ToSym1 ((,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1) ((,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2) => ToSym1 ((,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1) ((,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2) => ToSym1 ((,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1) ((,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2) => ToSym1 ((,,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1 i_1) ((,,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2 i_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2) => ToSym1 ((,,,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1 i_1 j_1) ((,,,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2 i_2 j_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2) => ToSym1 ((,,,,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1 i_1 j_1 k_1) ((,,,,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2 i_2 j_2 k_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2) => ToSym1 ((,,,,,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1 i_1 j_1 k_1 l_1) ((,,,,,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2 i_2 j_2 k_2 l_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2, ToSym m_1 m_2) => ToSym1 ((,,,,,,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1 i_1 j_1 k_1 l_1 m_1) ((,,,,,,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2 i_2 j_2 k_2 l_2 m_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, b) Source #

(ToSym a_1 a_2, ToSym b_1 b_2, ToSym c_1 c_2, ToSym d_1 d_2, ToSym e_1 e_2, ToSym f_1 f_2, ToSym g_1 g_2, ToSym h_1 h_2, ToSym i_1 i_2, ToSym j_1 j_2, ToSym k_1 k_2, ToSym l_1 l_2, ToSym m_1 m_2, ToSym n_1 n_2) => ToSym1 ((,,,,,,,,,,,,,,) a_1 b_1 c_1 d_1 e_1 f_1 g_1 h_1 i_1 j_1 k_1 l_1 m_1 n_1) ((,,,,,,,,,,,,,,) a_2 b_2 c_2 d_2 e_2 f_2 g_2 h_2 i_2 j_2 k_2 l_2 m_2 n_2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym :: Mergeable b => (a -> b) -> (a_1, b_1, c_1, d_1, e_1, f_1, g_1, h_1, i_1, j_1, k_1, l_1, m_1, n_1, a) -> (a_2, b_2, c_2, d_2, e_2, f_2, g_2, h_2, i_2, j_2, k_2, l_2, m_2, n_2, b) Source #

toSym1 :: (ToSym1 f1 f2, ToSym a b) => f1 a -> f2 b Source #

Lift the standard toSym to unary type constructors.

class (forall a b. ToSym a b => ToSym1 (f1 a) (f2 b), Mergeable2 f2) => ToSym2 f1 f2 where Source #

Lifting of ToSym to binary type constructors.

Methods

liftToSym2 :: (a -> b) -> (c -> d) -> f1 a c -> f2 b d Source #

Lift conversion to symbolic functions to binary type constructors.

Instances

Instances details
ToSym2 Either Either Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym2 :: (a -> b) -> (c -> d) -> Either a c -> Either b d Source #

ToSym2 (,) (,) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym2 :: (a -> b) -> (c -> d) -> (a, c) -> (b, d) Source #

ToSym a b => ToSym2 ((,,) a) ((,,) b) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym2 :: (a0 -> b0) -> (c -> d) -> (a, a0, c) -> (b, b0, d) Source #

(ToSym a c, ToSym b d) => ToSym2 ((,,,) a b) ((,,,) c d) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

liftToSym2 :: (a0 -> b0) -> (c0 -> d0) -> (a, b, a0, c0) -> (c, d, b0, d0) Source #

toSym2 :: (ToSym2 f1 f2, ToSym a b, ToSym c d) => f1 a c -> f2 b d Source #

Lift the standard toSym to binary type constructors.

Generic ToSym

data family ToSymArgs arity a b :: Type Source #

The arguments to the generic toSym function.

Instances

Instances details
data ToSymArgs Arity0 _ _1 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

data ToSymArgs Arity1 _ _1 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

data ToSymArgs Arity1 _ _1 where

class GToSym arity f1 f2 where Source #

The class of types that can be generically converted to symbolic values.

Methods

gtoSym :: ToSymArgs arity a b -> f1 a -> f2 b Source #

Instances

Instances details
GToSym Arity1 Par1 Par1 Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs Arity1 a b -> Par1 a -> Par1 b Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs arity a b -> U1 a -> U1 b Source #

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

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs arity a b -> V1 a -> V1 b Source #

ToSym1 f1 f2 => GToSym Arity1 (Rec1 f1) (Rec1 f2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs Arity1 a b -> Rec1 f1 a -> Rec1 f2 b Source #

(GToSym arity a b, GToSym arity c d) => GToSym arity (a :*: c) (b :*: d) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs arity a0 b0 -> (a :*: c) a0 -> (b :*: d) b0 Source #

(GToSym arity a b, GToSym arity c d) => GToSym arity (a :+: c) (b :+: d) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs arity a0 b0 -> (a :+: c) a0 -> (b :+: d) b0 Source #

ToSym a b => GToSym arity (K1 i a :: Type -> Type) (K1 i b :: Type -> Type) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs arity a0 b0 -> K1 i a a0 -> K1 i b b0 Source #

(ToSym1 f1 f2, GToSym Arity1 g1 g2, Mergeable1 g2) => GToSym Arity1 (f1 :.: g1) (f2 :.: g2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs Arity1 a b -> (f1 :.: g1) a -> (f2 :.: g2) b Source #

GToSym arity f1 f2 => GToSym arity (M1 i c1 f1) (M1 i c2 f2) Source # 
Instance details

Defined in Grisette.Internal.Core.Data.Class.ToSym

Methods

gtoSym :: ToSymArgs arity a b -> M1 i c1 f1 a -> M1 i c2 f2 b Source #

genericToSym :: (Generic a, Generic b, GToSym Arity0 (Rep a) (Rep b)) => a -> b Source #

Generic toSym function.

genericLiftToSym :: (Generic1 f1, Generic1 f2, GToSym Arity1 (Rep1 f1) (Rep1 f2), Mergeable b) => (a -> b) -> f1 a -> f2 b Source #

Generic liftToSym function.