h&LJE      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                   3Custom functions to report error messages to users.7(c) 2011 National Institute of Aerospace / Galois, Inc.Safeq copilot-core(Report an error due to a bug in Copilot. copilot-coreReport an error due to an error detected by Copilot (e.g., user error). copilot-core5Name of the function in which the error was detected. copilot-core5Name of the package in which the function is located. copilot-coreDescription of the error.7(c) 2011 National Institute of Aerospace / Galois, Inc.Safe)*1  copilot-core,Flattening or conversion of arrays to lists. copilot-coreFlatten an array to a list. copilot-coreAssociation between an array and the type of the elements it contains. copilot-coreImplementation of an array that uses type literals to store length. copilot-coreSmart array constructor that only type checks if the length of the given list matches the length of the array at type level. copilot-core4Total number of elements in a possibly nested array. copilot-coreReturn the elemts of an array. copilot-core,This instance is deprecated in Copilot 3.11.  copilot-coreFlattening of nested arrays.  copilot-coreFlattening of plain arrays.Safe)* X  copilot-coreType equality. If the value of x =~= y is  Just Refl, then the two types x and y are equal.  copilot-corePropositional equality. copilot-core0Safe coercion, which requires proof of equality. copilot-core Proof of propositional equality. copilot-core Symmetry. copilot-core Transitivity. copilot-core Congruence.   Typing for Core.7(c) 2011 National Institute of Aerospace / Galois, Inc.Safe )*1 copilot-core!A untyped type (no phantom type). copilot-coreA typed expression, from which we can obtain the two type representations used by Copilot: ( and . copilot-coreA simple, monomorphic representation of types that facilitates putting variables in heterogeneous lists and environments in spite of their types being different.( copilot-coreA Type representing the types of expressions or values handled by Copilot Core.Note that both arrays and structs use dependently typed features. In the former, the length of the array is part of the type. In the latter, the names of the fields are part of the type.6 copilot-coreA field in a struct. The name of the field is a literal at the type level.8 copilot-coreThe field of a struct, together with a representation of its type.: copilot-coreThe value of that is a product or struct, defined as a constructor with several fields.; copilot-core2Returns the name of struct in the target language.< copilot-core9Transforms all the struct's fields into a list of values.= copilot-coreExtract the name of a field.> copilot-coreExtract the name of an accessor (a function that returns a field of a struct).? copilot-core+Return the length of an array from its type@ copilot-core8Return the total (nested) size of an array from its typeN copilot-core+Type equality, used to help type inference.- !"#$%&'(42.)310/*+,-56789:<;=>?@-(42.)310/*+,-5 !"#$%&'@?89<67;:=>-Internal representation of Copilot operators.7(c) 2011 National Institute of Aerospace / Galois, Inc.Safe)*nS copilot-coreTernary operators.U copilot-coreBinary operators.m copilot-coreUnary operators.l copilot-core,Array access/projection of an array element. copilot-coreCasting operator. copilot-coreProjection of a struct field.3STUa\[VWXYZ]^_`bcdefghijklmnopqrstuvwxyz{|}~3mnopqrstuvwxyz{|}~Ua\[VWXYZ]^_`bcdefghijklST6Internal representation of Copilot stream expressions.7(c) 2011 National Institute of Aerospace / Galois, Inc.Safe)* copilot-coreA untyped expression that carries the information about the type of the expression as a value, as opposed to exposing it at type level (using an existential). copilot-core6Internal representation of Copilot stream expressions.The Core representation mimics the high-level Copilot stream, but the Core representation contains information about the types of elements in the stream. copilot-coreAn index for the drop operator. copilot-coreA name of a trigger, an external variable, or an external function. copilot-coreA stream identifier.7(c) 2011 National Institute of Aerospace / Galois, Inc.Safe)*p copilot-coreA Copilot specification is a list of streams, together with monitors on these streams implemented as observers, triggers or properties. copilot-coreA property, representing a boolean stream that is existentially or universally quantified over time. copilot-coreA trigger, representing a function we execute when a boolean stream becomes true at a sample. copilot-coreAn observer, representing a stream that we observe during interpretation at every sample. copilot-core>A stream in an infinite succession of values of the same type.Stream can carry different types of data. Boolean streams play a special role: they are used by other parts (e.g., >) to detect when the properties being monitored are violated. Trustworthy copilot-coreAn extern variable declaration, together with the type of the underlying extern. copilot-core,List of all externs used in a specification. copilot-core1Extract all externs used in a Copilot expression. copilot-core>Extract all expressions used in an untyped Copilot expression. copilot-coreApply a function to all expressions in a specification, concatenating the results.7Intermediate representation for Copilot specifications.7(c) 2011 National Institute of Aerospace / Galois, Inc.SafeI'&%$#"! (5-,+*/013).426789:<;=>?@STUlkjihgfedcb`_^]ZYXWV[a\m~}|{zyxwvutsrqpno7(c) 2011 National Institute of Aerospace / Galois, Inc.Safe)*O copilot-core.Witness datatype for showing a value, used by . copilot-coreTarget language for showing a typed value. Used to adapt the representation of booleans. copilot-coreShow a value. The representation depends on the type and the target language. Booleans are represented differently depending on the backend. copilot-coreShow Copilot Core type. copilot-core Turn a type into a show witness. Safe-Inferred Safe)*%a copilot-coreCreate a unique stream name by prefixing the given ID by a lowercase letter "s". copilot-core"Pretty-print a Copilot expression.?The type is ignored, and only the expression is pretty-printed. copilot-core#Pretty-print an untyped expression.?The type is ignored, and only the expression is pretty-printed. copilot-corePretty-print a unary operation. copilot-core Pretty-print a binary operation. copilot-core!Pretty-print a ternary operation. copilot-coreParenthesize two s, separated by an infix . copilot-core Prefix a  by a . copilot-corePretty-print a Copilot stream as a case of a top-level function for streams of that type, by pattern matching on the stream name. copilot-core8Pretty-print a Copilot trigger as a case of a top-level trigger4 function, by pattern matching on the trigger name. copilot-core9Pretty-print a Copilot observer as a case of a top-level observer5 function, by pattern matching on the observer name. copilot-core9Pretty-print a Copilot property as a case of a top-level property5 function, by pattern matching on the property name. copilot-core=Pretty-print a Copilot specification, in the following order:Streams definitionsTrigger definitionsObserver definitionsProperty definitions copilot-core%Pretty-print a Copilot specification. Safe)*3 copilot-core>Create a temporary/internal name from an extern variable name. copilot-core;Pretty print a Copilot Expression as a GraphViz graph part. See the  https://github.com/Copilot-Language/copilot-discussion/tree/master/TutorialAndDevGuide/DevGuidedevelopment guide for details. copilot-corePretty print an untyped Copilot Expression as a graphiViz graph part. See the  https://github.com/Copilot-Language/copilot-discussion/tree/master/TutorialAndDevGuide/DevGuidedevelopment guide for details. copilot-corePretty print a unary operator. copilot-corePretty print a binary operator. copilot-core Pretty print a ternary operator. copilot-core/Pretty print a stream as a GraphViz graph part. copilot-core0Pretty print a trigger as a GraphViz graph part. copilot-corePretty print a list of untyped Copilot Expressions as a GraphViz graph part. copilot-core2Pretty print an observer as a GraphViz graph part. copilot-core1Pretty print a property as a GraphViz graph part. copilot-core8Pretty print a list of streams as a GraphViz graph part. copilot-core9Pretty print a list of triggers as a GraphViz graph part. copilot-core:Pretty print a list of observers as a GraphViz graph part. copilot-core;Pretty print a list of properties as a GraphViz graph part. copilot-core=Pretty-print a Copilot specification as a GraphViz/dot graph. copilot-core:Pretty-print a Copilot expression as a GraphViz/dot graph. copilot-core=Pretty-print a Copilot specification as a GraphViz/dot graph.  copilot-core*Index or ID of the next node in the graph. copilot-core,Index or ID of the parent node in the graph. copilot-coreMark externs with the prefix externV:. copilot-coreThe expression to pretty print. copilot-core*Index or ID of the next node in the graph. copilot-core,Index or ID of the parent node in the graph. copilot-coreMark externs with the prefix externV:. copilot-coreThe expression to pretty print. copilot-core*Index or ID of the next node in the graph. copilot-coreStream to pretty print copilot-core*Index or ID of the next node in the graph. copilot-coreTrigger to pretty print copilot-core*Index or ID of the next node in the graph. copilot-core,Index or ID of the parent node in the graph. copilot-coreMark externs with the prefix externV:. copilot-core(The list of expressions to pretty print. copilot-core*Index or ID of the next node in the graph. copilot-coreObserver to pretty print copilot-core*Index or ID of the next node in the graph. copilot-coreProperty to pretty print copilot-core*Index or ID of the next node in the graph. copilot-coreList of streams to pretty print copilot-core*Index or ID of the next node in the graph. copilot-core List of triggers to pretty print copilot-core*Index or ID of the next node in the graph. copilot-core!List of observers to pretty print copilot-core*Index or ID of the next node in the graph. copilot-core"List of properties to pretty print copilot-core*Index or ID of the next node in the graph. copilot-coreSpec to pretty print. copilot-coreMark externs with the prefix externV:. copilot-coreThe expression to pretty print. Safe)*6A copilot-coreAn environment that contains an association between (stream or extern) names and their values. copilot-coreAn execution trace, containing the traces associated to each individual monitor trigger and observer. copilot-coreMap from trigger names to their optional output, which is a list of strings representing their values. The output may be  if the guard for the trigger was false. The order is important, since we compare the arg lists between the interpreter and backends. copilot-core)Map from observer names to their outputs. copilot-coreThe simulation output is defined as a string. Different backends may choose to format their results differently. copilot-coreAn environment that contains an association between (stream or extern) names and their values. copilot-coreExceptions that may be thrown during interpretation of a Copilot specification. copilot-core Extern array has incorrect size. copilot-coreIndex out-of-bounds exception. copilot-coreDivision by zero. copilot-coreFor one or more streams, not enough values are available to simulate the number of steps requested. copilot-coreOne of the externs used by the specification does not declare sample values to be used during simulation. copilot-core/Evaluate a specification for a number of steps. copilot-coreEvaluate an expression for a number of steps, obtaining the value of the sample at that time. copilot-coreEvaluate an extern stream for a number of steps, obtaining the value of the sample at that time. copilot-core Evaluate an  by producing an equivalent Haskell function operating on the same types as the . copilot-core Evaluate an  by producing an equivalent Haskell function operating on the same types as the . copilot-coreApply a function to two numbers, so long as the second one is not zero.Used to detect attempts at dividing by zero and produce the appropriate . copilot-core Evaluate an  by producing an equivalent Haskell function operating on the same types as the . copilot-core?@ABCDEFGHHIIGJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    =>?@ABCD                                               (copilot-core-3.12-L3ZMbd8gqoS3LxispsYlXICopilot.Core.Type.ArrayCopilot.Core.Type.EqualityCopilot.Core.TypeCopilot.Core.OperatorsCopilot.Core.ExprCopilot.Core.SpecCopilot.Core.ExternalCopilot.Core.Type.ShowCopilot.Core.PrettyPrintCopilot.Core.PrettyDotCopilot.Core.Interpret.EvalCopilot.Core.InterpretCopilot.Core.Error Copilot.CoreCopilot.Core.Type.ShowInternalOp1Op2Op3Copilot.Core.Interpret.RenderFlattenflatten InnerTypeArrayarraysize arrayelems$fFoldableArray $fShowArray$fFlattenArrayb $fFlattenaa EqualType=~=EqualReflcoercereflsymmtranscongUType uTypeTypeTypedtypeOf simpleType SimpleTypeSBoolSInt8SInt16SInt32SInt64SWord8SWord16SWord32SWord64SFloatSDoubleSArraySStructTypeBoolInt8Int16Int32Int64Word8Word16Word32Word64FloatDoubleStructFieldValuetypenametoValues fieldname accessornametylengthtysize $fShowField $fTypedArray $fTypedDouble $fTypedFloat $fTypedWord64 $fTypedWord32 $fTypedWord16 $fTypedWord8 $fTypedInt64 $fTypedInt32 $fTypedInt16 $fTypedInt8 $fTypedBool$fEqSimpleType$fTestEqualityTYPEType$fEqualTypeType$fShowt $fEqUTypeMuxAndOrAddSubMulModDivFdivPowLogbAtan2EqNeLeGeLtGtBwAndBwOrBwXorBwShiftLBwShiftRIndexNotAbsSignRecipExpSqrtLogSinTanCosAsinAtanAcosSinhTanhCoshAsinhAtanhAcoshCeilingFloorBwNotCastGetFieldUExpr uExprType uExprExprExprConstDropLocalVar ExternVarLabelDropIdxNameIdSpec specStreams specObservers specTriggersspecPropertiesProperty propertyName propertyExprTrigger triggerName triggerGuard triggerArgsObserver observerName observerExprobserverExprTypeStreamstreamId streamBuffer streamExprstreamExprTypeExtVar externVarName externVarType externVarsShowTypeCHaskell showWithTypeshowTypeppExpr prettyPrintprettyPrintExprDotprettyPrintDot ExecTraceinterpTriggersinterpObserversOutputEnveval$fExceptionInterpException$fShowInterpException$fShowExecTraceFormatTableCSV interpret impossiblebadUsageexternVarsExprexternVarsUExprallghc-prim GHC.TypesIntbaseGHC.IntWordGHC.Word byteSwap64 byteSwap32 byteSwap16 bitReverse8 bitReverse64 bitReverse32 bitReverse16ShowWitshowWitstrmNameppUExprppOp1ppOp2ppOp3ppInfixpretty-1.1.3.6Text.PrettyPrint.HughesPJDocGHC.BaseStringppPrefixppStream ppTrigger ppObserver ppPropertyppSpec mkExtTmpVar ppExprDotppUExprL ppStreamL ppTriggerL ppObserverL ppPropertyL ppSpecDotLocalEnv GHC.MaybeNothingInterpExceptionArrayWrongSizeArrayIdxOutofBounds DivideByZeroNotEnoughValues NoExtsInterp evalExpr_ evalExternVarevalOp1evalOp2 catchZeroevalOp3initStrm evalStreams evalTrigger evalObserver evalExprs_ safeIndex renderAsTable renderAsCSVunfoldsteppadpad'