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

Grisette.Internal.SymPrim.SymInteger

Description

 
Synopsis

Documentation

newtype SymInteger Source #

Symbolic (unbounded, mathematical) integer type.

>>> "a" + 1 :: SymInteger
(+ 1 a)

More operations are available. Please refer to Grisette.Core for more information.

Constructors

SymInteger (Term Integer) 

Instances

Instances details
Binary SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Serial SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Methods

serialize :: MonadPut m => SymInteger -> m () #

deserialize :: MonadGet m => m SymInteger #

Serialize SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

NFData SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Methods

rnf :: SymInteger -> () #

IsString SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Enum SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Generic SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Associated Types

type Rep SymInteger 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

type Rep SymInteger = D1 ('MetaData "SymInteger" "Grisette.Internal.SymPrim.SymInteger" "grisette-0.12.0.0-2G8wsM3ZzbCKYYnSn6PeBx" 'True) (C1 ('MetaCons "SymInteger" 'PrefixI 'True) (S1 ('MetaSel ('Just "underlyingIntegerTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term Integer))))
Num SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Integral SymInteger Source #

The functions are total and will not throw errors. The result is considered undefined if the divisor is 0.

It is the responsibility of the caller to ensure that the divisor is not zero with the symbolic constraints, or use the DivOr or SafeDiv classes.

Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Real SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Show SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Eq SymInteger Source #

This will crash the program.

SymInteger cannot be compared concretely.

If you want to use the type as keys in hash maps based on term equality, say memo table, you should use AsKey SymInteger instead.

If you want symbolic version of the equality operator, use SymEq instead.

Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Ord SymInteger Source #

Except for max and min, the other functions will crash the program.

SymInteger cannot be compared concretely.

If you want symbolic version of the comparison operators, use SymOrd instead.

Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

KeyEq SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

KeyHashable SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Apply SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Associated Types

type FunType SymInteger 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

ITEOp SymInteger Source # 
Instance details

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

EvalSym SymInteger Source # 
Instance details

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

ExtractSym SymInteger Source # 
Instance details

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

Mergeable SymInteger Source # 
Instance details

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

PPrint SymInteger Source # 
Instance details

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

DivOr SymInteger Source # 
Instance details

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

SimpleMergeable SymInteger Source # 
Instance details

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

SubstSym SymInteger Source # 
Instance details

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

Methods

substSym :: forall cb sb (knd :: SymbolKind). (LinkedRep cb sb, IsSymbolKind knd) => TypedSymbol knd cb -> sb -> SymInteger -> SymInteger Source #

SymEq SymInteger Source # 
Instance details

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

SymOrd SymInteger Source # 
Instance details

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

AllSyms SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

ConRep SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Associated Types

type ConType SymInteger 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

UnifiedConRep SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedRep

Associated Types

type ConType SymInteger 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedRep

UnifiedSymRep SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedRep

Associated Types

type SymType SymInteger 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedRep

GenSym SymInteger SymInteger Source # 
Instance details

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

GenSym () SymInteger Source # 
Instance details

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

Methods

fresh :: MonadFresh m => () -> m (Union SymInteger) Source #

GenSymSimple SymInteger SymInteger Source # 
Instance details

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

GenSymSimple () SymInteger Source # 
Instance details

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

Methods

simpleFresh :: MonadFresh m => () -> m SymInteger Source #

Solvable Integer SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

SymFromIntegral SymInteger SymAlgReal Source # 
Instance details

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

SymFromIntegral SymInteger SymInteger Source # 
Instance details

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

ToCon SymInteger SymInteger Source # 
Instance details

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

ToCon SymInteger Integer Source # 
Instance details

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

ToSym SymInteger SymInteger Source # 
Instance details

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

ToSym Integer SymInteger Source # 
Instance details

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

LinkedRep Integer SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Lift SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

Methods

lift :: Quote m => SymInteger -> m Exp #

liftTyped :: forall (m :: Type -> Type). Quote m => SymInteger -> Code m SymInteger #

(MonadError ArithException m, TryMerge m) => SafeLinearArith ArithException SymInteger m Source # 
Instance details

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

(MonadUnion m, MonadError ArithException m) => SafeDiv ArithException SymInteger m Source # 
Instance details

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

UnifiedFromIntegral 'S SymInteger SymAlgReal Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

UnifiedFromIntegral 'S SymInteger SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

UnifiedSolvable 'S SymInteger Integer Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedSolvable

(MonadError ArithException m, UnifiedBranching 'S m) => UnifiedSafeDiv 'S ArithException SymInteger m Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedSafeDiv

(MonadError ArithException m, UnifiedBranching 'S m) => UnifiedSafeLinearArith 'S ArithException SymInteger m Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedSafeLinearArith

(MonadError NotRepresentableFPError m, UnifiedBranching 'S m, ValidFP eb sb) => UnifiedSafeFromFP 'S NotRepresentableFPError SymInteger (SymFP eb sb) SymFPRoundingMode m Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedSafeFromFP

(KnownNat n, 1 <= n) => UnifiedFromIntegral 'S SymInteger (SymIntN n) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

(KnownNat n, 1 <= n) => UnifiedFromIntegral 'S SymInteger (SymWordN n) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

ValidFP eb sb => UnifiedFromIntegral 'S SymInteger (SymFP eb sb) Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

(MonadError NotRepresentableFPError m, MonadUnion m, ValidFP eb sb) => SafeFromFP NotRepresentableFPError SymInteger (SymFP eb sb) SymFPRoundingMode m Source # 
Instance details

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

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

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

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

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

(KnownNat n', 1 <= n') => UnifiedFromIntegral 'S (SymIntN n') SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

(KnownNat n', 1 <= n') => UnifiedFromIntegral 'S (SymWordN n') SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedFromIntegral

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

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

ValidFP eb sb => IEEEFPConvertible SymInteger (SymFP eb sb) SymFPRoundingMode Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymFP

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

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

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

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

ToSym (Union Integer) SymInteger Source # 
Instance details

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

type Rep SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

type Rep SymInteger = D1 ('MetaData "SymInteger" "Grisette.Internal.SymPrim.SymInteger" "grisette-0.12.0.0-2G8wsM3ZzbCKYYnSn6PeBx" 'True) (C1 ('MetaCons "SymInteger" 'PrefixI 'True) (S1 ('MetaSel ('Just "underlyingIntegerTerm") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Term Integer))))
type FunType SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

type ConType SymInteger Source # 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

type ConType SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedRep

type SymType SymInteger Source # 
Instance details

Defined in Grisette.Internal.Unified.Class.UnifiedRep

type SymIntegerKey = AsKey SymInteger Source #

SymInteger type with identity equality.

Orphan instances

SymRep Integer Source # 
Instance details

Associated Types

type SymType Integer 
Instance details

Defined in Grisette.Internal.SymPrim.SymInteger

LinkedRep Integer SymInteger Source # 
Instance details