$      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~      None+EMg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefa  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefNoneMhSMTLIB2 query filel PartitionmConstraint Graphn*Previous output (for incremental checking)o*Previous source (for incremental checking)p-JSON file containing result (annots + errors)q8Markdown file (temporarily generated from .Lhs + annots)rHTML file with templates?sFinal result: SAFE/UNSAFEt-Qualifiers file (e.g. include/Prelude.hquals)u%Spec file (e.g. include/Prelude.spec)vTypescript sourcewJavaScript sourcexLiterate Haskell sourceyHaskell sourcezVim annotation file{Text file with inferred types|(HTML file with inferred type annotations})Output from constraint solving (fixpoint)~&Input to constraint solving (fixpoint)!Constraint Generation Information7Hardwired Paths and Files -----------------------------&ghijklmnopqrstuvwxyz{|}~#ghijklmnopqrstuvwxyz{|}~#g~}|{zyxwvutsrqponmlkjihg~}|{zyxwvutsrqponmlkjihNone+24 target fq-file output filesrc file (*.hs, *.ts, *.c)which SMT solver to usegeneralize qualifier sortsuse UEq on all sortsuse haskell solverinterpret div and mul in SMTeliminate non-cut KVars+print meta-data associated with constraintscompute constraint statistics&partition FInfo into separate fq files' None  *+024BM$Values that can be viewed as SymbolsT     55R     None +./0234BHLocated Values ---------------------------------------------------------Start Position End PositionDA Class Predicates for Valid Refinements Types ---------------------Name Parameters PredicateSource Location The output of the Solver.'Values that can be viewed as Predicates0CGeneralizing Symbol, Expression, Predicate into Classes -----------&Values that can be viewed as Constants(Values that can be viewed as Expressions]EUninterpreted constants that are embedded as "constant symbol : Str"`constructed typea type-var arity, in-ts ++ [out-t]bfixpoint type variablecuninterpreted typed"numeric kind for Fractional tyvarsenumeric kind for Num tyvars:Environments ---------------------------------------------&Functions for Indexed Bind Environment'Functions for Global Binder Environment:String Constants -----------------------------------------:Edit Distance --------------------------------------------DExported Basic Sorts -----------------------------------------------DExported Basic Sorts -----------------------------------------------DExported Basic Sorts -----------------------------------------------DExported Basic Sorts -----------------------------------------------DExported Basic Sorts -----------------------------------------------Replace all symbol-representations-of-string-literals with string-literal Used to transform parsed output from fixpoint back into fq.,The symbol may be an encoding of a SymConst. parameters for Reft, vv + others      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgh ijklmnopqrst!"uvw#$xyz%&{|}'~()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~pqrstlmnu_gfedcba`hoxyz{|}~]^Y\[ZJONMLKPXWVUTSRQ?IHGFEDCBA@2>=<;:987654301./ !    "$# +,-%&'()*ijkvw@       !"$#%&'()*+,-./012 >=<;:9876543? IHGFEDCBA@JONMLKPXWVUTSRQY\[Z]^_gfedcba`h ijklmnopqrst!"uvw#$xyz%&{|}'~()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None2342Pretty-print something with a specific precedence.Wrap the enclosed , in parentheses only if the condition holds.% %#None+024MBA BareBones Error Type -------------------------------------------BA Reusable SrcSpan Type ------------------------------------------                NoneEFContext ctx8 is built in a "top-down" fashion; not "across" siblingsTransforms can access current ctx!Accumulations can access current ctx; acc value is monoidalVisitors over Sort     None3CAPI for manipulating Sort Substitutions ---------------------------DChecking Refinements -----------------------------------------------Types used throughout checkerDChecking Refinements -----------------------------------------------DChecking Expressions -----------------------------------------------&Helper for checking symbol occurrences,Helper for checking if-then-else expressions$Helper for checking cast expressions7Helper for checking uninterpreted function applications/Helper for checking binary (numeric) operationsDChecking Predicates ------------------------------------------------Checking RelationsKSpecial case for polymorphic singleton variable equality e.g. (x = Set_emp)&Special case for Unsorted Dis/Equality$Unification of Sorts%DApplying a Type Substitution ---------------------------------------CDeconstruct a function-sort ---------------------------------------DError messages -----------------------------------------------------@ !"#$%       !"#$% " !#$%= !"#$%      None24&BAST Conversion: Types that can be serialized ---------------------Types that can be serialized( Theory Symbol-*Information about the external SMT process4"Responses received from SMT engine;Commands issued to SMT engineDETypes ---------------------------------------------------------------&'()*+,-./0123456789:;<=>?@ABCD&'()*+,-./0123456789:;<=>?@ABCDD;CBA@?>=<4:98765&'-./0123()*+,&'()*+,-./01234:98765;CBA@?>=<D None24EESet Theory ----------------------------------------------------------FESet Theory ----------------------------------------------------------GESet Theory ----------------------------------------------------------HESet Theory ----------------------------------------------------------IESet Theory ----------------------------------------------------------JESet Theory ----------------------------------------------------------&EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij&EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij&EJIHGFKTSRQPONMLU]\[ZYXWV^_`abcdefghij&EFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij None24klmnopqrstuvwxyklmnoyxkwvutsrlqmnpoklmnopqrstuvwxy None24FzESMT IO --------------------------------------------------------------|ESMT Context ---------------------------------------------------------HSMT Commands -----------------------------------------------------------HSMT Commands -----------------------------------------------------------"z{ !"#$%&'()*+|},~-./01234$&'-./0123456789:;<=>?@ABChz{|}~$;CBA@?>=<4:98765&'-./0123|}~z{h"z{ !"#$%&'()*+|},~-./01234None24EF@Apply Solution -------------------------------------------------@Expanded or Instantiated Qualifier -----------------------------@Types ----------------------------------------------------------CUpdate Solution ---------------------------------------------------?Initial Solution (from Qualifiers and WF constraints) ---------$56789:;<=>?@ABCDEFGHIJKL  56789:;<=>?@ABCDEFGHIJKLNone/symbol |-> sort for EVERY variable in the FInfoMAAlpha Rename bindings to ensure each var appears in unique binderN8Drop Higher-Order Binders and Constants from EnvironmentOPQRSTUMVWNXYZ[\OPQRSTUMVWNXYZ[\NoneFSolver Monadic API ---------------------------------------------------FSMT Interface --------------------------------------------------------]^_`abcdefgh ]^_`abcdefghNone+0Construct the bitvector _ from its 4Apply some bitvector operator to a list of argumentsi Construct an ?/ using a raw string, e.g. (Bv S32 "#x02000000")jklmi   jklmiNone0234En@Parsing Constraints (.fq files) --------------------------------o9BitVector literal: lit "#x00000001" (BitVec (Size32 obj))@Parsing Qualifiers ---------------------------------------------p@Interacting with Fixpoint --------------------------------------xnqrstuvwxyz{|}~op))nnxwvutsrqyz{|}~opNone9Dummy just for debugging --------------------------------9Compute Dependencies and Cuts --------------------------- None3FNoneNone0NoneNoneFConstraint Dependencies ----------------------------------------------FWorklist -------------------------------------------------------------FWorklist -------------------------------------------------------------FSet API --------------------------------------------------------------          NoneEFFSingle Step Refinement -----------------------------------------------FConvert Solution into Result -----------------------------------------  !"  !"NoneFSolve .fq File -------------------------------------------------------FSolve FInfo system of horn-clause constraints ------------------------#Native Haskell Solver$External Ocaml SolverFParse External Qualifiers --------------------------------------------#%&$'()*+,-  #%&$'()*+,-. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%%&'()*+,-./0123456789:;<=>?@@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !!"#$%&'()*+,-./0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G  H I J K #  L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                   8| ^`_    * !!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                      =                      ! " # $ %  & ' ( ) * + , - . / 0 1 2 3 456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~%YX     : !"liquid-fixpoint-0.4.0.0Language.Fixpoint.MiscLanguage.Fixpoint.FilesLanguage.Fixpoint.ConfigLanguage.Fixpoint.NamesLanguage.Fixpoint.TypesLanguage.Fixpoint.PrettyPrintLanguage.Fixpoint.ErrorsLanguage.Fixpoint.VisitorLanguage.Fixpoint.SortLanguage.Fixpoint.Smt.TypesLanguage.Fixpoint.Smt.TheoriesLanguage.Fixpoint.Smt.SerializeLanguage.Fixpoint.Smt.Interface!Language.Fixpoint.Solver.Solution!Language.Fixpoint.Solver.ValidateLanguage.Fixpoint.Solver.MonadLanguage.Fixpoint.BitvectorLanguage.Fixpoint.ParseLanguage.Fixpoint.Solver.Deps"Language.Fixpoint.Solver.Eliminate Language.Fixpoint.Solver.UniqifyLanguage.Fixpoint.PartitionLanguage.Fixpoint.Statistics!Language.Fixpoint.Solver.WorklistLanguage.Fixpoint.Solver.SolveLanguage.Fixpoint.InterfaceListNEEmptyEmpMoodsAngryHappySadLoudOk moodColor wrapStarswrapStarsWithOptStars withColor colorStrLn colorPhaseLn startPhasedoneLinecolorPhaseLnWithOptStarsstartPhaseWithOptStarsdoneLineWithOptStars donePhasedonePhaseWithOptStars unIntersperse=>>wraprepeats errorstar errortextputDocLn assertstarfindWithDefaultLfst3snd3thd3singlemapFstmapSndmapFst3mapSnd3mapThd3 expandSndmapPairmlookup safeLookup mfromJust boxStrCat tryIgnore traceShowwarnShowinserts concatMapsgroup groupBase groupListgroupFunmkGraphgroupMapsortNubsortDifffoldsdistinct tr_reverse tr_foldr'safeZip safeZipWith safeFromList safeUnionsafeHeadsafeLastsafeInit safeUncons safeUnsnoc memoIndex checkFail chopAfter chopPrefix firstElemchopAlt firstElems splitters bchopAltschopAlts findFirsttestM stripParensifMexecuteShellCommandexecuteShellCommandWithOptStars checkExitCodehashMapToAscListhashMapMapWithKeyhashMapMapKeys applyNonNull concatMapM angleBracketsdotarrowdcolon interspersetshowfoldlMap mapEither<$$>ExtSmt2DatPAssPredPartDotCacheSavedJsonMkdnCstResultHqualsSpecTsJsLHsHsVimAnnotHtmlOutFqCgigetFixpointPath getZ3LibPathwithExt extFileName tempDirectory extFileNameR isExtFile extModuleName copyFiles getFileInDirs SMTSolverZ3memMathsatCvc4Z3 UeqAllSortsUASGenQualifierSortGQSConfiginFileoutFilesrcFilesolvergenSorts ueqAllSortsnativereal eliminatemetadatastatspartsCommandcommand withTargetgetOptsSymbolicsymbolSymbolsymChars symbolStringencode symbolText isPrefixOfSym isSuffixOfSym takeWhileSymheadSymconsSym singletonSym lengthSym unconsSymdropSymstripParensSym suffixSymbol qualifySymbolvvvvConisNontrivialVV dummySymbol intSymbol tempSymbol existSymbol renameSymbol tempPrefix anfPrefix nonSymbol isNonSymbol preludeName dummyName boolConName funConName listConName tupConName propConName hpropConName strConNamevvName symSepNamenilNameconsName size32Name size64Name bitVecNamebvOrName bvAndNameprimsdropModuleNamestakeModuleNamesdropModuleUniqueLocText LocSymbolLocatedLocloclocEvalisFalseReftableisTautoppTytopbotmeettoReftofReftparamsFInfoFIcmwsbsgslitskutsqualsbindInfo QualifierQq_nameq_paramsq_bodyq_posSubstSuSubablesymssubstasubstfsubstsubst1 FixSolution FixResult UnknownErrorUnsafeSafeCrash resStatus resSolutionWfCwenvwrftwidwinfoSubCsenvsgrdslhssrhssidsinfoBindEnvbeBindsSEnvIBindEnvBindMapFEnvBindIdTagSESearchAltsFound SortedReftRRsr_sortsr_reftReftRefaraPred Predicateprop ExpressionexprPTopPAllPKVarPAtomPBexpPIffPImpPNotPOrPAndPFalsePTrueExprEBotECstEIteEBinENegEAppELitEVarEConESymBopModDivTimesMinusPlusBrelUneUeqLeLtGeGtNeEqConstantLRISymConstSLSortFAppFFuncFVarFObjFFracFNumFRealFIntFTyconKutsKSksVarsKVarKVkvTCEmbFixpointtoFixsimplifyshowFixtraceFixintKvarksEmptyksUnion intFTyCon boolFTyCon realFTyCon listFTyCon appFTyConisListTC isFAppTyTC fTyconSymbol symbolFTyconfApp fTyconSortfObj sortFTycon sortSubsttargetSubstSyms isTautoPredisEVarisSingletonReft raConjunctspAndpOrpIteeVarePropexprReft notExprReft uexprReftpropReftpredReftreft mapPredReftisFunctionSortedReft functionSort isNonTrivialreftPredreftBindrefa toListSEnv fromListSEnvmapSEnvWithKey deleteSEnv insertSEnv lookupSEnv emptySEnv memberSEnvintersectWithSEnv filterSEnvlookupSEnvWithDistance emptyIBindEnvdeleteIBindEnvinsertsIBindEnv elemsIBindEnv insertBindEnv emptyBindEnvbindEnvFromList bindEnvToList mapBindEnv lookupBindEnv unionIBindEnv adjustBindEnv insertFEnvsubcId resultDoc colorResult subst1Except substfExcept substExceptmkSubst isEmptySubst symbolReft usymbolReftvv_trueSortedRefttrueRefttrueRefa flattenRefas squishRefas conjunctswfCsubClhsCsrhsCsenvCsremoveLhsKvars trueSubCKvarshiftVVaddIds toFixpoint symConstLitslocAtdummyLocdummyPosisDummyboolSortstrSortintSortrealSortpropSortPPrintpprint pprintPrecshowpptraceppparensIfopPrectrueDfalseDandDorD pprintBin$fPPrintLocated$fPPrintSortedReft $fPPrintReft $fPPrintRefa $fPPrintPred $fPPrintExpr$fPPrintSymConst $fPPrintKVar$fPPrintSymbol $fPPrintSort $fPPrintBop $fPPrintBrel$fPPrintConstant$fPPrintInteger $fPPrintInt $fPPrint[] $fPPrint() $fPPrintFloat $fPPrintBool$fPPrintSourcePos $fPPrint(,) $fPPrint(,,)$fPPrintHashMap $fPPrint[]0 $fPPrintMaybeErrorerrLocerrMsgSrcSpanSSsp_startsp_stop sourcePosElts dummySpan catMessagecatErrorerrdieexitVisitorctxExprctxPredtxExprtxPredaccExpraccPreddefaultVisitorfoldtransmapKVars mapKVars'kvarsenvKVarsfoldSortmapSortTVSubstcheckSortedReftcheckSortedReftFull checkSortFull checkSortedpruneUnsortedReftunifyapplySMTLIB2smt2 TheorySymbolThytsSymtsRawtsSortContextCtxpIdcIncOutcLogverboseResponseValuesUnknownUnsatSatGetValueDistinctAssertDefineDeclareCheckSatPopPushRaweltsetmapbitsz32sz64empaddcupcapmemdifsubcomselstosetEmpsetCapsetSubsetAddsetMemsetComsetCupsetDifsetSng z3PreamblesmtlibPreamble mkSetSort mkEmptySetmkSetAddmkSetMemmkSetCupmkSetCapmkSetDifmkSetSub theorySymbolstSym smt2Theorysmt2AppmkRelmkNesmt2s$fSMTLIB2Command $fSMTLIB2Pred $fSMTLIB2Expr $fSMTLIB2Brel $fSMTLIB2Bop$fSMTLIB2Located$fSMTLIB2Constant$fSMTLIB2SymConst$fSMTLIB2Symbol $fSMTLIB2SortsmtWrite makeContextmakeContextNoLogcleanupContextsmtDecl smtAssert smtDistinct smtCheckUnsat smtBracketSolvableEQualEQLeqQualeqPredeqArgsCandSolutionlookupupdateinitvalidate symbolSortsSolveM runSolverMgetBindstickIter filterValidBvOpBvOrBvAndBvSizeS64S32BvmkSorteOpbvTyCon Inputablerrrr'Parserlexerreserved reservedOpparensbracketsanglessemicoloncomma whiteSpacebracesblanksinteger locParserPcondIdPupperIdPlowerIdP locLowerIdP locUpperIdPsymbolP constantPexprPfunAppPbvSortPpredPrefaPrefBindPbindPrefPrefDefP qualifierPmkQual remainderPdoParse' parseFromFile freshIntPDepsdepCuts depNonCutssolvedepslhsKVarsrhsKVarselimKVar eliminateAllfindWfC renameAll partition partition' statisticsWorklistpoppushsolveFQ resultExit parseFInfocheckMextMap tmpDirName smtSolverconfigbanner$fShowSMTSolver$fDefaultSMTSolver$fCommandSMTSolver$fCommandUeqAllSorts$fDefaultUeqAllSorts$fCommandGenQualifierSort$fDefaultGenQualifierSort$fCommandConfig$fDefaultConfigS encodeSymindices okSymChars fixSymPrefix isFixSym'isFixKeykeywords encodeChar decodeStr isQualified wrapParens isParened existPrefix renamePrefix sepModNames sepUnique mungeNames$fSymbolicSymbol$fSymbolicInternedText$fSymbolicText $fSymbolic[]$fHashableSymbol$fNFDataSymbol $fShowSymbol$fNFDataInternedText$fHashableInternedText$fMonoidSymbol editDistance$fSymbolicSymConst$fExpressionSymbol SymConsts symConsts FalseablestagBEbeSizeSEseBindsFBSubTC exprSymbols predSymbolstoFixGs toFixConstant strFTyCon propFTyConisTupTC fAppSorts toFixSort isContraPredisEq firstMaybeisSingletonExprmkProppprReft pprReftPredppRasrelReftmapSEnv toFixBind pprSinfos toFixMetapprIdpprTag subSymbolappSubst emptySubstcatSubst unsafeMkSubstunsafeCatSubstunsafeCatSubstIgnoringDead safeCatSubst safeMkSubst falseReft reftConjuncts refaConjunctsmkVVpprQual$++$meetReftencodeSymConst sortSymConstdecodeSymConst litPrefix fTyConSort$fNFDataLocated$fHashableLocated$fSubableLocated $fOrdLocated $fEqLocated $fShowLocated$fTraversableLocated$fFoldableLocated$fFunctorLocated$fExpressionLocated$fSymbolicLocated$fFixpointLocated$fFixpointSourcePos$fIsStringLocated$fSymConstsPred$fSymConstsExpr$fSymConstsRefa$fSymConstsReft$fSymConstsSortedReft$fSymConstsSubC$fSymConstsFInfo$fFalseableReft$fFalseableRefa$fFalseablePred$fReftableSortedReft$fMonoidSortedReft $fMonoidSort$fReftableReft $fReftable() $fSubable() $fMonoidReft $fMonoidRefa $fMonoidPred $fMonoidFInfo$fMonoidBindEnv $fMonoidSEnv $fMonoidKuts$fNFDataQualifier $fFixpoint()$fFixpointQualifier$fHashableFTycon $fNFDataWfC $fNFDataSubC$fNFDataSortedReft $fNFDataReft $fNFDataRefa $fNFDataPred $fNFDataExpr $fNFDataBop $fNFDataBrel$fNFDataSymConst$fNFDataConstant$fNFDataBindEnv$fNFDataIBindEnv $fNFDataSEnv $fNFDataSubst $fNFDataSub $fNFDataSort$fNFDataFTycon $fMonoidSubst$fSubableSortedReft $fSubableReft$fSubableHashMap $fSubable[] $fSubable(,) $fSubableRefa $fSubablePred $fSubableExpr$fSubableSymbol $fFixpointInt $fFixpointWfC$fFixpointSubC$fFixpointIBindEnv $fShowSubC $fShowWfC$fFixpointFixResult$fFunctorFixResult$fMonoidFixResult $fEqFixResult$fMonoidResult $fShowSEnv$fFixpointSEnv$fFixpointBindEnv$fFixpointSortedReft$fFixpointReft$fFixpointRefa $fFunctorSEnv $fShowReft$fPredicateBool$fPredicatePred$fPredicateSymbol$fExpressionInt$fExpressionInteger$fExpressionText$fExpressionExpr$fFixpointPred$fHashablePred$fHashableExpr$fHashableSubst$fHashableConstant$fHashableSymConst $fHashableBop$fHashableBrel$fFixpointExpr $fFixpointBop$fFixpointBrel$fFixpointText$fFixpointKVar$fFixpointSymbol$fFixpointSymConst$fFixpointConstant$fFixpointDouble$fFixpointInteger$fFixpointSubst $fShowSubst$fFixpointFTycon$fFixpointSort$fHashableSort$fFixpointBool$fFixpoint(,,) $fFixpoint(,) $fFixpoint[]$fFixpointMaybe$fFixpointHashSet$fFixpointKuts $fNFDataKuts$fHashableKVar $fShowKVarpretty-1.1.1.1Text.PrettyPrint.HughesPJDoc ppSrcSpan $fErrorError$fExceptionError$fFixpointError $fPPrintError$fHashableSrcSpan$fHashableSourcePos$fPPrintSrcSpan VisitablevisitVisitM execVisitMaccum visitMany visitExpr visitPred$fVisitableReft$fVisitableRefa$fVisitablePred$fVisitableExprCheckM checkExprcheckSymcheckItecheckCst checkApp'checkNeg checkPredcheckRel checkRelEqVarisAppTy sortFunctionerrUnifyTh Checkablecheck checkSortEnv checkPred' checkRefa checkEqSort checkLocSymcheckAppcheckOp checkOpTycheckFractional checkNumeric checkPredBExp checkRelTyfVarsunifys unifyManyunify1unifyVarsortMap lookupVar updateVar errUnifyManyerrRelerrBExperrOp errArgArityerrIteerrCast errUnbounderrUnboundAltserrNonFunction errNonNumericerrNonNumericserrNonFractionalerrUnexpectedPred$fCheckableSortedReft$fCheckablePred$fCheckableExpr$fCheckableRefasmtPushsmtPopsmtRead responsePsexpPerrorPvaluesPpairPvalueP negativePpairs smtWriteRaw smtReadRaw hPutStrLnNow makeProcesssmtCmd smtPreambleversionGreater deconSortrespSat interact'z3_432_options z3_optionsKBindSoleQualgroupKsupdate1refinerefineKinstKinstKQ instCandsmatch candidateswfKvarokInst $fSolvable[] $fSolvable(,)$fSolvableSortedReft$fSolvableReft$fSolvableRefa$fSolvablePred$fSolvable(,)0$fSolvableKVar$fSolvableEQual $fPPrintEQualrenameVVdropHigherOrderBindersSymBindscompact bindSorts multiSorted dupBindErrorssymBindsbindersaddVVsubcVVfoobar dropHOBinders filterBindEnv isFirstOrder SolverStatessCtxssBindsssItergetIterincIter withContext getContext filterValid_declare declSymbols$fExpressionBvopNamesizeSortsizeTCsizeNameDeflitP fixResultPIBindKutQulConWfcAxmSrt languageDef stringLiteraldouble posInteger symCharsP symconstPexpr0P charsExprfastIfPqmIfPexpr1P parenBracketsbopseMinus exprCastPvarSortP funcSortPsortsPsortPfTyConPbvSizeP keyWordSymspred0PtruePfalseP kvarPredPkvarPsubstPpredsPlopspredrPbrelPoptBindP sortBindPgSorts substVarssortVarsmkParamfInfoPdefP sortedReftPwfCPsubCPtagPenvPintP defsFInfocrashPpredSolPiQualP solution1P solutionP solutionFileP errorSpan commandsPcommandPcmdVarP $fInputable[]$fInputableCommand$fInputableFInfo$fInputable(,)$fInputableFixResult$fInputableRefa$fInputableExpr$fInputablePred$fInputableConstant$fInputableSymbol sccsToDeps chooseCut subcEdgesElimableinsertsBindEnv extractPred substPredsdomain renameVarbazblah$fElimableBindEnv$fElimableFInfo$fElimableSortedReft$fElimableSubCNameMapIdMapmkIdMap emptyIdMap updateIdMapbongobar'freeVars mkNameMap insertInverse renameVarspotentiallyRenameVarfoo'blargKVCompsCompsKVGraphCEdgeCVertexCstrdumpPartitionspartFile dumpEdgesppGraphppEdgespartitionByConstraints mkPartitionwfGroupwfKvars decomposekvGraphkvEdges$fHashableCVertex$fPPrintCVertexStatscSizescFreqcTotalcMeancMaxcSpeedpartitionStatsmkStats frequencystdDevmean $fPPrintStatsCDepsCIdsAddsCDscRootscSuccWLwCswDepswCmKVReadCSuccgetCsid'cDepskvSuccsuccskvReadBysPop$fPPrintWorklistrefineCresultsolve_ refineMsglhsPredrhsCandspredKsresult_isUnsatisValidrhsPred solveNativesolveExtsolveNativeWithFInfoelimexecFq solveFile realFlagsexitFqparseFixpointOutputsanitizeFixpointOutputparseFI