`?EM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL!Safe%&AT MNOPQRSTUVMNOPQRTSMNOPQRSTUVSafeWXYZWXYZWXYZSafe%&OT [\]^_`abcd]^_`[\]^_`abcSafe#$%&AT" e       e Safefghfghfgh Safeijklmijklmijklm Safe9;nopqrstuvwxyz{|npoqrstuvwxyz{ nopqrstuvwxyz{| Safe}~~}~ Safe%&AOT[Some high level utilities to translate a Copilot operator in a standard way | The unhandled operators are monomorphic, and their names are labeled so | that each name corresponds to a unique uninterpreted function with a | monomorphic type.*(   Safe%&AOT3]MNOPQRTSWXYZSafe#%&Safe SafeOTCompletes each node of a specification with imported variables such | that each node contains a copy of all its dependencies | The given specification should have its node sorted by topological | order. | The top nodes should have all the other nodes as its dependencies  Safe #$%&:OT'      !"#$%&'()*+,       !"#$%&'()*+,SafecMNOPQRTSWXYZSafeOT-..-.Safe"/0123456789:;<=>?@ABCDEFGHIJKLMNOP"/0123456789:;=<>?A@BCDEFGHIJKLMNOP/0123456789:;<=>?@ABCDEFGHIJKLMNOPSafe QRSTUVWXYZ[S QRSTUVWXYZ[Safe#$%&OT\]^_`abcdefghijklmn\]^`\]^_`abcdefghijklmn Trustworthy[ opqr!"#$stu%vw!"#$!"#$opqr!"#$stu%Safe-vw/0123456789:;=<>?A@BCDEFGHIJKLMNOPS\]^`!"#$Safe%&AT[Rxyz{|}~Mxyz{|~}x yz{|}~ Safe[5A transformation intended to remove boolean literals.Safe#%&OT[9Translates a Copilot specification to an IL specificationSafe#%&  SafeRxyz{|~}SafeOT&'&'&'Safe#$OT[            Safe%&9;( (( Safe%&[!"#$%)&'()*+,-.)( !"#$%)&'()*+,-. Trustworthy #%&9;OT[/1Checks the Copilot specification with k-induction*Tactics3Backends2012345678/*+,-./01234567899:;<=>?@ABCDEFGHIJKLMNO:vw&'()*+.,-/0123456789*+,-.12/03759648&'()'012345678/*+,-./01234567899:;<=>?@ABCDEFGHIJKLMNO: Trustworthy #%&9:;<=OT[PpThis is all very ugly. It might make better sense to go straight from Core to SMTExpr, or maybe use SBV instead.Q1Checks the Copilot specification with k-induction>TacticsORSTUVWXYZ[\]^_`aPbcdefghijklQ>?@ABCDEFGmnopqrstuvwxyz{|}~HI vw>?CAB@DEFG >?@ABCFGDE4RSTUVWXYZ[\]^_`aPbcdefghijklQ>?@ABCDEFGmnopqrstuvwxyz{|}~HI!Safe fgh "#$%&'(')*++,--./01234567889:;<=>??@ABCDE F??GHIJKLMNOPQRSTBUVW??XGHIJKLMYBUVWZZ[[\]^_`abcdefghijklmnopqrstu v w x y z { | } ~                                                           ,        !"#$%&'()*+,-./01234567\8_]99:;<<=>?@AABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijkljkmnnopqrsstu,vwxyz2\]_{|}~` _"LO36CItE     |          ete     ,copilot-theorem-2.2.1-4tfsGo0BavDBGXQf9G1CC2Copilot.Theorem.ProveCopilot.Theorem.Kind2.ProverCopilot.Theorem.Prover.SMTCopilot.Theorem.Prover.Z3Copilot.Theorem.TransSys.Type#Copilot.Theorem.TransSys.InvariantsCopilot.Theorem.TransSys.CastCopilot.Theorem.TacticsCopilot.Theorem.Misc.UtilsCopilot.Theorem.Misc.SExprCopilot.Theorem.Misc.Error"Copilot.Theorem.TransSys.OperatorsCopilot.Theorem.TransSys.Spec$Copilot.Theorem.TransSys.PrettyPrint!Copilot.Theorem.TransSys.Renaming"Copilot.Theorem.TransSys.Transform"Copilot.Theorem.TransSys.TranslateCopilot.Theorem.TransSysCopilot.Theorem.Kind2.OutputCopilot.Theorem.Kind2.AST!Copilot.Theorem.Kind2.PrettyPrintCopilot.Theorem.Kind2.TranslateCopilot.Theorem.Kind2Copilot.Theorem.IL.SpecCopilot.Theorem.IL.TransformCopilot.Theorem.IL.TranslateCopilot.Theorem.IL.PrettyPrintCopilot.Theorem.ILCopilot.Theorem.Prover.BackendCopilot.Theorem.Prover.SMTIOCopilot.Theorem.Prover.SMTLibCopilot.Theorem.Prover.TPTPCopilot.TheoremActionCheckAssumeAdmit ProofSchemeProofUProof Existential UniversalPropRefPropIdProver proverName startProver askProver closeProverStatusSatValidInvalidUnknownErrorOutputcheckprovecombine$fMonadProofScheme$fApplicativeProofScheme$fFunctorProofSchemeOptionsbmcMax kind2Prover$fDefaultOptionsBackend SmtFormatSmtLibTptpstartKmaxKdebugonlySat onlyValidity induction kInductionyicescvc4altErgoz3dRealmathsatmetit$fShowSolverId $fOrdSolverId $fEqSolverIdnraNLSat$fSMTBackendDebugBackendmU2UTypeBoolIntegerReal $fShowType$fEqualTypeType HasInvariants invariants checkInvspropCasted_castDyn castedTypecastcasting$fCastedDouble $fCastedBool$fCastedInteger)copilot-core-2.2.1-KBXFMiVzDC01KLfIHHLlK7Copilot.Core.Type.DynamictoDyncombineOutputs instantiateassumeadmit isSublistOfnubEqnub'nubBy' openTempFileSExprAtomListblankatomunit singletonlistnodeindenttoStringtoDocparser parseSExpr $fShowSExpr errorHeaderbadUse impossible impossible_ notHandledfatal UnhandledOp1 UnhandledOp2Op2EqAndOrLeLtGeGtAddSubMulModFdivPowOp1NotNegAbsExpSqrtLogSinTanCosAsinAtanAcosSinhTanhCoshAsinhAtanhAcosh handleOp1 handleOp2 typeErrMsg $fShowOp2 $fShowOp1ExprConstIteVarEVarDefPreConstrsVarDescrvarTypevarDefExtVar extVarNodeextVarLocalPartVarvarNameNodenodeIdnodeDependencies nodeLocalVarsnodeImportedVars nodeConstrsTransSys specNodes specTopNodeId specPropsNodeIdmkExtVarfoldExpr foldUExpr transformExpr nodeVarsSetnodeLocalVarsSetnodeRhsVarsSetnodeImportedExtVarsSetnodeExportedExtVarsSet specNodesIdsspecDependenciesGraph specTopNodeisTopologicallySorted $fShowExtVar$fHasInvariantsTransSys$fHasInvariantsNode emptyLine prettyPrintpSpecpProppTypepListpNodepConstpExtVarpIVarpLVarpExprpOp1pOp2 RenamingST_reservedNames _renamingRenamingaddReservedName getFreshNamerename getRenamingF runRenamingcompleteprefix ncNodeIdSep mergeNodesupdateOtherNode updateExprmergeVarsDescrs mergeConstrsrenameLocalVarsselectImportedVarsredirectLocalImportsinline removeCyclesTransTransSt_lvars _importedVars _dependencies _extVarsNodes_curNode_nextUidncSepncMainncNode ncPropNode ncTopNode ncAnonInputncLocalncExternVarNodencExternFunNodencExternArrNode ncImported ncTimeAnnot translate mkTopNode mkExtVarNode mkPropNodes streamOfPropstreamexprnewUnconstrainedVarrunTrans runExprTransnewDep popLocalInfosgetUidgetFreshNodeNamenewImportedVarnewLocalcurNode newExtVarNode simpleName parseOutputTerm ValueLiteralPrimedStateVarStateVarFunAppPredAppPredTypeInit StateVarFlagFConstInt StateVarDefvarIdvarFlagsPredDefpredId predStateVarspredInit predTransProppropNamepropTermFile filePreds filePropsSSExprkwPrime shouldIndentppFileppPropsppProp ppPredDef ppStateVarDefppTypeppTermStyleInlinedModularDepGraphtoKind2trSpectrProptrNodeaddAssumptionsgatherPredStateVarsmkConj mkEqualitytrVar trPrimedVartrConst initLocals transLocals predCallstrExprProverSToptionstransSys kind2Progkind2BaseOptionsaskKind20data-default-class-0.1.2.0-GsXqKN6o1X9jr0fF5qCVDData.Default.ClassDefaultdefIL modelInitmodelRec properties inductiveSeqDescrseqIdseqTypeargsConstBConstRConstISValSBV8SBV16SBV32SBV64BV8BV16BV32BV64SeqIndexFixedSeqIdtypeOf_n__n_plusevalAt $fOrdVarDescr $fEqVarDescrbsimplTransSTlocalConstraintsmuxes nextFresh addBoundsncSeq ncExternVar ncExternFun ncUnhandledOpncMuxtranslateWithBounds translate'bound streamInit streamRectrOp1trOp2trTypenewMuxgetMuxesfreshlocalConstraintpopLocalConstraintsprintConstraintppSpec ppSeqDescr ppVarDescrppExpr ppSeqIndexppOp1ppOp2 SatResultUnsatnamecmdcmdOptsinputTerminator incrementallogic interpretpushpopcheckSatsetLogicdeclFunassertSolver solverNameinhouthprocess debugModevarsmodelbackendsendreceivestartNewSolverstopassume'entaileddeclVarssmtTy$fSmtFormatSmtLib $fShowSmtLibTptpExprBinUnFunAxNullshowOp1showOp2$fSmtFormatTptp$fShowTptpExpr $fShowTptp ProofScriptSolverIdBaseStep ProofStatesolversspecrunPS getModels getSolver setSolver deleteSolver proofKind stopSolvers entailmentgetVarsunknownunknown'invalidsatvalid kInduction'onlySat' onlyValidity' selectProps DebugBackend debugBackend debugHandle debugLines debugPrefix debugUseColormute TransStateboolVarsbv8Varsbv16Varsbv32Varsbv64VarsratVarsassumpssetVars newAssumpsnoVars getBoolVar getBV8Var getBV16Var getBV32Var getBV64Var getRatVargetVartransBncVartransRtransBV8 transBV16 transBV32 transBV64namedDebugBackend