X      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST 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 { | } ~                                                                                                                       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~)None;BEncode a Haskell String to a list of Word8 values, in UTF8 format.CB, Safe-Inferred Safe-InferredM      !"#$%&'()*+,M      !"#$%&'()*+,      ! "('&%$#)*+,None *+-./02345689:;=?BCDGHJKM/-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[+-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/ 0  Safe-Inferred-./  return ()8  !"#$%&'()*+,-./012345678  !"#$%&'()*+,-./012345678/0$.-,+*)('&%1#"! 2  34567     #"! $ .-,+*)('&%/01234567None 3 89:;<=>?@ABC 89:;<=>?@ABC 98:;<=>?@ABC 89:;<=>?@ABC Safe-InferredHM DEFGHIJKLMDEFGHIJ DEFMLKGHIJDEFGHIJKLM Safe-InferredMNSort and remove duplicatesO=Sort things in topologically in strongly connected componentsP+Makes a nice flag from a constructor string )> flagify "PrintPolyFOL" "print-poly-fol"QMakes a flag from something Show-ableR1Calculates the maximum value of a foldable value.0Useful to find the highest unique in a structureNOPQRNOPQRNOPQRNOPQRNone -./2346MY#top-level quantified type variablesgData definitionlUninterpreted sortpUninterpreted function~TypesPolymorphic typesPatterns in branches,The default case comes first if there is oneSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ySTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~~{}|tuvwxyzpqrslmnoghijkbcdef[\]^_`aVWXYZSUTESUTVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{}|~None24Typeclass for variablesThe string in a variableTypeclass for pretty thingsPretty to stringPrint something pretty Variable to \Infix ]Conditional parentheses NoneBM The Name type classMake a fresh nameGRefresh a name, which could have some resemblance to the original name7Make a fresh name that can incorporate the given string-Refresh a name with an additional hint string'Gets the unique associated with a name.The Fresh monadUContinues making unique names after the highest numbered name in a foldable value.?Run fresh from starting from the greatest unique in a structureRun fresh, starting from zero"Run fresh from some starting value   None-./2346HJKM-A representation of Nested patterns, used in ++4Match as left-hand side pattern-matching definitions)Stops at default patterns, for simplicity1The signature of a function2The type of a function9The type of an expression:=The result type of a built in function, applied to some types@ Substitution, of local variablesSince there are only rank-1 types, bound variables from lambdas and case never have a forall type and thus are not applied to any types.CSubstitution, but without refreshing. Only use when the replacement expression contains no binders (i.e. no lambdas, no lets, no quantifiers), since the binders are not refreshed at every insertion point.L      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOL !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNO     SRQPE      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRS None3BgThe scope of a theoryAdd everything in a theory;TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~9TUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~;gabcdef]`_^X\[ZYhikjmlnopqrstuvwxyz{|UVW}~T-TUVWX\[ZY]`_^abcdefghijklmnopqrstuvwxyz{|}~ NoneM"The representation of renamed Ids.Renames a theory ^_`abKeywords to avoidEscapingTheory to be renamedThe renamed theorycd^`_abcd None ))) None 3"Crashes if the theory is malformedSame as ), but returns in a monad, for convenience,Returns the error if the theory is malformedefghijklmnopqrstuvegfhijklmnopqrstuvNoneA sum type that supports w and xy for  z zNone 3M Options for the simplifierAllow simplifications on letsInlining predicate*Allow function inlining to introduce matchUGentle options: if there is risk for code duplication, only inline atomic expressionsQAggressive options: inline everything that might plausibly lead to simplificationSimplify an entire theory2Simplify an expression, without knowing its theory&Simplify an expression within a theory   NoneThe function to transformNew function argument typeNew function result typeTransform function bodyTransform call to function   None>Replace SMTLIB-style selector and discriminator functions (is-nil, head, tail) with case expressions.None3Makes an effort to move match statements upwards: moves match above function applications, and moves matches inside scrutinees outside.2Does not move past quantifiers, lets, and lambdas.NoneTurn case expressions into is-Cons, head, tail etc.None{$Also do CSE for nullary constructors$Look for expressions of the form (match x (case P ...P...) ...) and replace them with (match x (case P ...x...) ...)7. This helps Why3's termination checker in some cases.|}{|}{|}{ NoneReplace "fat arrow", =>4, functions with normal functions wherever possible.~~!None]Remove datatypes that have only one constructor with one field. Can only be run after the addMatch pass."NonevNegates the conjecture: changes assert-not into assert, and introduce skolem types in case the goal is polymorphic.#None3M If we have f x = E[x] g y = E[y]then we remove g and replace it with f everywhere)Pair up a list with its previous elements 4withPrevious "abc" = [('a',""),('b',"a"),('c',"ab")] If we have  g x y = f x ythen we remove g and replace it with f everywhere$None3MDefunctionalization. f x = ... \ y -> e [ x ] ...becomes &f x = ... g x ... g x = \ y -> e [ x ]where g is a fresh function.BAfter this pass, lambdas only exist at the top level of functions.Lift lets to the top level. let x = b[fvs] in e[x]becomes e[f fvs] f fvs = b[fvs]Axiomatize lambdas. f x = \ y -> E[x,y]becomes :declare-fun f ... assert (forall x y . @ (f x) y = E[x,y])  %None 3CTransforms boolean operators to if, but not in expression contexts. Transforms and, or, =>, not and = and distict on Bool into ite (i.e. match) Transforms ite (matchY) on boolean literals in the branches into the corresponding builtin boolean function.&None'None None+The passes in the standard Tip distribution::None M#      !"#$%&"      !"#$%#&      !"#$%"      !"#$%&None M$'()*+,-./0123456789:;<=>?@ABCDEFGHIJ$'()*+,-./0123456789:;<=>?@ABCDEFGHIJ$'(+*),-./0123456789:;<=>?@ABCDEFGHIJ$'()*+,-./0123456789:;<=>?@ABCDEFGHIJ(NoneK"Identifiers from parsed Tip syntaxL1A source position of the identifier, if available#KLKLKLNoneM5Parse, and get either an error or the string's theoryMKLMMKLLMNone-JK NOPQRSTUVWXYZ NOPQRSTUVWXYZ VRSTUWXYNOPQZNOPQRSTUVWXYZNone !"-./M_For various purposes...`From the theoryaBThe current module defines something with this very important namebA qualified import#[\]^_`abcdefghijklmnopqrstuvwxyz{|}"[\]^_`abcdefghijklmnopqrstuvwxyz{|#fghijklm^ba`_cde}nop[]\qrstuvwxyz{|[]\^ba`_cdefghijklmnopqrstuvwxyz{|}NoneM ~~~ ~NoneIn instance declarations, you cannot write qualified variables, but need to write them unqualified. As an example, the mempty part here is incorrect: =instance Data.Monoid.Monoid T where Data.Monoid.mempty = K JThus, instance function declarations will be pretty printed with ppUnqual.~~)NoneM**+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXXYZ[\]^_`abcdefghijkllmnopqrstuvwxyz{|}}~ELK1<9::3@A      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_` a b b c d e f g h i j k l m m n o A C p q r s t u v w x y z { | } ~                                 3                                        !"##$$$%%%'                             (!("#$$%&''()*+,-./}30123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \]^_`abcbdefeghijklmnopqrstuvwxyz{|}~w1::3@EKVM      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           # #!#"#i##$$$%$&$'$($)$*$+%,%-&.&/ 0(!(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(G(L(M(N(OPQRSTUVWXY)Z)[)\] tip-lib-0.1.2Tip.Haskell.ReprTip.Utils.Rename Tip.Writer Tip.Utils Tip.Types Tip.Pretty Tip.FreshTip.Core Tip.Scope Tip.RenameTip.Pretty.SMTTip.Lint Tip.Passes Tip.SimplifyTip.WorkerWrapperTip.Pretty.Why3Tip.Pretty.Isabelle Tip.Parser Tip.CallGraphTip.Haskell.TranslateTip.Haskell.RenameTip.Pretty.HaskellTip.Parser.LexTIPTip.Parser.ErrMTip.Parser.AbsTIPTip.Parser.ParTIPTip.Pass.PipelineTip.Pass.AddMatchTip.Pass.CommuteMatchTip.Pass.RemoveMatchTip.Pass.CSEMatchTip.Pass.UncurryTip.Pass.RemoveNewtypeTip.Pass.NegateConjectureTip.Pass.EqualFunctions Tip.Pass.LiftTip.Pass.BooleansTip.Pass.EliminateDeadCodeTip.Pass.FillInCasesTip.Parser.ConvertTip.Pass.AxiomatizeFuncdefsStmt BindTypedBindPatIntPatWildPatTupPatConPatVarPatExpr:::RecordTHSplice QuoteName QuoteTyConIntCaseNoopStringTupListImpLetLetLamDoImpVarApplyTypeTyImpTyCtxTyForallTyArrTyTupTyVarTyConDecl QualImportLANGUAGEModuleTHWhereTypeDefInstDeclDataDeclFunDeclTySigDeclsfunDeclmodTyCon nestedTyTup nestedTup nestedTupPatmkDovar SuggestorRenameMdisambig disambig2 evalRenameM runRenameMinsert insertManylkuprename renameWithrenameWithBlocksWriterT unWriterT runWriterTtellliftcensor$fMonadWriterT$fApplicativeWriterT$fFunctorWriterTusort sortThingsflagify flagifyShow maximumOnRoleProveAssertFormulafm_rolefm_tvsfm_bodyTheory thy_datatypes thy_sortsthy_sigs thy_funcs thy_asserts Constructorcon_name con_discrimcon_argsDatatype data_namedata_tvs data_consSort sort_name sort_arity Signaturesig_namesig_typeFunction func_namefunc_tvs func_argsfunc_res func_body BuiltinTypeBooleanInteger:=>:PolyType polytype_tvs polytype_args polytype_resPatternLitPatpat_conpat_argsDefaultLitBoolBuiltinIntLeIntLtIntGeIntGtIntModIntDivIntMulIntSubIntAddDistinctEqualImpliesNotOrAndAtcase_patcase_rhs QuantInfoNoInfoQuantExistsForallMatchLcl:@:Globalgbl_namegbl_typegbl_argsLocallcl_namelcl_typeHeadGbl intBuiltin litBuiltineqRelatedBuiltinlogicalBuiltin emptyTheory joinTheories$fMonoidTheory$fUniverseBiExprExpr$fUniverseBiFunctionExpr$fUniverseBiFunctionGlobal$fUniverseBiFunctionType$fUniverseBiDatatypeType$fUniverseBiExprPattern$fUniverseBiExprLocal$fUniverseBiExprGlobal$fUniverseBiTheoryExpr$fUniverseBiTheoryType$fUniverseBiTypeType$fUniverseBiTheoryConstructor$fUniverseBiTheoryGlobal$fUniverseBiTheoryBuiltin$fTransformBiExprExpr$fTransformBiaExpr$fTransformBiaFormula$fTransformBiExprFunction$fTransformBiExprTheory$fTransformBiHeadExpr$fTransformBiHeadTheory$fTransformBiLocalExpr$fTransformBiPatternExpr$fTransformBiPatternTheory$fTransformBiTypeTheory$fTransformBiTypeExpr transformExprtransformExprMtransformExprIntransformExprInM transformTypetransformTypeInExpr$fTransformBiMmFunctionTheory$fTransformBiMmTypeType$fTransformBiMmExprFormula$fTransformBiMmExprTheory$fTransformBiMmLocalExpr$fTransformBiMmPatternExpr$fTransformBiMmExprFunction$fTransformBiMmExprExpr$fTransformBiTypeType PrettyVarvarStrPrettyppppRenderpprintppVar$\parIf$fPrettyVarInt $fPrettyVar[]Namefreshrefresh freshNamed refreshNamed getUniqueFresh freshPass freshFromrunFresh runFreshFrom $fNameInt:+:InRInL Definitiondefinesuses DeepPattern DeepLitPat DeepVarPat DeepConPat====/=neg/\\/andsors==>===>mkQuantbooltrueExpr falseExprmakeIfintLitliteralintTypeboolType applyFunctionapplySignatureapply applyType applyPolyTypelitViewboolViewpatternMatchingViewifViewprojAt projGlobalatomic occurrences signaturefuncTypeboundlocalsfreeglobalstyVars freeTyVarsexprType builtinType freshLocal freshArgs refreshLocalfreshen freshenNames// substManyletExpr unsafeSubstupdateLocalTypeupdateFuncType matchTypesIn matchTypes makeGlobalconstructorTypedestructorType constructor projector discriminatormapDeclstopsort$fDefinitionDatatype$fDefinitionFunction$fDefinitionSignature$fDefinition:+:ScopeMScopeTunScopeT GlobalInfoDiscriminatorInfo ProjectorInfoConstructorInfo FunctionInfoTypeInfoSortInfo DatatypeInfo TyVarInfoScopeinnertypesscope globalTypeisTypeisLocalisGlobalisTyVarisSort lookupType lookupLocal lookupGloballookupDatatypelookupFunctionlookupConstructorlookupDiscriminatorlookupProjector whichDatatype whichLocal whichGlobal whichFunctionwhichConstructorwhichDiscriminatorwhichProjector runScopeT checkScopeTrunScope checkScope emptyScope inContextlocalnewScopenewNamenewTyVarnewSort newDatatypenewConstructor newFunctionnewLocal withTheory $fErrorDoc$fMonadTransScopeT RenamedIdrenameAvoidingparExpr parExprSepexprexprSep validSMTCharppTheoryppSortppDatasppDatappConparpar' ppUninterpppFuncs ppFuncSig ppFormulappExprppLocalsppLocalppHead ppBuiltinppLitppQuantppCaseppPatppType ppPolyType smtKeywords$fPrettyPattern $fPrettyHead$fPrettyGlobal $fPrettyLocal$fPrettySignature$fPrettyDatatype$fPrettyFormula$fPrettyFunction $fPrettyType$fPrettyPolyType $fPrettyExpr$fPrettyTheorylintlintM lintTheoryChoiceSecondFirstPassrunPasspassName parsePassunitPass runPassLintedchoice runPasses parsePasses SimplifyOpts touch_lets should_inline inline_matchgently aggressivelysimplifyTheory simplifyExprsimplifyExprIn isConstructor WorkerWrapperww_funcww_argsww_resww_defww_useworkerWrapperTheoryworkerWrapperFunctions workerWrapperaddMatch commuteMatch removeMatchcseMatchNormal cseMatchWhy3cseMatch uncurryTheory removeNewtypenegateConjecture collapseEqual removeAliases lambdaLiftletLiftaxiomatizeLambdastheoryBoolOpToIf boolOpToIf ifToBoolOp fillInCases StandardPassEliminateDeadCode CSEMatchWhy3CSEMatchAxiomatizeLambdasLetLift LambdaLift RemoveAliases CollapseEqual RemoveMatch CommuteMatchAddMatch BoolOpToIf IfToBoolOpNegateConjecture UncurryTheory RemoveNewtypeSimplifyAggressivelySimplifyGentlyWhy3Var why3VarTheoryblockcsvcsv1pcsv separatingescapeppBinder ppLocalBinderppFunc ppDeepPatternppRoleppBinOp ppQuantNameppTyVar why3Keywords$fPrettyVarWhy3Var$-$intersperseWithPrequote quoteWhen ppAsTupleisabelleKeywordsIdidPosparse CallGraphOptsexploreSingleFunctionsexploreCalleesFirstBlockcallerscalleesFS flattenBlock theoryStuff callGraph flatCallGraphKindHsIdDerivedOtherExact Qualified qual_modulequal_module_short qual_funcpreludetipDSL quickCheckquickCheckUnsafe quickCheckAll quickSpecfeattypeable addHeader addImportstrTheory theorySigsufInfo trTheory' arbitrarytrType trBuiltinTypewithBool hsBuiltinTys hsBuiltins typeOfBuiltinmakeSigtheoryBuiltins$fPrettyVarHsId RenameMap renameDecls isOperator PrettyHsVar varUnqualppTheoryWithRenamingsppUnqualppHsVarppOperQppOperisOptuple $fPrettyDecls $fPrettyDecl $fPrettyPat $fPrettyStmt$fPrettyHsVarHsId utf8EncodeAlexAcc AlexAccSkip AlexAccNone AlexLastAcc AlexLastSkipAlexNone AlexReturn AlexTokenAlexSkip AlexErrorAlexEOFAlexAddrAlexA# AlexInputBytePosnPnBTreeBNTokenErrPTTokT_SymbolTCTDTVTITLTS alex_base alex_table alex_check alex_deflt alex_accepttoksharetokenPos tokenPosn tokenLineCol posLineCol mkPosTokenprTokeneitherResIdentresWordsunescapeInitTail alexStartPosalexMovetokens alexGetBytealexInputPrevChar alex_action_2 alex_action_3 alex_action_4 alex_action_5alexIndexInt16OffAddralexIndexInt32OffAddr quickIndexalexScan alexScanUser alex_scan_tkniUnbox$fFunctorAlexLastAccBadOk$fAlternativeErr$fMonadPlusErr $fFunctorErr$fApplicativeErr $fMonadErr IfThenElseConst SimplePatBinderLambdaLitFalseLitTrueLitIntAppAsVarBoolTyIntTyArrowTyTyAppLetDeclBinding InnerFunDecl MonoFunDecl ParFunDecl InnerFunDefFunDef MonoFunDef ParFunDef Assertion AssertNotAssertIt ParAssert MonoAssert DefineFunsRec DeclareFun DeclareSortDeclareDatatypesStartSymbol HappyAddrHappyA#HappyStk Happy_IntList HappyConsHappyAny HappyAbsSyn happyIn31 happyOut31 happyIn32 happyOut32 happyIn33 happyOut33 happyIn34 happyOut34 happyIn35 happyOut35 happyIn36 happyOut36 happyIn37 happyOut37 happyIn38 happyOut38 happyIn39 happyOut39 happyIn40 happyOut40 happyIn41 happyOut41 happyIn42 happyOut42 happyIn43 happyOut43 happyIn44 happyOut44 happyIn45 happyOut45 happyIn46 happyOut46 happyIn47 happyOut47 happyIn48 happyOut48 happyIn49 happyOut49 happyIn50 happyOut50 happyIn51 happyOut51 happyIn52 happyOut52 happyIn53 happyOut53 happyIn54 happyOut54 happyIn55 happyOut55 happyIn56 happyOut56 happyIn57 happyOut57 happyIn58 happyOut58 happyIn59 happyOut59 happyIn60 happyOut60 happyInTok happyOutTokhappyActOffsetshappyGotoOffsetshappyDefActions happyCheck happyTablehappyReduceArr happy_n_termshappy_n_nontermshappyReduce_28happyReduction_28happyReduce_29happyReduction_29happyReduce_30happyReduction_30happyReduce_31happyReduction_31happyReduce_32happyReduction_32happyReduce_33happyReduction_33happyReduce_34happyReduction_34happyReduce_35happyReduction_35happyReduce_36happyReduction_36happyReduce_37happyReduction_37happyReduce_38happyReduction_38happyReduce_39happyReduction_39happyReduce_40happyReduction_40happyReduce_41happyReduction_41happyReduce_42happyReduction_42happyReduce_43happyReduction_43happyReduce_44happyReduction_44happyReduce_45happyReduction_45happyReduce_46happyReduction_46happyReduce_47happyReduction_47happyReduce_48happyReduction_48happyReduce_49happyReduction_49happyReduce_50happyReduction_50happyReduce_51happyReduction_51happyReduce_52happyReduction_52happyReduce_53happyReduction_53happyReduce_54happyReduction_54happyReduce_55happyReduction_55happyReduce_56happyReduction_56happyReduce_57happyReduction_57happyReduce_58happyReduction_58happyReduce_59happyReduction_59happyReduce_60happyReduction_60happyReduce_61happyReduction_61happyReduce_62happyReduction_62happyReduce_63happyReduction_63happyReduce_64happyReduction_64happyReduce_65happyReduction_65happyReduce_66happyReduction_66happyReduce_67happyReduction_67happyReduce_68happyReduction_68happyReduce_69happyReduction_69happyReduce_70happyReduction_70happyReduce_71happyReduction_71happyReduce_72happyReduction_72happyReduce_73happyReduction_73happyReduce_74happyReduction_74happyReduce_75happyReduction_75happyReduce_76happyReduction_76happyReduce_77happyReduction_77happyReduce_78happyReduction_78happyReduce_79happyReduction_79happyReduce_80happyReduction_80happyReduce_81happyReduction_81happyReduce_82happyReduction_82happyReduce_83happyReduction_83happyReduce_84happyReduction_84happyReduce_85happyReduction_85happyReduce_86happyReduction_86happyReduce_87happyReduction_87happyReduce_88happyReduction_88happyReduce_89happyReduction_89happyReduce_90happyReduction_90happyReduce_91happyReduction_91happyReduce_92happyReduction_92happyReduce_93happyReduction_93happyReduce_94happyReduction_94happyReduce_95happyReduction_95happyReduce_96happyReduction_96happyReduce_97happyReduction_97happyReduce_98happyReduction_98happyReduce_99happyReduction_99happyReduce_100happyReduction_100happyReduce_101happyReduction_101happyReduce_102happyReduction_102happyReduce_103happyReduction_103happyReduce_104happyReduction_104happyReduce_105happyReduction_105happyReduce_106happyReduction_106happyReduce_107happyReduction_107happyReduce_108happyReduction_108happyReduce_109happyReduction_109 happyNewToken happyError_ happyThen happyReturn happyThen1 happyReturn1 happyError'pStart pListDeclpDecl pAssertionpFunDef pInnerFunDefpFunDecl pInnerFunDecl pDatatype pConstructorpBindingpLetDeclpTypepExprpBinderpCasepPatternpHead pListLetDecl pListCase pListExpr pListDatatypepListConstructor pListBinding pListSymbol pListType pListFunDecl pListFunDefhappySeqreturnMthenM happyErrormyLexer happyParse happyAccept happyDoActionindexShortOffAddr happyShifthappySpecReduce_0happySpecReduce_1happySpecReduce_2happySpecReduce_3 happyReducehappyMonadReducehappyMonad2Reduce happyDrop happyDropStk happyGoto happyFail notHappyAtAll happyTcHack happyDoSeq happyDontSeqpretty-1.1.1.1Text.PrettyPrint.HughesPJDochangTwoStageRenamedRemain renameSome renameRest$fShowTwoStage$fPrettyVarRenamedIdExprKind FormulaKindcheckcheck' lintDatatype lintPolyTypelintType lintSignature lintFunction lintBinder lintFormulalintExpr lintGloballintCall lintBuiltin isExpressionlintCasebaseGHC.EnumEnumBounded Data.Eithereither $fPassChoice cse_nullary CSEMatchOptsouterUncurryWWinnerUncurryWW withPrevious renameVarsrenameFn renameGlobalsTopLiftLiftM liftAnywhere liftTheory lambdaLiftTop letLiftTop axLamFunc mkTyVarNameformulaBoolOpToIf hasBoolTypeeliminateDeadCodefixpoint$fPassStandardPassidStringidUniqueCMIdKindGlobalIdLocalIdrunCMppSymlkSymaddSymtrDeclstrDecl defToDecltrFunDef trFunDecldataSym trDatatype trConstructor bindingType trBindingtrLocalBinding trLetDeclstrExprtrHeadtrBindertrCase trPattern$fNameId $fPrettyVarId$fOrdId$fEqId uppercase makeUniform initialAlpha disambigHsupperlowercouldBeOperatornumOpsopSymskeywordsconProjsaxiomatizeFuncdefs axiomatize