[      !"#$%&'()*+,-./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 QRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None+EMf  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde`  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeNoneMgSMTLIB2 query filek*Previous output (for incremental checking)l*Previous source (for incremental checking)m-JSON file containing result (annots + errors)n8Markdown file (temporarily generated from .Lhs + annots)oHTML file with templates?pFinal result: SAFE/UNSAFEq-Qualifiers file (e.g. include/Prelude.hquals)r%Spec file (e.g. include/Prelude.spec)sTypescript sourcetJavaScript sourceuLiterate Haskell sourcevHaskell sourcewVim annotation filexText file with inferred typesy(HTML file with inferred type annotationsz)Output from constraint solving (fixpoint){&Input to constraint solving (fixpoint)|!Constraint Generation Information}7Hardwired Paths and Files -----------------------------$fghijklmnopqrstuvwxyz{|}~!fghijklmnopqrstuvwxyz{|}~!f|{zyxwvutsrqponmlkjihg}~f|{zyxwvutsrqponmlkjihg}~None+024 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% None  *+024BM$Values that can be viewed as SymbolsR44PNone +./0234BHLocated Values ---------------------------------------------------------Start Position End PositionDA Class Predicates for Valid Refinements Types ---------------------Name Parameters PredicateSource LocationThe output of the Solver#'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 ExpressionsREUninterpreted constants that are embedded as "constant symbol : Str"Uconstructed typeV type-var arity, in-ts ++ [out-t]Wfixpoint type variableXuninterpreted typeY"numeric kind for Fractional tyvarsZnumeric kind for Num tyvarseCEntities in Query File --------------------------------------------:Environments ---------------------------------------------&Functions for Indexed Bind Environment'Functions for Global Binder Environment:String Constants -----------------------------------------:Edit Distance --------------------------------------------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[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~nopqrabcsT\[ZYXWVU]dvwxyz{|}~RSNQPO?DCBA@EMLKJIHGF4>=<;:98765'3210/.-,+*)(%&#$          !"^_`tuemlkjihgf1      !"#$%&' 3210/.-,+*)(4 >=<;:98765?DCBA@EMLKJIHGFNQPORST\[ZYXWVU]^_`abcdemlkjihgfnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwNone2342Pretty-print something with a specific precedence.Wrap the enclosed x, in parentheses only if the condition holds.$ $"None+024MBA BareBones Error Type -------------------------------------------BA Reusable SrcSpan Type ------------------------------------------yz{|}~yz{|}~NoneEContext 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 ---------------------------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/EqualityUnification of SortsDApplying a Type Substitution ---------------------------------------CDeconstruct a function-sort ---------------------------------------DError messages -----------------------------------------------------A> None24F BAST Conversion ---------------------------------------------------Types that can be serialized*Information about the external SMT process#"Responses received from SMT engine*Commands issued to SMT engineETypes ---------------------------------------------------------------3ESMT IO --------------------------------------------------------------5ESMT Context ---------------------------------------------------------HSMT Commands -----------------------------------------------------------HSMT Commands -----------------------------------------------------------ESet Theory ----------------------------------------------------------ESet Theory ----------------------------------------------------------n !"#$%&'()*+,-./0123456789:;<=     $ !"#$%&'()*+,-./0123456789:;<=$*210/.-,+#)('&%$ !"5673489;<:=Y !"#)('&%$*210/.-,+3456789:;<=      None24EF>@Apply Solution -------------------------------------------------@@Expanded or Instantiated Qualifier -----------------------------F@Types ----------------------------------------------------------HCUpdate Solution ---------------------------------------------------I?Initial Solution (from Qualifiers and WF constraints) ---------$>?@ABCDEFGHI !"#$%&'() >?@ABCDEFGHI FE@ABCD>?IHG>?@ABCDEFGHI !"#$%&'() NoneK/symbol |-> sort for EVERY variable in the FInfo*AAlpha Rename bindings to ensure each var appears in unique binder +JK,-./01*23JKJK +JK,-./01*23 NoneLFSolver Monadic API ---------------------------------------------------PFSMT Interface --------------------------------------------------------45678LMN9:O;<P=>LMNOPLMNPO 45678LMN9:O;<P=>None+0YConstruct the bitvector T from its TZ4Apply some bitvector operator to a list of arguments? Construct an 4/ using a raw string, e.g. (Bv S32 "#x02000000")QRSTUVWXYZ@ABC[? QRSTUVWXYZ[ WXTVUQSRYZ[ QSRTVUWXYZ@ABC[?None234ED9BitVector literal: lit "#x00000001" (BitVec (Size32 obj))~@Parsing Qualifiers ---------------------------------------------E@Parsing Constraints (.fq files) --------------------------------F@Interacting with Fixpoint --------------------------------------t\]^_G`abcdefghiHjIklJmnopKqrstLMNOPuvDQRSTUVwWXYZ[\]^_`abcxdefghijkylz{m|}~nopqrstEuvwxyz{|F}~'\]^_`abcdefghijklmnopqrstuvwxyz{|}~'\]^_`abcdejfhgwikypostl{uxv~|}znmqrr\]^_G`abcdefghiHjIklJmnopKqrstLMNOPuvDQRSTUVwWXYZ[\]^_`abcxdefghijkylz{m|}~nopqrstEuvwxyz{|F}~None9Dummy just for debugging --------------------------------9Compute Dependencies and Cuts ---------------------------  None3NoneFConstraint Dependencies ----------------------------------------------FWorklist -------------------------------------------------------------FWorklist -------------------------------------------------------------FSet API --------------------------------------------------------------NoneEFFSingle Step Refinement -----------------------------------------------FConvert Solution into Result -----------------------------------------  NoneFSolve FInfo system of horn-clause constraints ------------------------FSolve .fq File ------------------------------------------------------- Fake Dependencies Harness SolverNative Haskell SolverExternal Ocaml SolverFParse External Qualifiers --------------------------------------------   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./001123456789:;<=>?@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 XYZ[\]^__`abcdefghijklmnopqrstuvwxyz{|}u~QWYX      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~z                                                                     z                                                                                   ! " # $ % & ' ( ) * + , - .  / 0 1 2 3 4 5 6 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~liquid-fixpoint-0.3.0.0Language.Fixpoint.MiscLanguage.Fixpoint.FilesLanguage.Fixpoint.ConfigLanguage.Fixpoint.NamesLanguage.Fixpoint.TypesLanguage.Fixpoint.PrettyPrintLanguage.Fixpoint.ErrorsLanguage.Fixpoint.VisitorLanguage.Fixpoint.SortLanguage.Fixpoint.SmtLib2!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.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 groupListmkGraphgroupMapsortNubsortDifffoldsdistinct 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<$$>ExtSmt2DatPAssPredCacheSavedJsonMkdnCstResultHqualsSpecTsJsLHsHsVimAnnotHtmlOutFqCgigetFixpointPath getZ3LibPathwithExt extFileName tempDirectory extFileNameR isExtFile extModuleName copyFiles getFileInDirs SMTSolverZ3memMathsatCvc4Z3 UeqAllSortsUASGenQualifierSortGQSConfiginFileoutFilesrcFilesolvergenSorts ueqAllSortsnativereal eliminateCommandcommand withTargetwithUEqAllSortsgetOptsSymbolicsymbolSymbolsymChars symbolStringencode symbolText isPrefixOfSym isSuffixOfSym takeWhileSymheadSymconsSym singletonSym lengthSym unconsSymdropSymstripParensSym suffixSymbol qualifySymbolvvvvConisNontrivialVV dummySymbol intSymbol tempSymbol existSymbol tempPrefix anfPrefix nonSymbol isNonSymbol preludeName dummyName boolConName funConName listConName tupConName propConName hpropConName strConNamevvName symSepNamenilNameconsName size32Name size64Name bitVecNamebvOrName bvAndNameprimsdropModuleNamestakeModuleNamesdropModuleUniqueLocText LocSymbolLocatedLocloclocEvalisFalseReftableisTautoppTytopbotmeettoReftofReftparamsFInfoFIcmwsbsgslitskutsquals QualifierQq_nameq_paramsq_bodyq_posSubstSuSubablesymssubstasubstfsubstsubst1 FixSolution FixResult UnknownErrorUnsafeSafeCrashWfCwenvwrftwidwinfoSubCsenvsgrdslhssrhssidsinfoBindEnvSEnvIBindEnvBindMapFEnvBindIdTagSESearchAltsFound SortedReftRRsr_sortsr_reftReftRefaraPred Predicateprop ExpressionexprPTopPAllPKVarPAtomPBexpPIffPImpPNotPOrPAndPFalsePTrueExprEBotECstEIteEBinENegEAppELitEVarEConESymBopModDivTimesMinusPlusBrelUneUeqLeLtGeGtNeEqConstantLRISymConstSLSortFAppFFuncFVarFObjFFracFNumFRealFIntFTyconKutsKSksVarsKVarKVkvTCEmbDefIBindKutQulConWfcAxmSrtFixpointtoFixsimplifyshowFixtraceFixintKvarksEmptyksUnion intFTyCon boolFTyCon realFTyCon strFTyCon propFTyCon listFTyCon appFTyConisListTC isFAppTyTC fTyconSymbol symbolFTyconfAppfObj sortSubsttargetSubstSyms isTautoPredisEVarisSingletonReftpAndpOrpIteeVarePropexprReft notExprReft uexprReftpropReftpredReftreft mapPredReftisFunctionSortedReft functionSort isNonTrivialreftPredreftBindrefa toListSEnv fromListSEnvmapSEnvWithKey deleteSEnv insertSEnv lookupSEnv emptySEnv memberSEnvintersectWithSEnv filterSEnvlookupSEnvWithDistance emptyIBindEnvdeleteIBindEnvinsertsIBindEnv elemsIBindEnv insertBindEnv emptyBindEnvbindEnvFromList bindEnvToList mapBindEnv lookupBindEnv unionIBindEnv insertFEnv resultDoc colorResult subst1Except substfExcept substExceptmkSubst isEmptySubst symbolReft usymbolReftvv_trueSortedRefttrueRefttrueRefa flattenRefas squishRefas conjunctswfCsubClhsCsrhsCsenvCsremoveLhsKvars trueSubCKvarshiftVVaddIds toFixpoint symConstLitsstrSortdummyLocdummyPosisDummyPPrintpprint pprintPrecshowpptraceppparensIfopPrectrueDfalseDandDorD pprintBin$fPPrintLocated$fPPrintSortedReft $fPPrintReft $fPPrintRefa $fPPrintPred $fPPrintExpr$fPPrintSymConst $fPPrintKVar$fPPrintSymbol $fPPrintSort $fPPrintBop $fPPrintBrel$fPPrintConstant$fPPrintInteger $fPPrintInt $fPPrint[] $fPPrint() $fPPrintBool$fPPrintSourcePos $fPPrint(,) $fPPrint(,,)$fPPrintHashMap $fPPrint[]0 $fPPrintMaybeErrorerrLocerrMsgSrcSpanSSsp_startsp_stop sourcePosElts dummySpan catMessagecatErrorerrdieexitVisitorctxExprctxPredtxExprtxPredaccExpraccPreddefaultVisitorfoldtransmapKVarskvarsenvKVarsfoldSortmapSortTVSubstcheckSortedReftcheckSortedReftFull checkSortFull checkSortedpruneUnsortedReftunifyapplySMTLIB2smt2ContextCtxpIdcIncOutcLogverboseResponseValuesUnknownUnsatSatGetValueDistinctAssertDefineDeclareCheckSatPopPushsmtWrite makeContextmakeContextNoLogcleanupContextsmtDecl smtAssert smtDistinct smtCheckUnsat smtBracket smt_set_funsSolvableEQualEQLeqQualeqPredeqArgsCandSolutionlookupupdateinitvalidate symbolSortsSolveM runSolverMgetBindstickIter filterValidBvOpBvOrBvAndBvSizeS64S32BvmkSorteOpbvTyCon Inputablerrrr'Parserlexerreserved reservedOpparensbracketsanglessemicoloncomma whiteSpacebracesblanksinteger locParserPcondIdPupperIdPlowerIdP locLowerIdP locUpperIdPsymbolP constantPexprPfunAppPpredPfTyConPrefBindPbindPrefPrefDefP qualifierP remainderPdoParse' parseFromFile freshIntPDepsdepCuts depNonCutssolvedepslhsKVarsrhsKVars eliminateAllWorklistpoppushsolveFQ resultExit parseFInfocheckMextMap tmpDirName smtSolverconfigbanner$fShowSMTSolver$fDefaultSMTSolver$fCommandSMTSolver$fCommandUeqAllSorts$fDefaultUeqAllSorts$fCommandGenQualifierSort$fDefaultGenQualifierSort$fCommandConfig$fDefaultConfigS encodeSymindices okSymChars fixSymPrefix isFixSym'isFixKeykeywords encodeChar decodeStr isQualified wrapParens isParened existPrefix sepModNames sepUnique mungeNames$fSymbolicSymbol$fSymbolicInternedText$fSymbolicText $fSymbolic[]$fHashableSymbol$fNFDataSymbol $fShowSymbol$fNFDataInternedText$fHashableInternedText$fMonoidSymbol editDistance$fSymbolicSymConst$fExpressionSymbol SymConsts symConsts FalseablestagBEbeSizebeBindsSEseBindsFBSubTC exprSymbols predSymbolstoFixGs toFixConstantisTupTC fAppSorts fTyconSort toFixSort isContraPredisEq firstMaybeisSingletonExprmkProppprReft pprReftPredppRasrelReftmapSEnv toFixBind pprSinfospprIdpprTag subSymbolappSubst emptySubstcatSubst unsafeMkSubstunsafeCatSubstunsafeCatSubstIgnoringDead safeCatSubst safeMkSubst falseReft reftConjuncts refaConjunctsmkVVpprQualmeetReftencodeSymConst sortSymConstdecodeSymConst litPrefix$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$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 $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 $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 checkSortEnvfProp checkPred' checkRefa checkEqSort checkLocSymcheckAppcheckOp checkOpTycheckFractional checkNumeric checkPredBExp checkRelTyfVarsunifys unifyManyunify1unifyVarsortMap lookupVar updateVar errUnifyManyerrRelerrBExperrOp errArgArityerrIteerrCast errUnbounderrUnboundAltserrNonFunction errNonNumericerrNonNumericserrNonFractionalerrUnexpectedPred$fCheckableSortedReft$fCheckablePred$fCheckableExpr$fCheckableRefaRawsmtPushsmtPopeltsetsmtRead responsePsexpPerrorPvaluesPpairPvalueP negativePpairs smtWriteRaw smtReadRaw hPutStrLnNow makeProcesssmtCmd smtPreamble deconSortrespSat interact'mapbitsz32sz64empaddcupcapmemdifsubcomselstosetEmpsetCapsetSubsetAddsetMemsetComsetCupsetDifsetSngz3_432_options z3_options z3PreamblesmtlibPreamble mkSetSort mkEmptySetmkSetAddmkSetMemmkSetCupmkSetCapmkSetDifmkSetSubsmt2AppmkRelmkNesmt2s$fSMTLIB2Command $fSMTLIB2Pred $fSMTLIB2Expr $fSMTLIB2Brel $fSMTLIB2Bop$fSMTLIB2Located$fSMTLIB2Constant$fSMTLIB2SymConst$fSMTLIB2Symbol $fSMTLIB2SortKBindSoleQualgroupKsupdate1refinerefineKinstKinstKQ instCandsmatch candidateswfKvarokInst $fSolvable[] $fSolvable(,)$fSolvableSortedReft$fSolvableReft$fSolvableRefa$fSolvablePred$fSolvable(,)0$fSolvableKVar$fSolvableEQual $fPPrintEQualrenameVVSymBindscompact bindSorts multiSorted dupBindErrorssymBindsbindersaddVVsubcVV SolverStatessCtxssBindsssItergetIterincIter withContext getContext filterValid_declare$fExpressionBvopNamesizeSortsizeTCsizeNamelitPfInfoP fixResultP languageDef stringLiteraldouble posInteger symCharsP symconstPexpr0P charsExprfastIfPexpr1P parenBracketsbopseMinuseConseNil exprCastPvarSortP funcSortPsortsPsortPbvSortPbvSizeP keyWordSymspred0PtruePfalseP kvarPredPkvarPsubstPpredsPlopspredrPbrelPcondPcondIcondItePcondQmPrefaPoptBindP sortBindPmkQualgSorts substVarssortVarsmkParamdefP sortedReftPwfCPsubCPtagPenvPintP defsFInfocrashPpredSolPiQualP solution1P solutionP solutionFileP errorSpan commandsPcommandPcmdVarP $fInputable[]$fInputableCommand$fInputableFInfo$fInputable(,)$fInputableFixResult$fInputableRefa$fInputableExpr$fInputablePred$fInputableConstant$fInputableSymbol sccsToDepsbar chooseCut subcEdgesElimableelimKVarinsertsBindEnvfindWfC extractPred substPreds renameVarsubsetbazblah$fElimableBindEnv$fElimableFInfo$fElimableReft$fElimableSortedReft$fElimableSubCCDepsCIdsAddsCDscRootscSuccWLwCswDepswCmKVReadCSuccgetCsid'cDepskvSuccsuccskvReadBysPop$fPPrintWorklistrefineCresultsolve_lhsPredrhsCandspredKsresult_isUnsatisValidrhsPred solveNative solveNative'solveExtexecFq solveFile fixCommand realFlagsexitFqparseFixpointOutputsanitizeFixpointOutputparseFI