*      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                              ! " # $ % & ' ( ) None+EM_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^Y  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^NoneM`SMTLIB2 query filed*Previous output (for incremental checking)e*Previous source (for incremental checking)f-JSON file containing result (annots + errors)g8Markdown file (temporarily generated from .Lhs + annots)hHTML file with templates?iFinal result: SAFE/UNSAFEj-Qualifiers file (e.g. include/Prelude.hquals)k%Spec file (e.g. include/Prelude.spec)lTypescript sourcemJavaScript sourcenLiterate Haskell source oHaskell source pVim annotation file qText file with inferred types r)HTML file with inferred type annotations s)Output from constraint solving (fixpoint)t&Input to constraint solving (fixpoint)u!Constraint Generation Informationv7Hardwired Paths and Files -----------------------------$_`abcdefghijklmnopqrstuvw*+xyz,{|}~!_`abcdefghijklmnopqrstuvwxyz{|}~!_utsrqponmlkjihgfedcba`y{z}x|vw~_utsrqponmlkjihgfedcba`vw*+xyz,{|}~None+024 -./0123456-./0123456None  *+024BM$Values that can be viewed as SymbolsK789:;<=>?@ABCDEFGHIJKLMNOP11I789:;<=>?@ABCDEFGHIJKLMNOPNone *+./024BHLocated Values ---------------------------------------------------------DA Class Predicates for Valid Refinements Types ---------------------Name Parameters PredicateSource Location 'Values that can be viewed as Predicates CGeneralizing Symbol, Expression, Predicate into Classes -----------'Values that can be viewed as Constants (Values that can be viewed as Expressions6EUninterpreted constants that are embedded as "constant symbol : Str"9constructed type: type-var arity, in-ts ++ [out-t];fixpoint type variable<uninterpreted type=numeric kind for Num tyvarsDCEntities in Query File --------------------------------------------}&Functions for Indexed Bind Environment'Functions for Global Binder Environment:String Constants -----------------------------------------QReplace all symbol-representations-of-string-literals with string-literal Used to transform parsed output from fixpoint back into fq.R:Edit Distance --------------------------------------------S,The symbol may be an encoding of a SymConst.TUV parameters for Reft, vv + othersWXYZ[\]^_`abcdefgh      !"#$%&'()*+,-./01234567ij89:;<=>?@kABCDEFGHIJKLMNOPQlmRSTnoUVWXYZpqr[\]st^u_`vwabxcydefgz{|}hi~jklmnopqrstuvwxyz{|}~QRS      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~MNOPQ8?>=<;:9@CUVWXYZ[\]^672543#('&%$)10/.-,+*"!  hiefga`    xqrstvuywz{|}~jklmnpobdc_RABSTDLKJIHGFETUVWXYZ[\]^_`abcdefgh      "! #('&%$)10/.-,+*254367ij8?>=<;:9@kABCDLKJIHGFEMNOPQlmRSTnoUVWXYZpqr[\]st^u_`vwabxcydefgz{|}hi~jklmnopqrstuvwxyz{|}~QRSNone234None+024BA BareBones Error Type -------------------------------------------BA Reusable SrcSpan Type ------------------------------------------        NoneEContext ctx< is built up in a "top-down" fashion but not across siblingsTransforms can access current ctx!Accumulations can access current ctx; acc value is monoidal     NoneSort SubstitutionsTypes used throughout checkerDChecking Refinements -----------------------------------------------DChecking Expressions -----------------------------------------------&Helper for checking symbol occurrences,Helper for checking if-then-else expressions%Helper for checking cast expressions  7Helper for checking uninterpreted function applications!/Helper for checking binary (numeric) operations"DChecking Predicates ------------------------------------------------#Checking Relations$LSpecial case for polymorphic singleton variable equality e.g. (x = Set_emp) %&Special case for Unsorted Dis/Equality&DError messages -----------------------------------------------------'DUtilities for working with sorts -----------------------------------Unification of Sorts("API for manipulating substitutions)DApplying a Type Substitution ---------------------------------------*CDeconstruct a function-sort --------------------------------------->+,-./01234 !567"8#9$%:;&<=>?@ABCDEFGHI'JKL(M)N*OPQR;+,-./01234 !567"8#9$%:;&<=>?@ABCDEFGHI'JKL(M)N*OPQR None +024F BAST Conversion ---------------------------------------------------Types that can be serialized*Information about the external SMT process"Responses received from SMT engineCommands issued to SMT engineSETypes ---------------------------------------------------------------ESMT IO --------------------------------------------------------------ESMT Context ---------------------------------------------------------THSMT Commands -----------------------------------------------------------UESet Theory ----------------------------------------------------------VESet Theory ----------------------------------------------------------cSWXYZ[\]^_`abcdefgThijklmnUVopqrstuvwxyz{|}~NSWXYZ[\]^_`abcdefgThijklmnUVopqrstuvwxyz{|}~ None24E@Parsing Qualifiers ---------------------------------------------@Parsing Constraints (.fq files) --------------------------------@Interacting with Fixpoint --------------------------------------f     '     '     d      NoneFOne Shot validity query ----------------------------------------------FSolve a system of horn-clause constraints ----------------------------  !  !  !  ! None+0(Construct the bitvector 8 from its %)4Apply some bitvector operator to a list of arguments Construct an / using a raw string, e.g. (Bv S32 "#x02000000")"#$%&'()"#$%&'()%'&"$#() "$#%'&() !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     q !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTvUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                               g           ! " # $ % & ' ( ) * + , -./0123456789:;<=>?@ABCDEFGMLHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiijklmnopqrstuvwxyz{|}~     l           ! " # $ % & ' ( ) * + , - . / 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 { | } ~                                                                                                   liquid-fixpoint-0.2.2.0Language.Fixpoint.MiscLanguage.Fixpoint.FilesLanguage.Fixpoint.ConfigLanguage.Fixpoint.NamesLanguage.Fixpoint.TypesLanguage.Fixpoint.PrettyPrintLanguage.Fixpoint.ErrorsLanguage.Fixpoint.VisitorLanguage.Fixpoint.SortLanguage.Fixpoint.SmtLib2Language.Fixpoint.ParseLanguage.Fixpoint.InterfaceLanguage.Fixpoint.BitvectorEmptyEmpMoodsAngryHappySadLoudOk moodColor wrapStarswrapStarsWithOptStars withColor colorStrLn colorPhaseLn startPhasedoneLinecolorPhaseLnWithOptStarsstartPhaseWithOptStarsdoneLineWithOptStars donePhasedonePhaseWithOptStars unIntersperse=>>wraprepeats errorstar errortextputDocLn assertstarfindWithDefaultLfst3snd3thd3singlemapFstmapSndmapFst3mapSnd3mapThd3 expandSndmapPairmlookup mfromJust boxStrCat tryIgnore traceShowwarnShowinserts concatMapsgroup groupListgroupMapsortNubsortDiffdistinct tr_reverse tr_foldr'safeZip safeZipWith safeFromList safeUnionsafeHeadsafeLastsafeInit memoIndex checkFail chopAfter chopPrefix firstElemchopAlt firstElems splitters bchopAltschopAlts findFirsttestM stripParensifMexecuteShellCommandexecuteShellCommandWithOptStars checkExitCodehashMapToAscListhashMapMapWithKeyhashMapMapKeys applyNonNull concatMapM angleBracketsdotarrowdcolon interspersetshowfoldlMap mapEither<$$>ExtSmt2DatPAssPredCacheSavedJsonMkdnCstResultHqualsSpecTsJsLHsHsVimAnnotHtmlOutFqCgigetFixpointPath getZ3LibPathwithExt extFileName tempDirectory extFileNameR isExtFile extModuleName copyFiles getFileInDirs SMTSolverZ3memMathsatCvc4Z3 UeqAllSortsUASGenQualifierSortGQSConfiginFileoutFilesolvergenSorts ueqAllSortsnativerealCommandcommand withTargetwithUEqAllSortsSymbolicsymbolSymbolsymChars symbolStringencode symbolText isPrefixOfSym isSuffixOfSym takeWhileSymheadSymconsSym singletonSym lengthSym unconsSymdropSymstripParensSym suffixSymbol qualifySymbolvvvvConisNontrivialVV dummySymbol intSymbol tempSymbol tempPrefix anfPrefix nonSymbol isNonSymbolintKvar preludeName dummyName boolConName funConName listConName tupConName propConName hpropConName strConNamevvName symSepName size32Name size64Name bitVecNamebvOrName bvAndNameprimsdropModuleNamestakeModuleNamesLocText LocSymbolLocatedLoclocvalisFalseReftableisTautoppTytopbotmeettoReftofReftparamsFInfoFIcmwsbsgslitskutsquals QualifierQq_nameq_paramsq_bodyq_posSubstSubablesymssubstasubstfsubstsubst1 FixSolution FixResult UnknownErrorUnsafeSafeCrashWfCSubCsidsinfoBindEnvSEnvIBindEnvFEnvBindIdTagSESearchAltsFound SortedReftRRsr_sortsr_reftReftRefaRKvarRConc Predicateprop ExpressionexprPTopPAllPAtomPBexpPIffPImpPNotPOrPAndPFalsePTrueExprEBotECstEIteEBinEAppELitEVarEConESymBopModDivTimesMinusPlusBrelUneUeqLeLtGeGtNeEqConstantLRISymConstSLSortFAppFFuncFVarFObjFNumFRealFIntFTyconKutsKSTCEmbDefIBindKutQulConWfcAxmSrtFixpointtoFixsimplifyshowFixtraceFix reftKVarsksEmptyksUnion intFTyCon boolFTyCon realFTyCon strFTyCon propFTyCon appFTyCon fTyconSymbol symbolFTyconfAppfObj sortSubstzero isTautoPred isTautoReftisEVarisSingletonReftpAndpOrpIteeVarePropexprReft notExprReft uexprReftpropReftpredReftisNonTrivialSortedReftisFunctionSortedReft toListSEnv fromListSEnvmapSEnvmapSEnvWithKey deleteSEnv insertSEnv lookupSEnv emptySEnv memberSEnvintersectWithSEnv filterSEnvlookupSEnvWithDistance emptyIBindEnvdeleteIBindEnvinsertsIBindEnv insertBindEnv emptyBindEnv rawBindEnv mapBindEnv insertFEnv resultDoc colorResult subst1Except substfExcept substExceptmkSubst symbolRefttrueSortedRefttrueRefttrueRefa flattenRefas squishRefaswfCsubClhsCsrhsCsremoveLhsKvars trueSubCKvarshiftVVaddIds toFixpoint symConstLitsdummyLocdummyPosisDummyPPrintpprintshowpptrueDfalseDandDorD pprintBin$fPPrintLocated$fPPrintSortedReft $fPPrintReft $fPPrintRefa $fPPrintPred $fPPrintExpr$fPPrintSymConst$fPPrintSymbol $fPPrintSort $fPPrintBop $fPPrintBrel$fPPrintConstant$fPPrintInteger $fPPrintInt $fPPrint[] $fPPrint()$fPPrintSourcePos $fPPrint(,) $fPPrint(,,) $fPPrint[]0 $fPPrintMaybeErrorerrLocerrMsgSrcSpanSSsp_startsp_stop sourcePosElts dummySpan catMessagecatErrorerrdieVisitorctxExprctxPredtxExprtxPredaccExpraccPreddefaultVisitorfoldtranscheckSortedReftcheckSortedReftFull checkSortFull checkSortedpruneUnsortedReftSMTLIB2smt2ContextCtxpIdcIncOutcLogverboseResponseValuesUnknownUnsatSatGetValueDistinctAssertDefineDeclareCheckSatPopPushsmtWrite makeContextmakeContextNoLogcleanupContext smt_set_funs Inputablerrrr'Parserlexerreserved reservedOpparensbracketsanglessemicoloncomma whiteSpacebracesblanksinteger locParserPcondIdPupperIdPlowerIdP locLowerIdP locUpperIdPsymbolP constantPexprPfunAppPpredPfTyConPrefBindPbindPrefPrefDefP qualifierP remainderPdoParse' parseFromFile freshIntP checkValidsolve solveFile resultExitBvOpBvOrBvAndBvSizeS64S32mkSorteOpcheckMextMap tmpDirName smtSolver$fShowSMTSolver$fDefaultSMTSolver$fCommandSMTSolver$fCommandUeqAllSorts$fDefaultUeqAllSorts$fCommandGenQualifierSort$fDefaultGenQualifierSort$fCommandConfig$fDefaultConfigS encodeSymindices okSymChars fixSymPrefix isFixSym'isFixKeykeywords encodeChar decodeStr isQualified wrapParens isParenedmungeModuleNames$fSymbolicSymbol$fSymbolicInternedText$fSymbolicText $fSymbolic[]$fHashableSymbol$fNFDataSymbol $fShowSymbol$fNFDataInternedText$fHashableInternedText$fMonoidSymbolencodeSymConst editDistance$fExpressionSymbol SymConsts symConsts FalseableSuwenvwrftwidwinfosenvsgrdslhssrhsstagBEbe_sizebe_bindsSEse_bindsFBSubTC exprSymbols predSymbolstoFix_gstoFix_constantisListTCisTupTC isFAppTyTC fAppSorts fTyconSort toFix_sortone isContraPred isTautoRaisEqmkPropppr_reft ppr_reft_predppRasrelReftsortedReftValueVariable toFix_bind ppr_sinfospprIdpprTag subSymbolappSubst emptySubstcatSubst unsafeMkSubstunsafeCatSubstunsafeCatSubstIgnoringDead safeCatSubst safeMkSubstvv_ falseReft conjunctspprQualgetLitsmeetReft sortSymConstdecodeSymConst litPrefixstrSort$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 $fMonoidPred$fNFDataQualifier$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$fFixpointFixResult$fFunctorFixResult$fMonoidFixResult $fEqFixResult $fShowSEnv$fFixpointSEnv$fFixpointBindEnv$fFixpointSEnv0$fFixpointSortedReft$fFixpointReft$fFixpointRefa $fFunctorSEnv $fShowReft$fPredicateBool$fPredicatePred$fPredicateSymbol$fExpressionInt$fExpressionInteger$fExpressionText$fExpressionExpr$fFixpointPred$fFixpointExpr $fFixpointBop$fFixpointBrel$fFixpointText$fFixpointSymbol$fFixpointSymConst$fFixpointConstant$fFixpointDouble$fFixpointInteger$fFixpointSubst $fShowSubst$fFixpointFTycon$fFixpointSort$fHashableSort $fFixpoint(,) $fFixpoint[]$fFixpointMaybe$fFixpointHashSet$fFixpointKuts $fNFDataKuts ppSrcSpan $fErrorError$fExceptionError$fFixpointError $fPPrintError$fHashableSrcSpan$fHashableSourcePos$fPPrintSrcSpan VisitablevisitVisitM execVisitMaccum visitMany visitExpr visitPred$fVisitableReft$fVisitableRefa$fVisitablePred$fVisitableExprTVSubstCheckM checkExprcheckSymcheckItecheckCst checkApp'checkOp checkPredcheckRel checkRelEqVarisAppTyerrUnifyunify lookupVarapply sortFunctionTh Checkablecheck checkSortEnvfProp checkRefa checkEqSort checkLocSymcheckApp checkOpTycheckFractional checkNumeric checkPredBExp checkRelTyisPolyfVars errUnifyManyerrRelerrBExperrOp errArgArityerrIteerrCast errUnbounderrUnboundAltserrNonFunction errNonNumericerrNonNumericserrNonFractionalerrUnexpectedPred unifyManyunify1unifyVar updateVarsortMap$fCheckableSortedReft$fCheckablePred$fCheckableExpr$fCheckableRefaRawsmtDecleltsetsmtRead responsePsexpPerrorPvaluesPpairPvalueP negativePpairs smtWriteRaw smtReadRaw hPutStrLnNow makeProcesssmtCmd smtPreamblesmtFilesmtPushsmtPop smtAssert smtDistinct smtCheckUnsatrespSat interact'mapbitsz32sz64empaddcupcapmemdifsubcomselstoz3_432_options z3_options z3PreamblesmtlibPreamble mkSetSort mkEmptySetmkSetAddmkSetMemmkSetCupmkSetCapmkSetDifmkSetSubmkRelmkNesmt2s$fSMTLIB2Command $fSMTLIB2Pred $fSMTLIB2Expr $fSMTLIB2Brel $fSMTLIB2Bop$fSMTLIB2Located$fSMTLIB2Constant$fSMTLIB2SymConst$fSMTLIB2Symbol $fSMTLIB2SortfInfoP fixResultP languageDef stringLiteraldouble posInteger symconstPexpr0P charsExprfastIfPexpr1P parenBracketsbopseMinus exprCastPsortP symCharsP keyWordSymstruePfalsePpred0PpredsPqmPlopspredrPbrelPcondPcondIcondItePcondQmPrefasPoptBindP sortBindPmkQualmkParamdefP sortedReftPwfCPsubCPtagPenvPintP defsFInfocrashPpredSolPiQualP solution1P solutionP solutionFileP errorSpan commandsPcommandPcmdVarP $fInputable[]$fInputableCommand$fInputableFInfo$fInputable(,)$fInputableFixResult$fInputable[]0$fInputableExpr$fInputablePred$fInputableConstant$fInputableSymbol validFInfo validSubcresultexecFq fixCommandexitFqparseFixpointOutputplugCsanitizeFixpointOutput$fExpressionBvBvopNamesizeSortsizeTCsizeNamebvTyCon