I$9      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None%&:<=PA class for casting SBV values. We return errors for casts allowed by Copilot.}  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw    r    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwNonexyz{|xyz{|xyz|{xyz{|None%&ATA 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 }};A Copilot specification consists of a list of variables bound to anonymous streams, a list of anomymous streams, a list of observers, and a list of triggers. data Spec = Spec { specStreams :: [Stream] , specObservers :: [Observer] , specTriggers :: [Trigger] , specProperties :: [Property] } }}} }Safe~~~~Safe None%&AT Safe%&ATNormal argument calls.%None%&ATDefine a C function.Call a C function.           None None%&AT[A 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] };A Copilot specification consists of a list of variables bound to anonymous streams, a list of anomymous streams, a list of observers, and a list of triggers. data Spec = Spec { specStreams :: [Stream] , specObservers :: [Observer] , specTriggers :: [Trigger] , specProperties :: [Property] } Safe%&  !"#$%&  !"#$%& NoneAOT[ '()*+, '()*+, None5sbvs are optional additional SBVCodeGens to generate.-. ~-./ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}~}|                         (copilot-sbv-2.2.1-JVk2kcXu3S56caAHj3iUrNCopilot.Compile.SBV.WitnessCopilot.Compile.SBV.QueueCopilot.Compile.SBV.TransformCopilot.Compile.SBV.ParamsCopilot.Compile.SBV.CommonCopilot.Compile.SBV.Copilot2SBVCopilot.Compile.SBV.MetaTableCopilot.Compile.SBV.DriverCopilot.Compile.SBV.MakefileCopilot.Compile.SBV.ACSLproofCopilot.Compile.SBV.ACSLexprCopilot.Compile.SBV.CodeCopilot.Compile.SBVsbvCastCastInst IntegralInstBitsInst MergeableInstOrdInstBVDivisibleInstEqInstHasSignAndSizeInstNumInst SymWordInst symWordInstnumInsthasSignAndSizeInsteqInstdivInstordInst mergeableInstbitsInst integralInstcastInst$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$fSBVCastBoolBoolQueuequeue QueueSize lookahead transformParamsprefix defaultParams withPrefix mkTmpStVar mkUpdateStFn mkQueueVar mkQueuePtrVar mkExtTmpVar mkExtTmpTag mkExtArrFn mkExtFunArgFn mkObserverFnmkTriggerGuardFnmkTriggerArgFnmkArgIdx tagExtractQueueInquePtrarrTypeQueInputarrInputExtInputextInputextTypeInputsextVarsextArrsextFunsextQuesExtQueExtc2sExprArgExtern ExternFun ExternArr MetaTable streamInfoMapexternVarInfoMapexternArrInfoMapexternFunInfoMaptriggerInfoMapobserverInfoMapObserverInfoMap ObserverInfo observerArgsTriggerInfoMap TriggerInfo guardArgstriggerArgArgsExternFunInfoMapExternArrInfoMapExternVarInfoMap StreamInfoMapallocMetaTable collectArgsc2Args$fEqArg driverNamedriver makefileNamemakefiletransformProofACSLppExpr updateStatesupdateObservers fireTriggers getExtArrs getExtFuns sbvDirName proofACSLcompilecompileWithSBVSBVCastbadInstbadFloatcastBoolcastErrtransformStreamtransformObservertransformTriggertransformPropertytransformUExpr transformExpr transformOp1 transformOp2 transformOp3mkVarEnvLocal localSBVExpr localType lookupInputc2sExpr_ noFloatOpsErrc2sOp1c2sOp2c2sOp3 argToCall allocStreamallocExternVarsallocExternArrsallocExternFuns allocTrigger allocObserverc2Args_mkFunc mkFuncCallDeclretTdeclVarinitValmkArgsvarDecls declObservers sampleExts sampleVExt sampleAExt sampleFExtwriteACSLqueues updateBuffers updatePtrs updatePtrsFupdateBuffersF updateStatesF triggersF observersF sampleExtsFretTypetransformUExpr'transformExpr'showTypesimpl simplUExprsimplOp1simplOp2simplOp3strmNameptrNameppOp1ppOp2ppOp3ppInfix ppPrefix2ppPrefixSBVFunc mkSBVFuncepsilon mkArgCallmkInputs mkExtInput_readme omitSBVDriver