E6x      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef g h i j k l m n o p q r s t u v w None!"47xPA class for casting SBV values. We return errors for casts allowed by Copilot.}x yz{|}~    rx   yz{|}~None !"# !"# !#" !"#Safe$%&'()*+,-./0 $%&'()*+,-./0 $%&'()*+,-./0$%&'()*+,-./0None!";N 123456789:;<=>?@ABCDE123456789:;<=>?@ABCDEE=>?@ABDC9:;<67812345123456789:;<=>?@ABCDENone!";NA stream. data Stream = forall a. Typed a => Stream { streamId :: Id , streamBuffer :: [a] , streamExpr :: Expr a , streamExprType :: Type a }An observer. data Observer = forall a. Observer { observerName :: Name , observerExpr :: Expr a , observerExprType :: Type a }A trigger. data Trigger = Trigger { triggerName :: Name , triggerGuard :: Expr Bool , triggerArgs :: [UExpr] }eA property. data Property = Property { propertyName :: Name , propertyExpr :: Expr Bool }F;A Copilot specification consists of a list of variables bound to anonymous streams, a lost of anomymous streams, a list of observers, and a list of triggers. data Spec = Spec { specStreams :: [Stream] , specObservers :: [Observer] , specTriggers :: [Trigger] , specProperties :: [Property] } FFF FNone!";NA stream. data Stream = forall a. Typed a => Stream { streamId :: Id , streamBuffer :: [a] , streamExpr :: Expr a , streamExprType :: Type a }An observer. data Observer = forall a. Observer { observerName :: Name , observerExpr :: Expr a , observerExprType :: Type a }A trigger. data Trigger = Trigger { triggerName :: Name , triggerGuard :: Expr Bool , triggerArgs :: [UExpr] }eA property. data Property = Property { propertyName :: Name , propertyExpr :: Expr Bool }G;A Copilot specification consists of a list of variables bound to anonymous streams, a lost of anomymous streams, a list of observers, and a list of triggers. data Spec = Spec { specStreams :: [Stream] , specObservers :: [Observer] , specTriggers :: [Trigger] , specProperties :: [Property] } GGG GSafe!";NNormal argument calls.%HIJKLMNOPQRSTUVWXYZ[\]^_`abcdHIJKLMNOPQRSTUVWXYZ[\]^_`abcda`_^Z[\]YVWXUMNOPQRSTbcHIJKLdHIJKLMNOPQRSTUVWXYZ[\]^_`abcdSafe!" eee e None;IN fgh ij  fghijfghij fgh ij  Safeklmnoklmnoklmnoklmno None!";N Define a C function. Call a C function.p  q !"#$%&pqqpp  q !"#$%& Nonersrssrrs Nonew5sbvs are optional additional SBVCodeGens to generate.tuvw'( klmnotuvwvuwttuvw'() !"##$%&'()*+,-./012344$5677899:;<<=>?@ABCDEFGHI#JJKLMNOPQRRSTUUVWXYZ[\]^_ ` a b c d e e f g h i j k l m n o pqrstuvwxyz{|}~            ` a b            copil_7QMkFWVomkNHYksx2GFJ37Copilot.Compile.SBV.WitnessCopilot.Compile.SBV.QueueCopilot.Compile.SBV.CommonCopilot.Compile.SBV.Copilot2SBVCopilot.Compile.SBV.ACSLproofCopilot.Compile.SBV.TransformCopilot.Compile.SBV.MetaTableCopilot.Compile.SBV.ACSLexprCopilot.Compile.SBV.CodeCopilot.Compile.SBV.ParamsCopilot.Compile.SBV.DriverCopilot.Compile.SBV.MakefileCopilot.Compile.SBVsbvCastCastInst IntegralInstBitsInst MergeableInstOrdInstBVDivisibleInstEqInstHasSignAndSizeInstNumInst SymWordInst symWordInstnumInsthasSignAndSizeInsteqInstdivInstordInst mergeableInstbitsInst integralInstcastInstQueuequeue QueueSize lookahead mkTmpStVar mkUpdateStFn mkQueueVar mkQueuePtrVar mkExtTmpVar mkExtTmpTag mkExtArrFn mkExtFunArgFn mkObserverFnmkTriggerGuardFnmkTriggerArgFnmkArgIdx tagExtractQueueInquePtrarrTypeQueInputarrInputExtInputextInputextTypeInputsextVarsextArrsextFunsextQuesExtQueExtc2sExprtransformProofACSL transformArgExtern ExternFun ExternArr MetaTable streamInfoMapexternVarInfoMapexternArrInfoMapexternFunInfoMaptriggerInfoMapobserverInfoMapObserverInfoMap ObserverInfo observerArgsTriggerInfoMap TriggerInfo guardArgstriggerArgArgsExternFunInfoMapExternArrInfoMapExternVarInfoMap StreamInfoMapallocMetaTable collectArgsc2ArgsppExpr updateStatesupdateObservers fireTriggers getExtArrs getExtFunsParamsprefix defaultParams withPrefix driverNamedriver makefileNamemakefile sbvDirName proofACSLcompilecompileWithSBVSBVCastbadInstbadFloatcastBoolcastErr$fSBVCastInt64Double$fSBVCastInt64Float$fSBVCastInt64Word64$fSBVCastInt64Word32$fSBVCastInt64Word16$fSBVCastInt64Word8$fSBVCastInt64Int64$fSBVCastInt64Int32$fSBVCastInt64Int16$fSBVCastInt64Int8$fSBVCastInt32Double$fSBVCastInt32Float$fSBVCastInt32Word64$fSBVCastInt32Word32$fSBVCastInt32Word16$fSBVCastInt32Word8$fSBVCastInt32Int64$fSBVCastInt32Int32$fSBVCastInt32Int16$fSBVCastInt32Int8$fSBVCastInt16Double$fSBVCastInt16Float$fSBVCastInt16Word64$fSBVCastInt16Word32$fSBVCastInt16Word16$fSBVCastInt16Word8$fSBVCastInt16Int64$fSBVCastInt16Int32$fSBVCastInt16Int16$fSBVCastInt16Int8$fSBVCastInt8Double$fSBVCastInt8Float$fSBVCastInt8Word64$fSBVCastInt8Word32$fSBVCastInt8Word16$fSBVCastInt8Word8$fSBVCastInt8Int64$fSBVCastInt8Int32$fSBVCastInt8Int16$fSBVCastInt8Int8$fSBVCastWord64Double$fSBVCastWord64Float$fSBVCastWord64Int64$fSBVCastWord64Int32$fSBVCastWord64Int16$fSBVCastWord64Int8$fSBVCastWord64Word64$fSBVCastWord64Word32$fSBVCastWord64Word16$fSBVCastWord64Word8$fSBVCastWord32Double$fSBVCastWord32Float$fSBVCastWord32Int64$fSBVCastWord32Int32$fSBVCastWord32Int16$fSBVCastWord32Int8$fSBVCastWord32Word64$fSBVCastWord32Word32$fSBVCastWord32Word16$fSBVCastWord32Word8$fSBVCastWord16Double$fSBVCastWord16Float$fSBVCastWord16Int64$fSBVCastWord16Int32$fSBVCastWord16Int16$fSBVCastWord16Int8$fSBVCastWord16Word64$fSBVCastWord16Word32$fSBVCastWord16Word16$fSBVCastWord16Word8$fSBVCastWord8Double$fSBVCastWord8Float$fSBVCastWord8Int64$fSBVCastWord8Int32$fSBVCastWord8Int16$fSBVCastWord8Int8$fSBVCastWord8Word64$fSBVCastWord8Word32$fSBVCastWord8Word16$fSBVCastWord8Word8$fSBVCastBoolInt64$fSBVCastBoolInt32$fSBVCastBoolInt16$fSBVCastBoolInt8$fSBVCastBoolWord64$fSBVCastBoolWord32$fSBVCastBoolWord16$fSBVCastBoolWord8$fSBVCastBoolBoolmkVarEnvLocal localSBVExpr localType lookupInputc2sExpr_ noFloatOpsErrc2sOp1c2sOp2c2sOp3transformStreamtransformObservertransformTriggertransformPropertytransformUExpr transformExprshowType transformOp1 transformOp2 transformOp3transformSExpr argToCall allocStreamallocExternVarsallocExternArrsallocExternFuns allocTrigger allocObserverc2Args_strmNameptrNameppUExprppOp1ppOp2ppOp3ppInfix ppPrefix2ppPrefixSBVFunc mkSBVFunc mkArgCallmkInputs mkExtInput_mkFunc mkFuncCallDeclretTdeclVarinitValmkArgsvarDecls declObservers sampleExts sampleVExt sampleAExt sampleFExtwriteACSLqueues updateBuffers updatePtrs updatePtrsFupdateBuffersF updateStatesF triggersF observersF sampleExtsFretTypereadme omitSBVDriver