{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DefaultSignatures #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -Wall -Werror #-}
module Data.SBV (
SBool
, sTrue, sFalse, sNot, (.&&), (.||), (.<+>), (.~&), (.~|), (.=>), (.<=>), fromBool, oneIf
, sAnd, sOr, sAny, sAll
, SWord8, SWord16, SWord32, SWord64, SWord, WordN
, SInt8, SInt16, SInt32, SInt64, SInt, IntN
, BVIsNonZero, FromSized, ToSized, fromSized, toSized
, SInteger
, ValidFloat, SFloat, SDouble
, SFloatingPoint, FloatingPoint
, SFPHalf, FPHalf
, SFPBFloat, FPBFloat
, SFPSingle, FPSingle
, SFPDouble, FPDouble
, SFPQuad, FPQuad
, fpFromInteger
, SRational
, SReal, AlgReal(..), sRealToSInteger, algRealToRational, RealPoint(..), realPoint, RationalCV(..)
, SChar, SString
, SList
, SymTuple, STuple, STuple2, STuple3, STuple4, STuple5, STuple6, STuple7, STuple8
, SMaybe, SEither
, RCSet(..), SSet
, SArray, sArray, sArray_, sArrays, readArray, writeArray, lambdaArray, listArray
, sBool, sBool_
, sWord8, sWord8_, sWord16, sWord16_, sWord32, sWord32_, sWord64, sWord64_, sWord, sWord_
, sInt8, sInt8_, sInt16, sInt16_, sInt32, sInt32_, sInt64, sInt64_, sInt, sInt_
, sInteger, sInteger_
, sReal, sReal_
, sRational, sRational_
, sFloat, sFloat_
, sDouble, sDouble_
, sFloatingPoint, sFloatingPoint_
, sFPHalf, sFPHalf_
, sFPBFloat, sFPBFloat_
, sFPSingle, sFPSingle_
, sFPDouble, sFPDouble_
, sFPQuad, sFPQuad_
, sChar, sChar_
, sString, sString_
, sList, sList_
, sTuple, sTuple_
, sEither, sEither_
, sMaybe, sMaybe_
, sSet, sSet_
, sBools
, sWord8s, sWord16s, sWord32s, sWord64s, sWords
, sInt8s, sInt16s, sInt32s, sInt64s, sInts
, sIntegers
, sReals
, sRationals
, sFloats
, sDoubles
, sFloatingPoints
, sFPHalfs
, sFPBFloats
, sFPSingles
, sFPDoubles
, sFPQuads
, sChars
, sStrings
, sLists
, sTuples
, sEithers
, sMaybes
, sSets
, EqSymbolic(..), OrdSymbolic(..), Equality(..)
, Mergeable(..), ite, iteLazy
, SIntegral
, SDivisible(..)
, sEDivMod, sEDiv, sEMod, sDivides
, sFromIntegral
, sShiftLeft, sShiftRight, sRotateLeft, sBarrelRotateLeft, sRotateRight, sBarrelRotateRight, sSignedShiftArithRight
, SFiniteBits(..)
, bvExtract, (#), zeroExtend, signExtend, bvDrop, bvTake, ByteConverter(..)
, (.^)
, IEEEFloating(..), RoundingMode(..), SRoundingMode, nan, infinity, sNaN, sInfinity
, sRoundNearestTiesToEven, sRoundNearestTiesToAway, sRoundTowardPositive, sRoundTowardNegative, sRoundTowardZero, sRNE, sRNA, sRTP, sRTN, sRTZ
, IEEEFloatConvertible(..)
, sFloatAsSWord32, sWord32AsSFloat
, sDoubleAsSWord64, sWord64AsSDouble
, sFloatingPointAsSWord, sWordAsSFloatingPoint
, blastSFloat
, blastSDouble
, blastSFloatingPoint
, crack
, mkSymbolicEnumeration
, mkUninterpretedSort
, SMTDefinable(..), registerType
, Relation, isPartialOrder, isLinearOrder, isTreeOrder, isPiecewiseLinearOrder, mkTransitiveClosure
, Predicate, ConstraintSet, Provable, Satisfiable
, prove, proveWith
, dprove, dproveWith
, sat, satWith
, dsat, dsatWith
, allSat, allSatWith
, isVacuousProof, isVacuousProofWith
, isTheorem, isTheoremWith, isSatisfiable, isSatisfiableWith
, proveWithAny, proveWithAll, proveConcurrentWithAny, proveConcurrentWithAll
, satWithAny, satWithAll, satConcurrentWithAny, satConcurrentWithAll
, generateSMTBenchmarkSat, generateSMTBenchmarkProof
, solve
, allSatPartition
, constrain, softConstrain
, QuantifiedBool, quantifiedBool, Forall(..), Exists(..), ExistsUnique(..), ForallN(..), ExistsN(..), QNot(..), Skolemize(..)
, namedConstraint, constrainWithAttribute
, pbAtMost, pbAtLeast, pbExactly, pbLe, pbGe, pbEq, pbMutexed, pbStronglyMutexed
, sAssert, isSafe, SExecutable, sName, safe, safeWith
, sbvQuickCheck
, optimize, optimizeWith
, optLexicographic, optLexicographicWith
, optPareto, optParetoWith
, optIndependent, optIndependentWith
, OptimizeStyle(..)
, Objective(..)
, Metric(..), minimize, maximize
, assertWithPenalty , Penalty(..)
, ExtCV(..), GeneralizedCV(..)
, ThmResult(..), SatResult(..), AllSatResult(..), SafeResult(..), OptimizeResult(..), SMTResult(..), SMTReasonUnknown(..)
, observe, observeIf, sObserve
, Modelable(..), displayModels, extractModels
, getModelDictionaries, getModelValues, getModelUninterpretedValues
, SMTConfig(..), KDOptions(..), Timing(..), SMTLibVersion(..), Solver(..), SMTSolver(..)
, boolector, bitwuzla, cvc4, cvc5, yices, dReal, z3, mathSAT, abc, openSMT
, defaultSolverConfig, defaultSMTCfg, defaultDeltaSMTCfg, sbvCheckSolverInstallation, getAvailableSolvers
, setLogic, Logic(..), setOption, setInfo, setTimeOut
, SBVException(..)
, SBV, HasKind(..), Kind(..)
, SymVal, free, free_, mkFreeVars, symbolic, symbolics, literal, unliteral, fromCV
, isConcrete, isSymbolic, isConcretely, mkSymVal
, MonadSymbolic(..), Symbolic, SymbolicT, label, output, runSMT, runSMTWith
, some
, Queriable(..), freshVar, freshVar_
, module Data.Bits
, module Data.Word
, module Data.Int
, module Data.Ratio
) where
import Control.Monad (unless)
import Control.Monad.Trans (MonadIO)
import Data.SBV.Core.AlgReals
import Data.SBV.Core.Data hiding (free, free_, mkFreeVars,
output, symbolic, symbolics, mkSymVal,
bvExtract, bvDrop, bvTake, (#))
import Data.SBV.Core.Model hiding (assertWithPenalty, minimize, maximize,
solve, sBool, sBool_, sBools, sChar, sChar_, sChars,
sDouble, sDouble_, sDoubles, sFloat, sFloat_, sFloats,
sFloatingPoint, sFloatingPoint_, sFloatingPoints,
sFPHalf, sFPHalf_, sFPHalfs, sFPBFloat, sFPBFloat_, sFPBFloats, sFPSingle, sFPSingle_, sFPSingles,
sFPDouble, sFPDouble_, sFPDoubles, sFPQuad, sFPQuad_, sFPQuads,
sInt8, sInt8_, sInt8s, sInt16, sInt16_, sInt16s, sInt32, sInt32_, sInt32s,
sInt64, sInt64_, sInt64s, sInteger, sInteger_, sIntegers,
sWord, sWords, sWord_, sInt, sInts, sInt_,
sList, sList_, sLists, sTuple, sTuple_, sTuples,
sReal, sReal_, sReals, sString, sString_, sStrings,
sRational, sRational_, sRationals,
sWord8, sWord8_, sWord8s, sWord16, sWord16_, sWord16s,
sWord32, sWord32_, sWord32s, sWord64, sWord64_, sWord64s,
sMaybe, sMaybe_, sMaybes, sEither, sEither_, sEithers, sSet, sSet_, sSets,
sArray, sArray_, sArrays,
sBarrelRotateLeft, sBarrelRotateRight, zeroExtend, signExtend, sObserve)
import qualified Data.SBV.Core.Model as M (sBarrelRotateLeft, sBarrelRotateRight, zeroExtend, signExtend)
import qualified Data.SBV.Core.Data as CD (bvExtract, (#), bvDrop, bvTake)
import Data.SBV.Core.Kind
import Data.SBV.Core.SizedFloats
import Data.SBV.Core.Floating
import Data.SBV.Core.Symbolic ( MonadSymbolic(..), SymbolicT, registerKind
, ProgInfo(..), rProgInfo, SpecialRelOp(..), UICodeKind(UINone)
, getRootState, UIName(UIGiven)
)
import Data.SBV.Provers.Prover hiding (prove, proveWith, sat, satWith, allSat,
dsat, dsatWith, dprove, dproveWith,
allSatWith, optimize, optimizeWith,
isVacuousProof, isVacuousProofWith,
isTheorem, isTheoremWith, isSatisfiable,
isSatisfiableWith, runSMT, runSMTWith,
sName, safe, safeWith)
import Data.IORef (modifyIORef', readIORef)
import Data.SBV.Client
import Data.SBV.Client.BaseIO
import Data.SBV.Utils.TDiff (Timing(..))
import Data.Bits
import Data.Int
import Data.Ratio
import Data.Word
import Data.SBV.SMT.Utils (SBVException(..))
import Data.SBV.Control.Types (SMTReasonUnknown(..), Logic(..))
import Data.SBV.Control.Utils (getValue, freshVar, freshVar_)
import qualified Data.SBV.Utils.CrackNum as CN
import Data.Proxy (Proxy(..))
import Data.Kind (Type)
import GHC.TypeLits (KnownNat, type (<=), type (+), type (-))
import Prelude hiding((+), (-))
import Data.Char (isSpace, isPunctuation)
crack :: Bool -> SBV a -> String
crack :: forall a. Bool -> SBV a -> String
crack Bool
verb (SBV (SVal Kind
_ (Left CV
cv))) | Just String
s <- CV -> Bool -> Maybe Integer -> Maybe String
forall a. CrackNum a => a -> Bool -> Maybe Integer -> Maybe String
CN.crackNum CV
cv Bool
verb Maybe Integer
forall a. Maybe a
Nothing = String
s
crack Bool
_ (SBV SVal
sv) = SVal -> String
forall a. Show a => a -> String
show SVal
sv
sBarrelRotateLeft :: (SFiniteBits a, SFiniteBits b) => SBV a -> SBV b -> SBV a
sBarrelRotateLeft :: forall a b.
(SFiniteBits a, SFiniteBits b) =>
SBV a -> SBV b -> SBV a
sBarrelRotateLeft = SBV a -> SBV b -> SBV a
forall a b.
(SFiniteBits a, SFiniteBits b) =>
SBV a -> SBV b -> SBV a
M.sBarrelRotateLeft
sBarrelRotateRight :: (SFiniteBits a, SFiniteBits b) => SBV a -> SBV b -> SBV a
sBarrelRotateRight :: forall a b.
(SFiniteBits a, SFiniteBits b) =>
SBV a -> SBV b -> SBV a
sBarrelRotateRight = SBV a -> SBV b -> SBV a
forall a b.
(SFiniteBits a, SFiniteBits b) =>
SBV a -> SBV b -> SBV a
M.sBarrelRotateRight
bvExtract :: forall i j n bv proxy. ( KnownNat n, BVIsNonZero n, SymVal (bv n)
, KnownNat i
, KnownNat j
, i + 1 <= n
, j <= i
, BVIsNonZero (i - j + 1)
) => proxy i
-> proxy j
-> SBV (bv n)
-> SBV (bv (i - j + 1))
= proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
CD.bvExtract
(#) :: ( KnownNat n, BVIsNonZero n, SymVal (bv n)
, KnownNat m, BVIsNonZero m, SymVal (bv m)
) => SBV (bv n)
-> SBV (bv m)
-> SBV (bv (n + m))
# :: forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
(#) = SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
(CD.#)
infixr 5 #
zeroExtend :: forall n m bv. ( KnownNat n, BVIsNonZero n, SymVal (bv n)
, KnownNat m, BVIsNonZero m, SymVal (bv m)
, n + 1 <= m
, SIntegral (bv (m - n))
, BVIsNonZero (m - n)
) => SBV (bv n)
-> SBV (bv m)
zeroExtend :: forall (n :: Nat) (m :: Nat) (bv :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m), (n + 1) <= m, SIntegral (bv (m - n)),
BVIsNonZero (m - n)) =>
SBV (bv n) -> SBV (bv m)
zeroExtend = SBV (bv n) -> SBV (bv m)
forall (n :: Nat) (m :: Nat) (bv :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m), (n + 1) <= m, SIntegral (bv (m - n)),
BVIsNonZero (m - n)) =>
SBV (bv n) -> SBV (bv m)
M.zeroExtend
signExtend :: forall n m bv. ( KnownNat n, BVIsNonZero n, SymVal (bv n)
, KnownNat m, BVIsNonZero m, SymVal (bv m)
, n + 1 <= m
, SFiniteBits (bv n)
, SIntegral (bv (m - n))
, BVIsNonZero (m - n)
) => SBV (bv n)
-> SBV (bv m)
signExtend :: forall (n :: Nat) (m :: Nat) (bv :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m), (n + 1) <= m, SFiniteBits (bv n),
SIntegral (bv (m - n)), BVIsNonZero (m - n)) =>
SBV (bv n) -> SBV (bv m)
signExtend = SBV (bv n) -> SBV (bv m)
forall (n :: Nat) (m :: Nat) (bv :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m), (n + 1) <= m, SFiniteBits (bv n),
SIntegral (bv (m - n)), BVIsNonZero (m - n)) =>
SBV (bv n) -> SBV (bv m)
M.signExtend
bvDrop :: forall i n m bv proxy. ( KnownNat n, BVIsNonZero n
, KnownNat i
, i + 1 <= n
, i + m - n <= 0
, BVIsNonZero (n - i)
) => proxy i
-> SBV (bv n)
-> SBV (bv m)
bvDrop :: forall (i :: Nat) (n :: Nat) (m :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, KnownNat i, (i + 1) <= n,
((i + m) - n) <= 0, BVIsNonZero (n - i)) =>
proxy i -> SBV (bv n) -> SBV (bv m)
bvDrop = proxy i -> SBV (bv n) -> SBV (bv m)
forall (i :: Nat) (n :: Nat) (m :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, KnownNat i, (i + 1) <= n,
((i + m) - n) <= 0, BVIsNonZero (n - i)) =>
proxy i -> SBV (bv n) -> SBV (bv m)
CD.bvDrop
bvTake :: forall i n bv proxy. ( KnownNat n, BVIsNonZero n
, KnownNat i, BVIsNonZero i
, i <= n
) => proxy i
-> SBV (bv n)
-> SBV (bv i)
bvTake :: forall (i :: Nat) (n :: Nat) (bv :: Nat -> *) (proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, KnownNat i, BVIsNonZero i, i <= n) =>
proxy i -> SBV (bv n) -> SBV (bv i)
bvTake = proxy i -> SBV (bv n) -> SBV (bv i)
forall (i :: Nat) (n :: Nat) (bv :: Nat -> *) (proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, KnownNat i, BVIsNonZero i, i <= n) =>
proxy i -> SBV (bv n) -> SBV (bv i)
CD.bvTake
class ByteConverter a where
toBytes :: a -> [SWord 8]
fromBytes :: [SWord 8] -> a
instance ByteConverter (SWord 8) where
toBytes :: SWord 8 -> [SWord 8]
toBytes SWord 8
a = [SWord 8
a]
fromBytes :: [SWord 8] -> SWord 8
fromBytes [SWord 8
x] = SWord 8
x
fromBytes [SWord 8]
as = String -> SWord 8
forall a. HasCallStack => String -> a
error (String -> SWord 8) -> String -> SWord 8
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 8: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show ([SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as)
instance ByteConverter (SWord 16) where
toBytes :: SWord 16 -> [SWord 8]
toBytes SWord 16
a = [ Proxy 15 -> Proxy 8 -> SWord 16 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 16
a
, Proxy 7 -> Proxy 0 -> SWord 16 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 16
a
]
fromBytes :: [SWord 8] -> SWord 16
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
2
= ([SWord 8] -> SWord 8
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 8) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
1 [SWord 8]
as) SWord 8 -> SWord 8 -> SBV (WordN (8 + 8))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 8
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
1 [SWord 8]
as)
| Bool
True
= String -> SWord 16
forall a. HasCallStack => String -> a
error (String -> SWord 16) -> String -> SWord 16
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 16: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
instance ByteConverter (SWord 32) where
toBytes :: SWord 32 -> [SWord 8]
toBytes SWord 32
a = [ Proxy 31 -> Proxy 24 -> SWord 32 -> SBV (WordN ((31 - 24) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @31) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @24) SWord 32
a, Proxy 23 -> Proxy 16 -> SWord 32 -> SBV (WordN ((23 - 16) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @23) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @16) SWord 32
a, Proxy 15 -> Proxy 8 -> SWord 32 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 32
a, Proxy 7 -> Proxy 0 -> SWord 32 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 32
a
]
fromBytes :: [SWord 8] -> SWord 32
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
4
= ([SWord 8] -> SWord 16
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 16) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
2 [SWord 8]
as) SWord 16 -> SWord 16 -> SBV (WordN (16 + 16))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 16
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
2 [SWord 8]
as)
| Bool
True
= String -> SWord 32
forall a. HasCallStack => String -> a
error (String -> SWord 32) -> String -> SWord 32
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 32: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
instance ByteConverter (SWord 64) where
toBytes :: SWord 64 -> [SWord 8]
toBytes SWord 64
a = [ Proxy 63 -> Proxy 56 -> SWord 64 -> SBV (WordN ((63 - 56) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @63) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @56) SWord 64
a, Proxy 55 -> Proxy 48 -> SWord 64 -> SBV (WordN ((55 - 48) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @55) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @48) SWord 64
a, Proxy 47 -> Proxy 40 -> SWord 64 -> SBV (WordN ((47 - 40) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @47) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @40) SWord 64
a, Proxy 39 -> Proxy 32 -> SWord 64 -> SBV (WordN ((39 - 32) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @39) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @32) SWord 64
a
, Proxy 31 -> Proxy 24 -> SWord 64 -> SBV (WordN ((31 - 24) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @31) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @24) SWord 64
a, Proxy 23 -> Proxy 16 -> SWord 64 -> SBV (WordN ((23 - 16) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @23) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @16) SWord 64
a, Proxy 15 -> Proxy 8 -> SWord 64 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 64
a, Proxy 7 -> Proxy 0 -> SWord 64 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 64
a
]
fromBytes :: [SWord 8] -> SWord 64
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
8
= ([SWord 8] -> SWord 32
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 32) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
4 [SWord 8]
as) SWord 32 -> SWord 32 -> SBV (WordN (32 + 32))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 32
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
4 [SWord 8]
as)
| Bool
True
= String -> SWord 64
forall a. HasCallStack => String -> a
error (String -> SWord 64) -> String -> SWord 64
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 64: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
instance ByteConverter (SWord 128) where
toBytes :: SWord 128 -> [SWord 8]
toBytes SWord 128
a = [ Proxy 127
-> Proxy 120 -> SWord 128 -> SBV (WordN ((127 - 120) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @127) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @120) SWord 128
a, Proxy 119
-> Proxy 112 -> SWord 128 -> SBV (WordN ((119 - 112) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @119) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @112) SWord 128
a, Proxy 111
-> Proxy 104 -> SWord 128 -> SBV (WordN ((111 - 104) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @111) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @104) SWord 128
a, Proxy 103 -> Proxy 96 -> SWord 128 -> SBV (WordN ((103 - 96) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @103) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @96) SWord 128
a
, Proxy 95 -> Proxy 88 -> SWord 128 -> SBV (WordN ((95 - 88) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @95) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @88) SWord 128
a, Proxy 87 -> Proxy 80 -> SWord 128 -> SBV (WordN ((87 - 80) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @87) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @80) SWord 128
a, Proxy 79 -> Proxy 72 -> SWord 128 -> SBV (WordN ((79 - 72) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @79) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @72) SWord 128
a, Proxy 71 -> Proxy 64 -> SWord 128 -> SBV (WordN ((71 - 64) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @71) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @64) SWord 128
a
, Proxy 63 -> Proxy 56 -> SWord 128 -> SBV (WordN ((63 - 56) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @63) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @56) SWord 128
a, Proxy 55 -> Proxy 48 -> SWord 128 -> SBV (WordN ((55 - 48) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @55) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @48) SWord 128
a, Proxy 47 -> Proxy 40 -> SWord 128 -> SBV (WordN ((47 - 40) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @47) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @40) SWord 128
a, Proxy 39 -> Proxy 32 -> SWord 128 -> SBV (WordN ((39 - 32) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @39) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @32) SWord 128
a
, Proxy 31 -> Proxy 24 -> SWord 128 -> SBV (WordN ((31 - 24) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @31) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @24) SWord 128
a, Proxy 23 -> Proxy 16 -> SWord 128 -> SBV (WordN ((23 - 16) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @23) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @16) SWord 128
a, Proxy 15 -> Proxy 8 -> SWord 128 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 128
a, Proxy 7 -> Proxy 0 -> SWord 128 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 128
a
]
fromBytes :: [SWord 8] -> SWord 128
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
16
= ([SWord 8] -> SWord 64
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 64) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
8 [SWord 8]
as) SWord 64 -> SWord 64 -> SBV (WordN (64 + 64))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 64
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
8 [SWord 8]
as)
| Bool
True
= String -> SWord 128
forall a. HasCallStack => String -> a
error (String -> SWord 128) -> String -> SWord 128
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 128: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
instance ByteConverter (SWord 256) where
toBytes :: SWord 256 -> [SWord 8]
toBytes SWord 256
a = [ Proxy 255
-> Proxy 248 -> SWord 256 -> SBV (WordN ((255 - 248) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @255) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @248) SWord 256
a, Proxy 247
-> Proxy 240 -> SWord 256 -> SBV (WordN ((247 - 240) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @247) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @240) SWord 256
a, Proxy 239
-> Proxy 232 -> SWord 256 -> SBV (WordN ((239 - 232) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @239) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @232) SWord 256
a, Proxy 231
-> Proxy 224 -> SWord 256 -> SBV (WordN ((231 - 224) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @231) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @224) SWord 256
a
, Proxy 223
-> Proxy 216 -> SWord 256 -> SBV (WordN ((223 - 216) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @223) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @216) SWord 256
a, Proxy 215
-> Proxy 208 -> SWord 256 -> SBV (WordN ((215 - 208) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @215) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @208) SWord 256
a, Proxy 207
-> Proxy 200 -> SWord 256 -> SBV (WordN ((207 - 200) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @207) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @200) SWord 256
a, Proxy 199
-> Proxy 192 -> SWord 256 -> SBV (WordN ((199 - 192) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @199) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @192) SWord 256
a
, Proxy 191
-> Proxy 184 -> SWord 256 -> SBV (WordN ((191 - 184) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @191) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @184) SWord 256
a, Proxy 183
-> Proxy 176 -> SWord 256 -> SBV (WordN ((183 - 176) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @183) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @176) SWord 256
a, Proxy 175
-> Proxy 168 -> SWord 256 -> SBV (WordN ((175 - 168) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @175) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @168) SWord 256
a, Proxy 167
-> Proxy 160 -> SWord 256 -> SBV (WordN ((167 - 160) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @167) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @160) SWord 256
a
, Proxy 159
-> Proxy 152 -> SWord 256 -> SBV (WordN ((159 - 152) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @159) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @152) SWord 256
a, Proxy 151
-> Proxy 144 -> SWord 256 -> SBV (WordN ((151 - 144) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @151) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @144) SWord 256
a, Proxy 143
-> Proxy 136 -> SWord 256 -> SBV (WordN ((143 - 136) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @143) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @136) SWord 256
a, Proxy 135
-> Proxy 128 -> SWord 256 -> SBV (WordN ((135 - 128) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @135) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @128) SWord 256
a
, Proxy 127
-> Proxy 120 -> SWord 256 -> SBV (WordN ((127 - 120) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @127) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @120) SWord 256
a, Proxy 119
-> Proxy 112 -> SWord 256 -> SBV (WordN ((119 - 112) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @119) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @112) SWord 256
a, Proxy 111
-> Proxy 104 -> SWord 256 -> SBV (WordN ((111 - 104) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @111) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @104) SWord 256
a, Proxy 103 -> Proxy 96 -> SWord 256 -> SBV (WordN ((103 - 96) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @103) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @96) SWord 256
a
, Proxy 95 -> Proxy 88 -> SWord 256 -> SBV (WordN ((95 - 88) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @95) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @88) SWord 256
a, Proxy 87 -> Proxy 80 -> SWord 256 -> SBV (WordN ((87 - 80) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @87) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @80) SWord 256
a, Proxy 79 -> Proxy 72 -> SWord 256 -> SBV (WordN ((79 - 72) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @79) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @72) SWord 256
a, Proxy 71 -> Proxy 64 -> SWord 256 -> SBV (WordN ((71 - 64) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @71) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @64) SWord 256
a
, Proxy 63 -> Proxy 56 -> SWord 256 -> SBV (WordN ((63 - 56) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @63) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @56) SWord 256
a, Proxy 55 -> Proxy 48 -> SWord 256 -> SBV (WordN ((55 - 48) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @55) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @48) SWord 256
a, Proxy 47 -> Proxy 40 -> SWord 256 -> SBV (WordN ((47 - 40) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @47) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @40) SWord 256
a, Proxy 39 -> Proxy 32 -> SWord 256 -> SBV (WordN ((39 - 32) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @39) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @32) SWord 256
a
, Proxy 31 -> Proxy 24 -> SWord 256 -> SBV (WordN ((31 - 24) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @31) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @24) SWord 256
a, Proxy 23 -> Proxy 16 -> SWord 256 -> SBV (WordN ((23 - 16) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @23) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @16) SWord 256
a, Proxy 15 -> Proxy 8 -> SWord 256 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 256
a, Proxy 7 -> Proxy 0 -> SWord 256 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 256
a
]
fromBytes :: [SWord 8] -> SWord 256
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
32
= ([SWord 8] -> SWord 128
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 128) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
16 [SWord 8]
as) SWord 128 -> SWord 128 -> SBV (WordN (128 + 128))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 128
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
16 [SWord 8]
as)
| Bool
True
= String -> SWord 256
forall a. HasCallStack => String -> a
error (String -> SWord 256) -> String -> SWord 256
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 256: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
instance ByteConverter (SWord 512) where
toBytes :: SWord 512 -> [SWord 8]
toBytes SWord 512
a = [ Proxy 511
-> Proxy 504 -> SWord 512 -> SBV (WordN ((511 - 504) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @511) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @504) SWord 512
a, Proxy 503
-> Proxy 496 -> SWord 512 -> SBV (WordN ((503 - 496) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @503) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @496) SWord 512
a, Proxy 495
-> Proxy 488 -> SWord 512 -> SBV (WordN ((495 - 488) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @495) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @488) SWord 512
a, Proxy 487
-> Proxy 480 -> SWord 512 -> SBV (WordN ((487 - 480) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @487) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @480) SWord 512
a
, Proxy 479
-> Proxy 472 -> SWord 512 -> SBV (WordN ((479 - 472) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @479) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @472) SWord 512
a, Proxy 471
-> Proxy 464 -> SWord 512 -> SBV (WordN ((471 - 464) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @471) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @464) SWord 512
a, Proxy 463
-> Proxy 456 -> SWord 512 -> SBV (WordN ((463 - 456) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @463) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @456) SWord 512
a, Proxy 455
-> Proxy 448 -> SWord 512 -> SBV (WordN ((455 - 448) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @455) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @448) SWord 512
a
, Proxy 447
-> Proxy 440 -> SWord 512 -> SBV (WordN ((447 - 440) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @447) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @440) SWord 512
a, Proxy 439
-> Proxy 432 -> SWord 512 -> SBV (WordN ((439 - 432) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @439) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @432) SWord 512
a, Proxy 431
-> Proxy 424 -> SWord 512 -> SBV (WordN ((431 - 424) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @431) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @424) SWord 512
a, Proxy 423
-> Proxy 416 -> SWord 512 -> SBV (WordN ((423 - 416) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @423) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @416) SWord 512
a
, Proxy 415
-> Proxy 408 -> SWord 512 -> SBV (WordN ((415 - 408) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @415) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @408) SWord 512
a, Proxy 407
-> Proxy 400 -> SWord 512 -> SBV (WordN ((407 - 400) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @407) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @400) SWord 512
a, Proxy 399
-> Proxy 392 -> SWord 512 -> SBV (WordN ((399 - 392) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @399) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @392) SWord 512
a, Proxy 391
-> Proxy 384 -> SWord 512 -> SBV (WordN ((391 - 384) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @391) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @384) SWord 512
a
, Proxy 383
-> Proxy 376 -> SWord 512 -> SBV (WordN ((383 - 376) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @383) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @376) SWord 512
a, Proxy 375
-> Proxy 368 -> SWord 512 -> SBV (WordN ((375 - 368) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @375) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @368) SWord 512
a, Proxy 367
-> Proxy 360 -> SWord 512 -> SBV (WordN ((367 - 360) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @367) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @360) SWord 512
a, Proxy 359
-> Proxy 352 -> SWord 512 -> SBV (WordN ((359 - 352) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @359) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @352) SWord 512
a
, Proxy 351
-> Proxy 344 -> SWord 512 -> SBV (WordN ((351 - 344) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @351) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @344) SWord 512
a, Proxy 343
-> Proxy 336 -> SWord 512 -> SBV (WordN ((343 - 336) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @343) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @336) SWord 512
a, Proxy 335
-> Proxy 328 -> SWord 512 -> SBV (WordN ((335 - 328) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @335) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @328) SWord 512
a, Proxy 327
-> Proxy 320 -> SWord 512 -> SBV (WordN ((327 - 320) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @327) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @320) SWord 512
a
, Proxy 319
-> Proxy 312 -> SWord 512 -> SBV (WordN ((319 - 312) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @319) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @312) SWord 512
a, Proxy 311
-> Proxy 304 -> SWord 512 -> SBV (WordN ((311 - 304) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @311) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @304) SWord 512
a, Proxy 303
-> Proxy 296 -> SWord 512 -> SBV (WordN ((303 - 296) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @303) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @296) SWord 512
a, Proxy 295
-> Proxy 288 -> SWord 512 -> SBV (WordN ((295 - 288) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @295) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @288) SWord 512
a
, Proxy 287
-> Proxy 280 -> SWord 512 -> SBV (WordN ((287 - 280) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @287) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @280) SWord 512
a, Proxy 279
-> Proxy 272 -> SWord 512 -> SBV (WordN ((279 - 272) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @279) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @272) SWord 512
a, Proxy 271
-> Proxy 264 -> SWord 512 -> SBV (WordN ((271 - 264) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @271) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @264) SWord 512
a, Proxy 263
-> Proxy 256 -> SWord 512 -> SBV (WordN ((263 - 256) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @263) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @256) SWord 512
a
, Proxy 255
-> Proxy 248 -> SWord 512 -> SBV (WordN ((255 - 248) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @255) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @248) SWord 512
a, Proxy 247
-> Proxy 240 -> SWord 512 -> SBV (WordN ((247 - 240) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @247) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @240) SWord 512
a, Proxy 239
-> Proxy 232 -> SWord 512 -> SBV (WordN ((239 - 232) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @239) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @232) SWord 512
a, Proxy 231
-> Proxy 224 -> SWord 512 -> SBV (WordN ((231 - 224) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @231) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @224) SWord 512
a
, Proxy 223
-> Proxy 216 -> SWord 512 -> SBV (WordN ((223 - 216) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @223) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @216) SWord 512
a, Proxy 215
-> Proxy 208 -> SWord 512 -> SBV (WordN ((215 - 208) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @215) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @208) SWord 512
a, Proxy 207
-> Proxy 200 -> SWord 512 -> SBV (WordN ((207 - 200) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @207) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @200) SWord 512
a, Proxy 199
-> Proxy 192 -> SWord 512 -> SBV (WordN ((199 - 192) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @199) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @192) SWord 512
a
, Proxy 191
-> Proxy 184 -> SWord 512 -> SBV (WordN ((191 - 184) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @191) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @184) SWord 512
a, Proxy 183
-> Proxy 176 -> SWord 512 -> SBV (WordN ((183 - 176) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @183) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @176) SWord 512
a, Proxy 175
-> Proxy 168 -> SWord 512 -> SBV (WordN ((175 - 168) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @175) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @168) SWord 512
a, Proxy 167
-> Proxy 160 -> SWord 512 -> SBV (WordN ((167 - 160) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @167) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @160) SWord 512
a
, Proxy 159
-> Proxy 152 -> SWord 512 -> SBV (WordN ((159 - 152) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @159) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @152) SWord 512
a, Proxy 151
-> Proxy 144 -> SWord 512 -> SBV (WordN ((151 - 144) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @151) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @144) SWord 512
a, Proxy 143
-> Proxy 136 -> SWord 512 -> SBV (WordN ((143 - 136) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @143) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @136) SWord 512
a, Proxy 135
-> Proxy 128 -> SWord 512 -> SBV (WordN ((135 - 128) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @135) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @128) SWord 512
a
, Proxy 127
-> Proxy 120 -> SWord 512 -> SBV (WordN ((127 - 120) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @127) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @120) SWord 512
a, Proxy 119
-> Proxy 112 -> SWord 512 -> SBV (WordN ((119 - 112) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @119) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @112) SWord 512
a, Proxy 111
-> Proxy 104 -> SWord 512 -> SBV (WordN ((111 - 104) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @111) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @104) SWord 512
a, Proxy 103 -> Proxy 96 -> SWord 512 -> SBV (WordN ((103 - 96) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @103) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @96) SWord 512
a
, Proxy 95 -> Proxy 88 -> SWord 512 -> SBV (WordN ((95 - 88) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @95) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @88) SWord 512
a, Proxy 87 -> Proxy 80 -> SWord 512 -> SBV (WordN ((87 - 80) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @87) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @80) SWord 512
a, Proxy 79 -> Proxy 72 -> SWord 512 -> SBV (WordN ((79 - 72) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @79) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @72) SWord 512
a, Proxy 71 -> Proxy 64 -> SWord 512 -> SBV (WordN ((71 - 64) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @71) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @64) SWord 512
a
, Proxy 63 -> Proxy 56 -> SWord 512 -> SBV (WordN ((63 - 56) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @63) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @56) SWord 512
a, Proxy 55 -> Proxy 48 -> SWord 512 -> SBV (WordN ((55 - 48) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @55) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @48) SWord 512
a, Proxy 47 -> Proxy 40 -> SWord 512 -> SBV (WordN ((47 - 40) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @47) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @40) SWord 512
a, Proxy 39 -> Proxy 32 -> SWord 512 -> SBV (WordN ((39 - 32) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @39) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @32) SWord 512
a
, Proxy 31 -> Proxy 24 -> SWord 512 -> SBV (WordN ((31 - 24) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @31) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @24) SWord 512
a, Proxy 23 -> Proxy 16 -> SWord 512 -> SBV (WordN ((23 - 16) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @23) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @16) SWord 512
a, Proxy 15 -> Proxy 8 -> SWord 512 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 512
a, Proxy 7 -> Proxy 0 -> SWord 512 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 512
a
]
fromBytes :: [SWord 8] -> SWord 512
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
64
= ([SWord 8] -> SWord 256
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 256) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
32 [SWord 8]
as) SWord 256 -> SWord 256 -> SBV (WordN (256 + 256))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 256
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
32 [SWord 8]
as)
| Bool
True
= String -> SWord 512
forall a. HasCallStack => String -> a
error (String -> SWord 512) -> String -> SWord 512
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 512: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
instance ByteConverter (SWord 1024) where
toBytes :: SWord 1024 -> [SWord 8]
toBytes SWord 1024
a = [ Proxy 1023
-> Proxy 1016 -> SWord 1024 -> SBV (WordN ((1023 - 1016) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @1023) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @1016) SWord 1024
a, Proxy 1015
-> Proxy 1008 -> SWord 1024 -> SBV (WordN ((1015 - 1008) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @1015) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @1008) SWord 1024
a, Proxy 1007
-> Proxy 1000 -> SWord 1024 -> SBV (WordN ((1007 - 1000) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @1007) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @1000) SWord 1024
a, Proxy 999
-> Proxy 992 -> SWord 1024 -> SBV (WordN ((999 - 992) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @999) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @992) SWord 1024
a
, Proxy 991
-> Proxy 984 -> SWord 1024 -> SBV (WordN ((991 - 984) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @991) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @984) SWord 1024
a, Proxy 983
-> Proxy 976 -> SWord 1024 -> SBV (WordN ((983 - 976) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @983) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @976) SWord 1024
a, Proxy 975
-> Proxy 968 -> SWord 1024 -> SBV (WordN ((975 - 968) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @975) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @968) SWord 1024
a, Proxy 967
-> Proxy 960 -> SWord 1024 -> SBV (WordN ((967 - 960) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @967) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @960) SWord 1024
a
, Proxy 959
-> Proxy 952 -> SWord 1024 -> SBV (WordN ((959 - 952) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @959) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @952) SWord 1024
a, Proxy 951
-> Proxy 944 -> SWord 1024 -> SBV (WordN ((951 - 944) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @951) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @944) SWord 1024
a, Proxy 943
-> Proxy 936 -> SWord 1024 -> SBV (WordN ((943 - 936) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @943) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @936) SWord 1024
a, Proxy 935
-> Proxy 928 -> SWord 1024 -> SBV (WordN ((935 - 928) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @935) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @928) SWord 1024
a
, Proxy 927
-> Proxy 920 -> SWord 1024 -> SBV (WordN ((927 - 920) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @927) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @920) SWord 1024
a, Proxy 919
-> Proxy 912 -> SWord 1024 -> SBV (WordN ((919 - 912) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @919) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @912) SWord 1024
a, Proxy 911
-> Proxy 904 -> SWord 1024 -> SBV (WordN ((911 - 904) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @911) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @904) SWord 1024
a, Proxy 903
-> Proxy 896 -> SWord 1024 -> SBV (WordN ((903 - 896) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @903) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @896) SWord 1024
a
, Proxy 895
-> Proxy 888 -> SWord 1024 -> SBV (WordN ((895 - 888) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @895) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @888) SWord 1024
a, Proxy 887
-> Proxy 880 -> SWord 1024 -> SBV (WordN ((887 - 880) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @887) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @880) SWord 1024
a, Proxy 879
-> Proxy 872 -> SWord 1024 -> SBV (WordN ((879 - 872) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @879) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @872) SWord 1024
a, Proxy 871
-> Proxy 864 -> SWord 1024 -> SBV (WordN ((871 - 864) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @871) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @864) SWord 1024
a
, Proxy 863
-> Proxy 856 -> SWord 1024 -> SBV (WordN ((863 - 856) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @863) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @856) SWord 1024
a, Proxy 855
-> Proxy 848 -> SWord 1024 -> SBV (WordN ((855 - 848) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @855) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @848) SWord 1024
a, Proxy 847
-> Proxy 840 -> SWord 1024 -> SBV (WordN ((847 - 840) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @847) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @840) SWord 1024
a, Proxy 839
-> Proxy 832 -> SWord 1024 -> SBV (WordN ((839 - 832) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @839) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @832) SWord 1024
a
, Proxy 831
-> Proxy 824 -> SWord 1024 -> SBV (WordN ((831 - 824) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @831) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @824) SWord 1024
a, Proxy 823
-> Proxy 816 -> SWord 1024 -> SBV (WordN ((823 - 816) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @823) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @816) SWord 1024
a, Proxy 815
-> Proxy 808 -> SWord 1024 -> SBV (WordN ((815 - 808) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @815) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @808) SWord 1024
a, Proxy 807
-> Proxy 800 -> SWord 1024 -> SBV (WordN ((807 - 800) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @807) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @800) SWord 1024
a
, Proxy 799
-> Proxy 792 -> SWord 1024 -> SBV (WordN ((799 - 792) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @799) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @792) SWord 1024
a, Proxy 791
-> Proxy 784 -> SWord 1024 -> SBV (WordN ((791 - 784) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @791) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @784) SWord 1024
a, Proxy 783
-> Proxy 776 -> SWord 1024 -> SBV (WordN ((783 - 776) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @783) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @776) SWord 1024
a, Proxy 775
-> Proxy 768 -> SWord 1024 -> SBV (WordN ((775 - 768) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @775) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @768) SWord 1024
a
, Proxy 767
-> Proxy 760 -> SWord 1024 -> SBV (WordN ((767 - 760) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @767) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @760) SWord 1024
a, Proxy 759
-> Proxy 752 -> SWord 1024 -> SBV (WordN ((759 - 752) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @759) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @752) SWord 1024
a, Proxy 751
-> Proxy 744 -> SWord 1024 -> SBV (WordN ((751 - 744) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @751) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @744) SWord 1024
a, Proxy 743
-> Proxy 736 -> SWord 1024 -> SBV (WordN ((743 - 736) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @743) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @736) SWord 1024
a
, Proxy 735
-> Proxy 728 -> SWord 1024 -> SBV (WordN ((735 - 728) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @735) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @728) SWord 1024
a, Proxy 727
-> Proxy 720 -> SWord 1024 -> SBV (WordN ((727 - 720) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @727) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @720) SWord 1024
a, Proxy 719
-> Proxy 712 -> SWord 1024 -> SBV (WordN ((719 - 712) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @719) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @712) SWord 1024
a, Proxy 711
-> Proxy 704 -> SWord 1024 -> SBV (WordN ((711 - 704) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @711) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @704) SWord 1024
a
, Proxy 703
-> Proxy 696 -> SWord 1024 -> SBV (WordN ((703 - 696) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @703) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @696) SWord 1024
a, Proxy 695
-> Proxy 688 -> SWord 1024 -> SBV (WordN ((695 - 688) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @695) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @688) SWord 1024
a, Proxy 687
-> Proxy 680 -> SWord 1024 -> SBV (WordN ((687 - 680) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @687) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @680) SWord 1024
a, Proxy 679
-> Proxy 672 -> SWord 1024 -> SBV (WordN ((679 - 672) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @679) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @672) SWord 1024
a
, Proxy 671
-> Proxy 664 -> SWord 1024 -> SBV (WordN ((671 - 664) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @671) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @664) SWord 1024
a, Proxy 663
-> Proxy 656 -> SWord 1024 -> SBV (WordN ((663 - 656) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @663) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @656) SWord 1024
a, Proxy 655
-> Proxy 648 -> SWord 1024 -> SBV (WordN ((655 - 648) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @655) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @648) SWord 1024
a, Proxy 647
-> Proxy 640 -> SWord 1024 -> SBV (WordN ((647 - 640) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @647) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @640) SWord 1024
a
, Proxy 639
-> Proxy 632 -> SWord 1024 -> SBV (WordN ((639 - 632) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @639) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @632) SWord 1024
a, Proxy 631
-> Proxy 624 -> SWord 1024 -> SBV (WordN ((631 - 624) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @631) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @624) SWord 1024
a, Proxy 623
-> Proxy 616 -> SWord 1024 -> SBV (WordN ((623 - 616) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @623) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @616) SWord 1024
a, Proxy 615
-> Proxy 608 -> SWord 1024 -> SBV (WordN ((615 - 608) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @615) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @608) SWord 1024
a
, Proxy 607
-> Proxy 600 -> SWord 1024 -> SBV (WordN ((607 - 600) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @607) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @600) SWord 1024
a, Proxy 599
-> Proxy 592 -> SWord 1024 -> SBV (WordN ((599 - 592) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @599) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @592) SWord 1024
a, Proxy 591
-> Proxy 584 -> SWord 1024 -> SBV (WordN ((591 - 584) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @591) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @584) SWord 1024
a, Proxy 583
-> Proxy 576 -> SWord 1024 -> SBV (WordN ((583 - 576) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @583) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @576) SWord 1024
a
, Proxy 575
-> Proxy 568 -> SWord 1024 -> SBV (WordN ((575 - 568) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @575) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @568) SWord 1024
a, Proxy 567
-> Proxy 560 -> SWord 1024 -> SBV (WordN ((567 - 560) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @567) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @560) SWord 1024
a, Proxy 559
-> Proxy 552 -> SWord 1024 -> SBV (WordN ((559 - 552) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @559) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @552) SWord 1024
a, Proxy 551
-> Proxy 544 -> SWord 1024 -> SBV (WordN ((551 - 544) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @551) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @544) SWord 1024
a
, Proxy 543
-> Proxy 536 -> SWord 1024 -> SBV (WordN ((543 - 536) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @543) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @536) SWord 1024
a, Proxy 535
-> Proxy 528 -> SWord 1024 -> SBV (WordN ((535 - 528) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @535) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @528) SWord 1024
a, Proxy 527
-> Proxy 520 -> SWord 1024 -> SBV (WordN ((527 - 520) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @527) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @520) SWord 1024
a, Proxy 519
-> Proxy 512 -> SWord 1024 -> SBV (WordN ((519 - 512) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @519) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @512) SWord 1024
a
, Proxy 511
-> Proxy 504 -> SWord 1024 -> SBV (WordN ((511 - 504) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @511) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @504) SWord 1024
a, Proxy 503
-> Proxy 496 -> SWord 1024 -> SBV (WordN ((503 - 496) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @503) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @496) SWord 1024
a, Proxy 495
-> Proxy 488 -> SWord 1024 -> SBV (WordN ((495 - 488) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @495) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @488) SWord 1024
a, Proxy 487
-> Proxy 480 -> SWord 1024 -> SBV (WordN ((487 - 480) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @487) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @480) SWord 1024
a
, Proxy 479
-> Proxy 472 -> SWord 1024 -> SBV (WordN ((479 - 472) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @479) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @472) SWord 1024
a, Proxy 471
-> Proxy 464 -> SWord 1024 -> SBV (WordN ((471 - 464) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @471) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @464) SWord 1024
a, Proxy 463
-> Proxy 456 -> SWord 1024 -> SBV (WordN ((463 - 456) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @463) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @456) SWord 1024
a, Proxy 455
-> Proxy 448 -> SWord 1024 -> SBV (WordN ((455 - 448) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @455) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @448) SWord 1024
a
, Proxy 447
-> Proxy 440 -> SWord 1024 -> SBV (WordN ((447 - 440) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @447) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @440) SWord 1024
a, Proxy 439
-> Proxy 432 -> SWord 1024 -> SBV (WordN ((439 - 432) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @439) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @432) SWord 1024
a, Proxy 431
-> Proxy 424 -> SWord 1024 -> SBV (WordN ((431 - 424) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @431) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @424) SWord 1024
a, Proxy 423
-> Proxy 416 -> SWord 1024 -> SBV (WordN ((423 - 416) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @423) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @416) SWord 1024
a
, Proxy 415
-> Proxy 408 -> SWord 1024 -> SBV (WordN ((415 - 408) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @415) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @408) SWord 1024
a, Proxy 407
-> Proxy 400 -> SWord 1024 -> SBV (WordN ((407 - 400) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @407) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @400) SWord 1024
a, Proxy 399
-> Proxy 392 -> SWord 1024 -> SBV (WordN ((399 - 392) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @399) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @392) SWord 1024
a, Proxy 391
-> Proxy 384 -> SWord 1024 -> SBV (WordN ((391 - 384) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @391) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @384) SWord 1024
a
, Proxy 383
-> Proxy 376 -> SWord 1024 -> SBV (WordN ((383 - 376) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @383) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @376) SWord 1024
a, Proxy 375
-> Proxy 368 -> SWord 1024 -> SBV (WordN ((375 - 368) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @375) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @368) SWord 1024
a, Proxy 367
-> Proxy 360 -> SWord 1024 -> SBV (WordN ((367 - 360) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @367) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @360) SWord 1024
a, Proxy 359
-> Proxy 352 -> SWord 1024 -> SBV (WordN ((359 - 352) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @359) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @352) SWord 1024
a
, Proxy 351
-> Proxy 344 -> SWord 1024 -> SBV (WordN ((351 - 344) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @351) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @344) SWord 1024
a, Proxy 343
-> Proxy 336 -> SWord 1024 -> SBV (WordN ((343 - 336) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @343) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @336) SWord 1024
a, Proxy 335
-> Proxy 328 -> SWord 1024 -> SBV (WordN ((335 - 328) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @335) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @328) SWord 1024
a, Proxy 327
-> Proxy 320 -> SWord 1024 -> SBV (WordN ((327 - 320) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @327) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @320) SWord 1024
a
, Proxy 319
-> Proxy 312 -> SWord 1024 -> SBV (WordN ((319 - 312) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @319) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @312) SWord 1024
a, Proxy 311
-> Proxy 304 -> SWord 1024 -> SBV (WordN ((311 - 304) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @311) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @304) SWord 1024
a, Proxy 303
-> Proxy 296 -> SWord 1024 -> SBV (WordN ((303 - 296) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @303) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @296) SWord 1024
a, Proxy 295
-> Proxy 288 -> SWord 1024 -> SBV (WordN ((295 - 288) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @295) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @288) SWord 1024
a
, Proxy 287
-> Proxy 280 -> SWord 1024 -> SBV (WordN ((287 - 280) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @287) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @280) SWord 1024
a, Proxy 279
-> Proxy 272 -> SWord 1024 -> SBV (WordN ((279 - 272) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @279) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @272) SWord 1024
a, Proxy 271
-> Proxy 264 -> SWord 1024 -> SBV (WordN ((271 - 264) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @271) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @264) SWord 1024
a, Proxy 263
-> Proxy 256 -> SWord 1024 -> SBV (WordN ((263 - 256) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @263) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @256) SWord 1024
a
, Proxy 255
-> Proxy 248 -> SWord 1024 -> SBV (WordN ((255 - 248) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @255) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @248) SWord 1024
a, Proxy 247
-> Proxy 240 -> SWord 1024 -> SBV (WordN ((247 - 240) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @247) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @240) SWord 1024
a, Proxy 239
-> Proxy 232 -> SWord 1024 -> SBV (WordN ((239 - 232) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @239) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @232) SWord 1024
a, Proxy 231
-> Proxy 224 -> SWord 1024 -> SBV (WordN ((231 - 224) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @231) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @224) SWord 1024
a
, Proxy 223
-> Proxy 216 -> SWord 1024 -> SBV (WordN ((223 - 216) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @223) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @216) SWord 1024
a, Proxy 215
-> Proxy 208 -> SWord 1024 -> SBV (WordN ((215 - 208) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @215) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @208) SWord 1024
a, Proxy 207
-> Proxy 200 -> SWord 1024 -> SBV (WordN ((207 - 200) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @207) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @200) SWord 1024
a, Proxy 199
-> Proxy 192 -> SWord 1024 -> SBV (WordN ((199 - 192) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @199) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @192) SWord 1024
a
, Proxy 191
-> Proxy 184 -> SWord 1024 -> SBV (WordN ((191 - 184) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @191) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @184) SWord 1024
a, Proxy 183
-> Proxy 176 -> SWord 1024 -> SBV (WordN ((183 - 176) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @183) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @176) SWord 1024
a, Proxy 175
-> Proxy 168 -> SWord 1024 -> SBV (WordN ((175 - 168) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @175) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @168) SWord 1024
a, Proxy 167
-> Proxy 160 -> SWord 1024 -> SBV (WordN ((167 - 160) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @167) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @160) SWord 1024
a
, Proxy 159
-> Proxy 152 -> SWord 1024 -> SBV (WordN ((159 - 152) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @159) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @152) SWord 1024
a, Proxy 151
-> Proxy 144 -> SWord 1024 -> SBV (WordN ((151 - 144) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @151) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @144) SWord 1024
a, Proxy 143
-> Proxy 136 -> SWord 1024 -> SBV (WordN ((143 - 136) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @143) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @136) SWord 1024
a, Proxy 135
-> Proxy 128 -> SWord 1024 -> SBV (WordN ((135 - 128) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @135) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @128) SWord 1024
a
, Proxy 127
-> Proxy 120 -> SWord 1024 -> SBV (WordN ((127 - 120) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @127) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @120) SWord 1024
a, Proxy 119
-> Proxy 112 -> SWord 1024 -> SBV (WordN ((119 - 112) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @119) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @112) SWord 1024
a, Proxy 111
-> Proxy 104 -> SWord 1024 -> SBV (WordN ((111 - 104) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @111) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @104) SWord 1024
a, Proxy 103 -> Proxy 96 -> SWord 1024 -> SBV (WordN ((103 - 96) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @103) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @96) SWord 1024
a
, Proxy 95 -> Proxy 88 -> SWord 1024 -> SBV (WordN ((95 - 88) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @95) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @88) SWord 1024
a, Proxy 87 -> Proxy 80 -> SWord 1024 -> SBV (WordN ((87 - 80) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @87) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @80) SWord 1024
a, Proxy 79 -> Proxy 72 -> SWord 1024 -> SBV (WordN ((79 - 72) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @79) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @72) SWord 1024
a, Proxy 71 -> Proxy 64 -> SWord 1024 -> SBV (WordN ((71 - 64) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @71) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @64) SWord 1024
a
, Proxy 63 -> Proxy 56 -> SWord 1024 -> SBV (WordN ((63 - 56) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @63) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @56) SWord 1024
a, Proxy 55 -> Proxy 48 -> SWord 1024 -> SBV (WordN ((55 - 48) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @55) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @48) SWord 1024
a, Proxy 47 -> Proxy 40 -> SWord 1024 -> SBV (WordN ((47 - 40) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @47) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @40) SWord 1024
a, Proxy 39 -> Proxy 32 -> SWord 1024 -> SBV (WordN ((39 - 32) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @39) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @32) SWord 1024
a
, Proxy 31 -> Proxy 24 -> SWord 1024 -> SBV (WordN ((31 - 24) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @31) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @24) SWord 1024
a, Proxy 23 -> Proxy 16 -> SWord 1024 -> SBV (WordN ((23 - 16) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @23) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @16) SWord 1024
a, Proxy 15 -> Proxy 8 -> SWord 1024 -> SBV (WordN ((15 - 8) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @15) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @8) SWord 1024
a, Proxy 7 -> Proxy 0 -> SWord 1024 -> SBV (WordN ((7 - 0) + 1))
forall (i :: Nat) (j :: Nat) (n :: Nat) (bv :: Nat -> *)
(proxy :: Nat -> *).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat i, KnownNat j,
(i + 1) <= n, j <= i, BVIsNonZero ((i - j) + 1)) =>
proxy i -> proxy j -> SBV (bv n) -> SBV (bv ((i - j) + 1))
bvExtract (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @7) (forall (t :: Nat). Proxy t
forall {k} (t :: k). Proxy t
Proxy @0) SWord 1024
a
]
fromBytes :: [SWord 8] -> SWord 1024
fromBytes [SWord 8]
as
| Int
l Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
== Int
128
= ([SWord 8] -> SWord 512
forall a. ByteConverter a => [SWord 8] -> a
fromBytes :: [SWord 8] -> SWord 512) (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
take Int
64 [SWord 8]
as) SWord 512 -> SWord 512 -> SBV (WordN (512 + 512))
forall (n :: Nat) (bv :: Nat -> *) (m :: Nat).
(KnownNat n, BVIsNonZero n, SymVal (bv n), KnownNat m,
BVIsNonZero m, SymVal (bv m)) =>
SBV (bv n) -> SBV (bv m) -> SBV (bv (n + m))
# [SWord 8] -> SWord 512
forall a. ByteConverter a => [SWord 8] -> a
fromBytes (Int -> [SWord 8] -> [SWord 8]
forall a. Int -> [a] -> [a]
drop Int
64 [SWord 8]
as)
| Bool
True
= String -> SWord 1024
forall a. HasCallStack => String -> a
error (String -> SWord 1024) -> String -> SWord 1024
forall a b. (a -> b) -> a -> b
$ String
"fromBytes:SWord 1024: Incorrect number of bytes: " String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
l
where l :: Int
l = [SWord 8] -> Int
forall a. [a] -> Int
forall (t :: * -> *) a. Foldable t => t a -> Int
length [SWord 8]
as
type Relation a = (SBV a, SBV a) -> SBool
isPartialOrder :: SymVal a => String -> Relation a -> SBool
isPartialOrder :: forall a. SymVal a => String -> Relation a -> SBool
isPartialOrder = SpecialRelOp -> Relation a -> SBool
forall a. SymVal a => SpecialRelOp -> Relation a -> SBool
checkSpecialRelation (SpecialRelOp -> Relation a -> SBool)
-> (String -> SpecialRelOp) -> String -> Relation a -> SBool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> SpecialRelOp
IsPartialOrder
isLinearOrder :: SymVal a => String -> Relation a -> SBool
isLinearOrder :: forall a. SymVal a => String -> Relation a -> SBool
isLinearOrder = SpecialRelOp -> Relation a -> SBool
forall a. SymVal a => SpecialRelOp -> Relation a -> SBool
checkSpecialRelation (SpecialRelOp -> Relation a -> SBool)
-> (String -> SpecialRelOp) -> String -> Relation a -> SBool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> SpecialRelOp
IsLinearOrder
isTreeOrder :: SymVal a => String -> Relation a -> SBool
isTreeOrder :: forall a. SymVal a => String -> Relation a -> SBool
isTreeOrder = SpecialRelOp -> Relation a -> SBool
forall a. SymVal a => SpecialRelOp -> Relation a -> SBool
checkSpecialRelation (SpecialRelOp -> Relation a -> SBool)
-> (String -> SpecialRelOp) -> String -> Relation a -> SBool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> SpecialRelOp
IsTreeOrder
isPiecewiseLinearOrder :: SymVal a => String -> Relation a -> SBool
isPiecewiseLinearOrder :: forall a. SymVal a => String -> Relation a -> SBool
isPiecewiseLinearOrder = SpecialRelOp -> Relation a -> SBool
forall a. SymVal a => SpecialRelOp -> Relation a -> SBool
checkSpecialRelation (SpecialRelOp -> Relation a -> SBool)
-> (String -> SpecialRelOp) -> String -> Relation a -> SBool
forall b c a. (b -> c) -> (a -> b) -> a -> c
. String -> SpecialRelOp
IsPiecewiseLinearOrder
sanitizeRelName :: String -> String
sanitizeRelName :: String -> String
sanitizeRelName String
s = String
"__internal_sbv_" String -> String -> String
forall a. [a] -> [a] -> [a]
++ (Char -> Char) -> String -> String
forall a b. (a -> b) -> [a] -> [b]
map Char -> Char
sanitize String
s
where sanitize :: Char -> Char
sanitize Char
c | Char -> Bool
isSpace Char
c Bool -> Bool -> Bool
|| Char -> Bool
isPunctuation Char
c = Char
'_'
| Bool
True = Char
c
mkTransitiveClosure :: forall a. SymVal a => String -> Relation a -> Relation a
mkTransitiveClosure :: forall a. SymVal a => String -> Relation a -> Relation a
mkTransitiveClosure String
nm Relation a
rel = Relation a
res
where ka :: Kind
ka = Proxy a -> Kind
forall a. HasKind a => a -> Kind
kindOf (forall t. Proxy t
forall {k} (t :: k). Proxy t
Proxy @a)
inm :: String
inm = String -> String
sanitizeRelName (String -> String) -> String -> String
forall a b. (a -> b) -> a -> b
$ String
"_TransitiveClosure_" String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
nm String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_"
key :: (String, String)
key = (String
inm, String
nm)
res :: Relation a
res (SBV a
a, SBV a
b) = SVal -> SBool
forall a. SVal -> SBV a
SBV (SVal -> SBool) -> SVal -> SBool
forall a b. (a -> b) -> a -> b
$ Kind -> Either CV (Cached SV) -> SVal
SVal Kind
KBool (Either CV (Cached SV) -> SVal) -> Either CV (Cached SV) -> SVal
forall a b. (a -> b) -> a -> b
$ Cached SV -> Either CV (Cached SV)
forall a b. b -> Either a b
Right (Cached SV -> Either CV (Cached SV))
-> Cached SV -> Either CV (Cached SV)
forall a b. (a -> b) -> a -> b
$ (State -> IO SV) -> Cached SV
forall a. (State -> IO a) -> Cached a
cache State -> IO SV
result
where result :: State -> IO SV
result State
st = do
ProgInfo{progTransClosures = curProgTransClosures} <- IORef ProgInfo -> IO ProgInfo
forall a. IORef a -> IO a
readIORef (State -> IORef ProgInfo
rProgInfo State
st)
unless (key `elem` curProgTransClosures) $ do
registerKind st ka
modifyIORef' (rProgInfo st) (\ProgInfo
u -> ProgInfo
u{progTransClosures = curProgTransClosures ++ [key]})
let SBV eq = quantifiedBool $ \(Forall SBV a
x) (Forall SBV a
y) -> Relation a
rel (SBV a
x, SBV a
y) SBool -> SBool -> SBool
forall a. EqSymbolic a => a -> a -> SBool
.== String -> SBV a -> SBV a -> SBool
forall a. SMTDefinable a => String -> a
uninterpret String
inm SBV a
x SBV a
y
internalConstraint (getRootState st) False [] eq
sa <- sbvToSV st a
sb <- sbvToSV st b
newExpr st KBool $ SBVApp (Uninterpreted nm) [sa, sb]
checkSpecialRelation :: forall a. SymVal a => SpecialRelOp -> Relation a -> SBool
checkSpecialRelation :: forall a. SymVal a => SpecialRelOp -> Relation a -> SBool
checkSpecialRelation SpecialRelOp
op Relation a
rel = SVal -> SBool
forall a. SVal -> SBV a
SBV (SVal -> SBool) -> SVal -> SBool
forall a b. (a -> b) -> a -> b
$ Kind -> Either CV (Cached SV) -> SVal
SVal Kind
KBool (Either CV (Cached SV) -> SVal) -> Either CV (Cached SV) -> SVal
forall a b. (a -> b) -> a -> b
$ Cached SV -> Either CV (Cached SV)
forall a b. b -> Either a b
Right (Cached SV -> Either CV (Cached SV))
-> Cached SV -> Either CV (Cached SV)
forall a b. (a -> b) -> a -> b
$ (State -> IO SV) -> Cached SV
forall a. (State -> IO a) -> Cached a
cache State -> IO SV
result
where ka :: Kind
ka = Proxy a -> Kind
forall a. HasKind a => a -> Kind
kindOf (forall t. Proxy t
forall {k} (t :: k). Proxy t
Proxy @a)
internalize :: String -> SpecialRelOp
internalize String
nm = case SpecialRelOp
op of
IsPartialOrder String
_ -> String -> SpecialRelOp
IsPartialOrder String
nm
IsLinearOrder String
_ -> String -> SpecialRelOp
IsLinearOrder String
nm
IsTreeOrder String
_ -> String -> SpecialRelOp
IsTreeOrder String
nm
IsPiecewiseLinearOrder String
_ -> String -> SpecialRelOp
IsPiecewiseLinearOrder String
nm
result :: State -> IO SV
result State
st = do
let nm :: String
nm = String -> String
sanitizeRelName (SpecialRelOp -> String
forall a. Show a => a -> String
show SpecialRelOp
op)
iop :: SpecialRelOp
iop = String -> SpecialRelOp
internalize String
nm
ProgInfo{progSpecialRels = curSpecialRels} <- IORef ProgInfo -> IO ProgInfo
forall a. IORef a -> IO a
readIORef (State -> IORef ProgInfo
rProgInfo State
st)
unless (op `elem` curSpecialRels) $ do
registerKind st ka
nm' <- newUninterpreted st (UIGiven nm) Nothing (SBVType [ka, ka, KBool]) (UINone True)
modifyIORef' (rProgInfo st) (\ProgInfo
u -> ProgInfo
u{progSpecialRels = curSpecialRels ++ [iop]})
let SBV eq = quantifiedBool $ \(Forall SBV a
x) (Forall SBV a
y) -> Relation a
rel (SBV a
x, SBV a
y) SBool -> SBool -> SBool
forall a. EqSymbolic a => a -> a -> SBool
.== String -> SBV a -> SBV a -> SBool
forall a. SMTDefinable a => String -> a
uninterpret String
nm' SBV a
x SBV a
y
internalConstraint (getRootState st) False [] eq
newExpr st KBool $ SBVApp (SpecialRelOp ka iop) []
optLexicographic :: Satisfiable a => a -> IO SMTResult
optLexicographic :: forall a. Satisfiable a => a -> IO SMTResult
optLexicographic = SMTConfig -> a -> IO SMTResult
forall a. Satisfiable a => SMTConfig -> a -> IO SMTResult
optLexicographicWith SMTConfig
defaultSMTCfg
optLexicographicWith :: Satisfiable a => SMTConfig -> a -> IO SMTResult
optLexicographicWith :: forall a. Satisfiable a => SMTConfig -> a -> IO SMTResult
optLexicographicWith SMTConfig
config a
p = do
res <- SMTConfig -> OptimizeStyle -> a -> IO OptimizeResult
forall a.
Satisfiable a =>
SMTConfig -> OptimizeStyle -> a -> IO OptimizeResult
optimizeWith SMTConfig
config OptimizeStyle
Lexicographic a
p
case res of
LexicographicResult SMTResult
r -> SMTResult -> IO SMTResult
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure SMTResult
r
OptimizeResult
_ -> String -> IO SMTResult
forall a. HasCallStack => String -> a
error (String -> IO SMTResult) -> String -> IO SMTResult
forall a b. (a -> b) -> a -> b
$ String
"A lexicographic optimization call resulted in a bad result:"
String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"\n" String -> String -> String
forall a. [a] -> [a] -> [a]
++ OptimizeResult -> String
forall a. Show a => a -> String
show OptimizeResult
res
optPareto :: Satisfiable a => Maybe Int -> a -> IO (Bool, [SMTResult])
optPareto :: forall a. Satisfiable a => Maybe Int -> a -> IO (Bool, [SMTResult])
optPareto = SMTConfig -> Maybe Int -> a -> IO (Bool, [SMTResult])
forall a.
Satisfiable a =>
SMTConfig -> Maybe Int -> a -> IO (Bool, [SMTResult])
optParetoWith SMTConfig
defaultSMTCfg
optParetoWith :: Satisfiable a => SMTConfig -> Maybe Int -> a -> IO (Bool, [SMTResult])
optParetoWith :: forall a.
Satisfiable a =>
SMTConfig -> Maybe Int -> a -> IO (Bool, [SMTResult])
optParetoWith SMTConfig
config Maybe Int
mbLim a
p = do
res <- SMTConfig -> OptimizeStyle -> a -> IO OptimizeResult
forall a.
Satisfiable a =>
SMTConfig -> OptimizeStyle -> a -> IO OptimizeResult
optimizeWith SMTConfig
config (Maybe Int -> OptimizeStyle
Pareto Maybe Int
mbLim) a
p
case res of
ParetoResult (Bool, [SMTResult])
r -> (Bool, [SMTResult]) -> IO (Bool, [SMTResult])
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Bool, [SMTResult])
r
OptimizeResult
_ -> String -> IO (Bool, [SMTResult])
forall a. HasCallStack => String -> a
error (String -> IO (Bool, [SMTResult]))
-> String -> IO (Bool, [SMTResult])
forall a b. (a -> b) -> a -> b
$ String
"A pareto optimization call resulted in a bad result:"
String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"\n" String -> String -> String
forall a. [a] -> [a] -> [a]
++ OptimizeResult -> String
forall a. Show a => a -> String
show OptimizeResult
res
optIndependent :: Satisfiable a => a -> IO [(String, SMTResult)]
optIndependent :: forall a. Satisfiable a => a -> IO [(String, SMTResult)]
optIndependent = SMTConfig -> a -> IO [(String, SMTResult)]
forall a.
Satisfiable a =>
SMTConfig -> a -> IO [(String, SMTResult)]
optIndependentWith SMTConfig
defaultSMTCfg
optIndependentWith :: Satisfiable a => SMTConfig -> a -> IO [(String, SMTResult)]
optIndependentWith :: forall a.
Satisfiable a =>
SMTConfig -> a -> IO [(String, SMTResult)]
optIndependentWith SMTConfig
config a
p = do
res <- SMTConfig -> OptimizeStyle -> a -> IO OptimizeResult
forall a.
Satisfiable a =>
SMTConfig -> OptimizeStyle -> a -> IO OptimizeResult
optimizeWith SMTConfig
config OptimizeStyle
Independent a
p
case res of
IndependentResult [(String, SMTResult)]
r -> [(String, SMTResult)] -> IO [(String, SMTResult)]
forall a. a -> IO a
forall (f :: * -> *) a. Applicative f => a -> f a
pure [(String, SMTResult)]
r
OptimizeResult
_ -> String -> IO [(String, SMTResult)]
forall a. HasCallStack => String -> a
error (String -> IO [(String, SMTResult)])
-> String -> IO [(String, SMTResult)]
forall a b. (a -> b) -> a -> b
$ String
"An independent optimization call resulted in a bad result:"
String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"\n" String -> String -> String
forall a. [a] -> [a] -> [a]
++ OptimizeResult -> String
forall a. Show a => a -> String
show OptimizeResult
res
class Queriable m a where
type QueryResult a :: Type
create :: QueryT m a
project :: a -> QueryT m (QueryResult a)
embed :: QueryResult a -> QueryT m a
default project :: (a ~ t e, QueryResult (t e) ~ t (QueryResult e), Traversable t, Monad m, Queriable m e) => a -> QueryT m (QueryResult a)
project = (e -> QueryT m (QueryResult e))
-> t e -> QueryT m (t (QueryResult e))
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> t a -> m (t b)
mapM e -> QueryT m (QueryResult e)
forall (m :: * -> *) a.
Queriable m a =>
a -> QueryT m (QueryResult a)
project
default embed :: (a ~ t e, QueryResult (t e) ~ t (QueryResult e), Traversable t, Monad m, Queriable m e) => QueryResult a -> QueryT m a
embed = (QueryResult e -> QueryT m e)
-> t (QueryResult e) -> QueryT m (t e)
forall (t :: * -> *) (m :: * -> *) a b.
(Traversable t, Monad m) =>
(a -> m b) -> t a -> m (t b)
forall (m :: * -> *) a b. Monad m => (a -> m b) -> t a -> m (t b)
mapM QueryResult e -> QueryT m e
forall (m :: * -> *) a.
Queriable m a =>
QueryResult a -> QueryT m a
embed
{-# MINIMAL create #-}
instance {-# OVERLAPPABLE #-} (MonadIO m, SymVal a) => Queriable m (SBV a) where
type QueryResult (SBV a) = a
create :: QueryT m (SBV a)
create = QueryT m (SBV a)
forall a (m :: * -> *).
(MonadIO m, MonadQuery m, SymVal a) =>
m (SBV a)
freshVar_
project :: SBV a -> QueryT m (QueryResult (SBV a))
project = SBV a -> QueryT m a
SBV a -> QueryT m (QueryResult (SBV a))
forall (m :: * -> *) a.
(MonadIO m, MonadQuery m, SymVal a) =>
SBV a -> m a
getValue
embed :: QueryResult (SBV a) -> QueryT m (SBV a)
embed = SBV a -> QueryT m (SBV a)
forall a. a -> QueryT m a
forall (m :: * -> *) a. Monad m => a -> m a
return (SBV a -> QueryT m (SBV a))
-> (a -> SBV a) -> a -> QueryT m (SBV a)
forall b c a. (b -> c) -> (a -> b) -> a -> c
. a -> SBV a
forall a. SymVal a => a -> SBV a
literal