eP      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP Q R S T U V WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                                      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe     None!"$9;<=?BIOTb= !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVW5 !"#$%&'(+)*,-/0.123456789:;<=>?@ABCDEFGHIJKLMNO=,-./0W89'()*+:;#$%&VU76543<=!" TS21>?@RAQBPCDEFGHIJKLMNO. !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWNone!"$%&9:;<=?OTbS\]^_`abcdefghijklmnopqrstuvwxyz{|}~Y !"#'1234567:;@\]^_`abcdefghijklmnopqrstuvwxyz{|}~dghjklmnopqrseftubcdvwxyz{|}~_`a\]^i#':;76543!" 21@K\]^_`abcdefghijklmnopqrstuvwxyz{|}~None:OT +Defines how to print out a function symbol.wTakes the pretty-printing level, precedence, pretty-printed function symbol and list of arguments and prints the term.9A class for customising the printing of function symbols.7Generate a list of candidate names for pretty-printing.For operators like $) that should be printed as a blank space.-For functions that should be printed curried./For functions that should be printed uncurried.HA helper function that deals with under- and oversaturated applications.;A helper function that drops a certain number of arguments.For prefix operators.For postfix operators.For infix operators. For tuples.`      !"#$%&'()*+,- None!"T None!"%&/:DRTb6     1 6     %     None */29:;DIR2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK      !"#$%&'()*+,- !"#'1234567:;@\]^_`abcdefghijklmnopqrsuvwxyz{|}~ !"#$%&'()*+,-./0123456789)*+,-./0)('&%1234576#$!" 89( !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK NonePQRSTPQRSTPQRSTPQRST NoneUVUVUVUVNone !"2DIR6WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~/WXYZ[\]^_`abcdefjkghilmnopqrstuvwxyz{|}~7qrstuvopwlmnefghijkx_`abcd]^yz{|}~[\WXYZWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None    None!"DR%$%  NoneDRT   None !"/:DR3    *3    '    None !"/:DRT !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()./*+,-0145326789:;<=>?@ACBDEFGHIJKLMNOPQRSTUVWYXZ[sf\]^_`abcdeghijklmnopqrtuvwxyz{|}~Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}~UVWXYPQRSTKLMNOHIJDEFG@ABC<=>?6789:;012345()*+,-./%&' !"#$h  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~. !"#$%&'()*+,-../012344567789:;;<=>20?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnnopqrstuvwxyz{|}~<      !""#>$%!&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMN O P Q RSTTUVWWXYZ[\\]^_`abcdeefghijklmnopqrstuvwxyz{|}~       t                    >  x y    L g                     n L g           !"#$%&'()*++,-./012345678X9:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ntwee-0.1-3geuwxF0ltr1sOUSSTYnwk Twee.Queue Twee.Pretty Twee.UtilsTwee.Term.Core Twee.Term Twee.LabelTwee.Constraints Twee.BaseTwee.KBOTwee.LPO Twee.Array Twee.Index Twee.Indexes Twee.RuleTwee"heaps-0.3.3-7OlaDU2RmgdCkYZ3VSFd9u Data.HeapHeappretty-1.1.3.3Text.PrettyPrint.HughesPJClass pPrintListpPrint pPrintPrecPrettyMingetMinMaxgetMaxrepeatM partitionBycollateisSorted isSortedByusortusortBysortBy'usortBy'orElse unbuffered getMaxWith getMinWithlabelM $fMonoidMin $fMonoidMaxBuilder1Builder unBuilderVarMkVarFunMkFunTermroottermlistTermListlowhigharraySymbolisFunindexsize UnsafeConsSym UnsafeConsConsSymConsEmptytoSymbol fromSymbolatlenList unsafePatHeadpatHeadpatRootpatNext singleton eqSameLengthcompareContents buildTermListgetArraygetSizegetIndexputIndexliftSTbuiltthen_checkedemitSymbolBuilderemitFunemitVar emitTermList$fMonoidBuilder $fOrdTermList $fEqTermList $fShowVar $fShowFun $fOrdTerm$fEqTerm $fShowSymbol$fEqFun$fEqVar$fOrdVar $fEnumVarNumberedfromInttoInt TriangleSubstTriangle unTriangleSubstunSubst Substitution evalSubstBuildbuilderAppbuild buildListconfunvar listSubstList listSubst foldSubstallSubst forMSubst_subst substList substSize lookupList extendListretractunsafeExtendList substComposesubstCompatible substUnion idempotent idempotentOnclose canonicalise emptySubst flattenSubstmatch matchListsubstTriunify unifyListunifyTri unifyListTrichildren fromTermListlookupextendlenemitTermbound boundListoccurs occursListtermListToList emptyTermList subtermsListsubtermsproperSubtermsListproperSubtermsisVar isInstanceOf isVariantOfmapFun mapFunListfromFuntoFunapp$fOrdFun $fShowSubst$fShowTermList $fShowTerm$fSubstitutionfTriangleSubst$fSubstitutionfSubst$fSubstitutionf(->) $fBuildf[]$fBuildfTermList $fBuildfTerm$fBuildfBuilder$fShowTriangleSubst TermStyle pPrintTerm PrettyTerm termStyle prettyPrint pPrintParen pPrintTuple pPrintSetsupply invisiblecurried uncurried fixedArityimplicitArgumentsprefixpostfix infixStyle tupleStyle $fPrettySubst$fPrettyTermList $fPrettyTerm $fPrettyFun $fPrettyRatio $fPrettyMap $fPrettyVar $fPrettySet $fPrettyDoc CacheStatenextIdtofromCacheLabelledcache initialIdmkCachelabelfind$fShowCacheState StrictnessStrict NonstrictOrdered orientTermslessEqlessInMinimalminimalModelBranchfunslessequalsFormulaLessLessEqAndOrAtomConstantVariableatomstoTermfromTerm negateFormulaconjdisj&&&|||truefalse trueBranchnorm contradictoryformAndbranchesaddLess addEqualsaddTermmodelToLiteralsmodelFromOrder weakenModel varInModel varGroups lessEqInModelsolve $fMinimalFun $fPrettyModel$fPrettyBranch$fPrettyFormula $fPrettyAtom $fShowAtom $fShowFormula $fShowModel$fEqStrictness$fShowStrictness $fOrdBranch $fEqBranch $fOrdFormula $fEqFormula $fOrdAtom$fEqAtomExtendedSkolemFunctionSizedArityarityskolemFunOf BuilderOfSubstOf TermListOfTermOfSymbolic ConstantOftermtermsDLreplacetermsvarsisGroundocc isMinimal minimalTermextended unextended$fArityExtended$fSizedExtended$fPrettyTermExtended$fPrettyExtended$fNumberedExtended$fSkolemExtended$fMinimalExtended $fFunctionf $fSizedTerm$fSizedTermList $fSizedFun $fArityFun $fSkolemFun $fSymbolic[]$fSymbolic(,,) $fSymbolic(,)$fSymbolicTermList$fSymbolicTerm $fEqExtended $fOrdExtended$fShowExtended$fFunctorExtended sizeLessIn minimumIn lexLessInlabelOfpeelLabelLabelslabelsQueuequeue emptyQueue queueLabels nextLabelMixtakeLeft takeRighttakeNextleftrightEither1Left1Right1FIFO Heuristicinsertremovereinsertmembers emptyHeap emptyFIFOemptyMixempty emptyFromenqueue reenqueuedequeue queueSizetoListnoLabelnewLabel deleteLabel moveLabel unlabelled$fPrettyLabelled$fSymbolicLabelled $fOrdLabelled $fEqLabelled$fHeuristicMix$fHeuristicEither1$fHeuristicFIFO$fHeuristicHeap $fShowFIFO $fShowEither1 $fShowMix $fEqLabel $fOrdLabel $fNumLabel $fShowLabel$fIntegralLabel $fEnumLabel $fRealLabel $fShowQueue$fShowLabelled$fFunctorLabelledDefaultdefArray arraySize arrayContentsnewArray!update $fShowArrayFrozen matchesList_Match matchResult matchSubstEntrye_keye_valueIndex SingletonNilherekeyvaluenullexpanddeleteelem matchesListmatchesfreezeelemsmapfilterunion$fDefaultIndex $fEqEntry $fShowEntry $fShowIndexIndexes unIndexesRatedrating maxRating $fShowIndexes ReductionStepTransParallelStrategy EquationOfEquation:=: OrientationOrientedWeaklyOriented Permutative UnorientedRule orientationlhsrhsoriented pPrintRuleorderunorientorientrule bothSidestrivialresultpPrintReductionsteps anywhere1 normaliseWith normalFormsanywherenestedrewritetryRule simplifies reducesWithreducesreducesInModel reducesSkolem reducesSub$fPrettyReduction$fSizedEquation$fPrettyEquation$fSymbolicEquation $fPrettyRule$fSymbolicOrientation$fSymbolicRule$fOrdOrientation$fEqOrientation$fShowOrientation$fEqRule $fOrdRule $fShowRule $fEqEquation $fOrdEquation$fShowEquation$fShowReductionEventNewRule ExtraRuleNewCPReduceConsiderJoinedDelayCancel Discharge NormaliseCPs InitialCPcpIdcpOKcpCPPassiveSingleCPManyCPsCPsbestloweruppercountCPinfocpl1l2CPInfocpWeight cpWeight2cpAge1cpAge2CritInfotopoverlapCriticalcritInfocriticalCancellationRule cr_unifiedcr_ruleSimplificationSimplifyReorient JoinReasonTrivialSubsumed SetJoining GroundJoined JoinStageInitialReducing SubjoiningModelledmodel positionsmodelledmaxSize labelledRules extraRulescancellationRulesgoalstotalCPs processedCPs renormaliseAtminimumCPSetSizecpSplitsuseGeneralSuperpositionsuseGroundJoininguseConnectedness useSetJoininguseSetJoiningForGoalsuseCancellationmaxCancellationSizeatomicCancellationunifyConstantsInCancellationuseInterreductionuseUnsafeInterreductionskipCompositeSuperpositionstracing moreTracing lhsWeight rhsWeightjoinStatistics initialStateaddGoalsreportenqueueM reenqueueMdequeueM newLabelMrulesFor easyRulesrulesallRulesnormaliseQuickly normalise normaliseIn normaliseSubnormaliseSkolemreduceCPnormaliseCPQuicklynormaliseCPReducing normaliseCPcomplete complete1renormaliseGoals normaliseCPsconsidergroundJoinableEqgroundJoinable groundJoinvalidoptimiseaddRule addExtraRule extraRuleSafe deleteRule interreduce reduceWith simplifyRule newEquation noCritInfotoCancellationRuleaddCancellationRuledeleteCancellationRule passiveCount criticalPairs ruleOverlapsoverlapsemitReplacementcriticalPairs1queueCPqueueCPs queueCPsSplittoCPstoCPcancelledWeightbestCancellationweightweight' cancellationstracetraceMtraceIf$fPrettyPassive$fLabelsPassive $fOrdPassive $fPrettyCPs $fLabelsCPs$fOrdCPs$fEqCPs $fPrettyCP $fLabelsCP$fOrdCP$fEqCP$fSymbolicCritInfo$fSymbolicCritical$fPrettyCritical $fOrdCritical $fEqCritical$fSymbolicCancellationRule$fPrettyCancellationRule$fPrettySimplification$fPrettyJoinReason$fPrettyJoinStage $fRatedRule$fRatedCritical$fRatedModelled$fRatedLabelled$fSymbolicModelled$fPrettyModelled $fOrdModelled $fEqModelled $fEqJoinStage$fOrdJoinStage$fShowJoinStage$fEqJoinReason$fOrdJoinReason$fShowJoinReason$fShowCancellationRule$fShowSimplification $fEqCPInfo $fOrdCPInfo $fShowCPInfo$fShowCP $fShowCPs $fEqPassive $fShowPassive $fShowTwee$fShowCritInfo$fShowCritical$fShowModelled prettyParen prettyShow prettyNormal PrettyLevelText.PrettyPrint.HughesPJ fullRender renderStylerenderfirstfsepfcatcatsep<+><>$+$$$ punctuatehangnestvcathsephcat reduceDocmaybeDoubleQuotes maybeQuotes maybeBraces maybeBrackets maybeParensbracesbracketsparens doubleQuotesquotesrationaldoublefloatintegerintrbracelbracerbracklbrackrparenlparenspacecoloncommasemiisEmpty zeroWidthText sizedTextptexttextcharDoc#Text.PrettyPrint.Annotated.HughesPJstyle TextDetailsChrStrPStrStylemode lineLengthribbonsPerLineModePageMode ZigZagModeLeftMode OneLineMode