Vk^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]Safe  ! !"Safe1&F 0 all positions1non-variable positions2variable positions3"leaf positions (= nullary symbols)83compute new symbol at position, giving the position9jcompute new symbol from *reverse* position and previous symbol this is more efficient (no reverse needed)<warning: don't check arity? in preorder D:list of variables (each occurs once, unspecified ordering)E1list of variables (in pre-order, with duplicates)()*+,-./0123456789:;<=>?@ABCDE)*+,F(-./0123456789:;<=>?@ABCDE)*+Safe)YWARNING: there is instance Pretty a => Pretty (Maybe a) in the back-end but its spec is "Ignore Nothings, print Just contents""^_ JKLMNOPQRSTUVWX"SVUTWQRPOMN  JXLK Safe+f3value is meaningless if the system has no variables[\fedcba`_^]ghij[\]^_`abcdefkghij[ \]^_`abcdefSafe10Pnlegacy stuff (used in matchbox)vthis is modelled after +https://www.lri.fr/~marche/tpdb/format.htmlwexample: "(AC plus)""better keep order in signature (?)"if True, write comma between rulesaccording to XTC specshould be Texte !()+*,-./0123456789:;<=>?@ABCDEmnopqrtusvwxyz{|}~>}~yz{|vwxrstuopqnm opqrstuvwxyz{|}~Safe<3 Safe;=V7pthis is super-ugly: a parenthesized, possibly nested, possibly comma-separated, list of identifiers or strings6warning: by definition, {}[] may appear in identifiers Safe9`view variables as symbols)will only bind variables in the left side-naive implementation (worst case exponential) Safe;Msuccess iff term consists of unary symbols and the lowest node is a variable Safe<1if input is SRS, reverse lhs and rhs of each rule Safe6="compute the DP transformed system.  SafeBcThis function keeps only those parts of the input term which cannot be reduced, even if the term is instantiated. All other parts are replaced by fresh variables. Def 4.4 in Uhttp://cl-informatik.uibk.ac.at/users/griff/publications/Sternagel-Thiemann-RTA10.pdfSafeE%DANGER: this ignores the CE condition<computes the least closed set of usable rules, cf. Def 4.5 Uhttp://cl-informatik.uibk.ac.at/users/griff/publications/Sternagel-Thiemann-RTA10.pdfSafeHwDP problems for strongly connected components, topologically sorted, with CyclicComponents in Right, others in Left.'edges of the estimated dependency graphSafeH None01CVNYit seems the degree must always be given in CPF, although the category spec also allows POLY Ehttp://cl-informatik.uibk.ac.at/users/georg/cbr/competition/rules.phpthis is actually not true, since instead of copying from XTC, CPF format repeats the definition of TRS, and it's a different one (relative rules are extra)n      !"#$%&'(*)+,-./0143256789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvxwyz{|}~yz{|}~vwxrstupqlmnojkfghi`abcde^_MNOPQRSTUVWXYZ[\]HIJKLFGCDE?@AB:;<=>5678901234-./()*+, !"#$%&'     n'      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ None]WNoneVX8None[~first argument is file name, second argument is file contents. first arg. is needed to pick the proper parser (SRS, TRS, XTC)None^read input from file with given name. can have extension .srs, .trs, .xml. unknown extension is considered as .xml, because of Phttp://starexec.forumotion.com/t60-restore-file-extension-for-renamed-benchmarksNone_None_dNone_~ !()+*,-./0123456789:;<=>?@ABCDEmnopqrtusvwxyz{|}~None;=Vb,          None;<=cFIXME: move to separate moduleNone 1;<=Vdv&A@?>=<;:9876543210/.-,+*)('&%$#"! NoneViBB[dangerous: not all constructor arguments will be set. the function produces something likeCertificationProblem { input = CertificationProblemInput , proof = TrsTerminationProof undefined } BCDEFGHIJKLMNOPQRSTUVWBCDEFGHIJKLMNOPQRSTUVWNonej*BCDEFGHIJKLMNOPQRSTUVWSafejXYZ[\]X\[ZY]a !"#!"$!"%!"&!"'!()!(*!(+!(,!(-!(.!(/!(0!(1!(2!(3!(4567568569::;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                    !!"#$%%&'()*+,-./0123456789:;<=>?@ABCDE@8FFGHIJKLMNOPQRSSTUVWXYZ[[\]^_`abcdefghijklmnopqrstuvwxxyz{{||}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYWZ[ \] tpdb-1.5.2-1N3ptbfqmj9CBFJA5pYGMTPDB.XTC.Write TPDB.PrettyTPDB.Data.RuleTPDB.Data.TermTPDB.Data.Attributes TPDB.DataTPDB.Plain.WriteTPDB.Plain.Read TPDB.DP.Unify TPDB.Convert TPDB.MirrorTPDB.DP.Transform TPDB.DP.TCapTPDB.DP.Usable TPDB.DP.GraphTPDB.CPF.Proof.TypeTPDB.CPF.Proof.Util TPDB.XTC.ReadTPDB.Input.MemoryTPDB.Input.FileTPDB.Xml TPDB.Data.XmlTPDB.CPF.Proof.WriteTPDB.CPF.Proof.ReadTPDB.Xml.PrettyTPDB.DP TPDB.InputTPDB.XTCTPDB.CPF.Proof.Xml1data-default-class-0.1.2.0-65ekPiG1XHJGG1Sy8NeI1LData.Default.Classdef,prettyprinter-1.2.0.1-7ZuCLms8xajGeu88e33QHe'Data.Text.Prettyprint.Doc.Symbols.Asciicommabracesbracketsanglesparens"Data.Text.Prettyprint.Doc.Internalenclose punctuatetupledlist encloseSepindenthangnestDoc prettyListprettyPretty(xml-conduit-1.8.0-40Ex2a7t9XN947vXyirnVUText.XML renderText renderLBS writeFileRulelhsrhsrelationtopRelationStrictWeakEqualstrictweakequal $fFunctorRule $fEqRelation $fOrdRelation$fShowRelation$fEqRule $fOrdRulePositionTermVarNodevmap positionssizedepthpossymposvarposleafpossubtermsstrict_subterms isSubtermOfisStrictSubtermOfpmaprpmappeek peek_symbol poke_symbolpokepokessymslsymslsymsvarsisvarlvarsvoccs $fFunctorTerm$fEqTerm $fOrdTerm $fShowTermempty$$<+>vcathcatvsephsepfsepseprender renderPretty renderCompact renderWide displayIOtext$fPrettyEither $fPretty(,,,) Attributessize_of_signature max_aritytotal_term_size max_term_sizemax_term_depth left_linear right_linearlinear max_var_count max_var_depthcompute_attributes safe_maximumvarcount varcount_term$fPrettyAttributes$fShowAttributesSESTES StarttermStartterm_Constructor_basedStartterm_FullTheoryACAC TheorydeclProperty EquationsStrategyFull Innermost OutermostType Termination ComplexityProblemtype_trsstrategyfull_signature startterm attributesSRSTRSRS signaturerulesseparateReplacementmap SignatureHigherOrderSignatureFuncsymfs_namefs_arity fs_theoryfs_replacementmap Identifier_identifier_hashnamearitymk strict_rules weak_rules equal_rules mknullarymkunaryfrom_strict_rules with_rules$fShowIdentifier$fHashableIdentifier $fFunctorRS$fEqRS$fEqIdentifier$fOrdIdentifier$fShowReplacementmap $fShowType$fShowStrategy $fEqTheory $fOrdTheory $fReadTheory $fShowTheory $fShowFuncsym$fShowSignature$fShowStartterm PrettyTerm prettyTerm$fPrettyProblem $fPrettyTerm$fPrettyIdentifier $fPrettyRS$fPrettyTermTerm$fPrettyTerm[] $fPrettyRule DeclarationVar_DeclarationTheory_DeclarationStrategy_DeclarationRules_DeclarationUnknown_DeclarationReaderreadersrslexer declarationanylistrepair_signature_srsmake_srsrepair_signature_trsmake_trsrepair_variables $fReaderRS $fReaderRS0 $fReaderRule $fReaderTerm $fReader[]$fReaderIdentifierunifiesmatchmgutimesapplysrs2trs set_arityconvert_srs_ruletrs2srsconvert_trs_ruleunspinespinemirrorMarkedOriginal Auxiliary isOriginalisMarkedmark_topdefineddp$fPrettyMarked$fHashableMarked $fShowMarked $fEqMarked $fOrdMarked$fGenericMarkedtcap fresh_varwalkrestrictusablefixpointrequiredneeded componentsedgeschecksysACTerminationProofACTerminationProofFIXMEArgumentFilterEntry afeSymbolafeArity afeFilterPrecedenceEntrypeSymbolpeArity pePrecedence PathOrderToExotictoExoticExoticMinus_Infinite E_Integer E_Rational Plus_Infinite CoefficientVectorMatrixCoefficient_CoefficientLabel LblNumber LblSymbolSymbolSymNameSymSharpSymLabel ArithFunction AFNatural AFVariableAFSum AFProductAFMinAFMax AFIfEqual PolynomialSumProductPolynomial_CoefficientPolynomial_VariableValue InterpretsymbolvalueDomainNaturals RationalsArcticTropicalInterpretation_TypeMatrix_Interpretationdomain dimensionstrictDimensionInterpretationinterpretation_type interpretsRedPairRPInterpretation RPPathOrderOrderingConstraintProof OCPRedPairDepGraphComponent dgcRealSccdgcDps dgcDpProofDpProofPIsEmpty RedPairProc DepGraphProc SemLabProc UnlabProcrppOrderingConstraintProofrppDpsrppUsableRules rppDpProofslpModelslpDpsslpTrs slpDpProofulpDpsulpTrs ulpDpProofModel FiniteModelTransition_LhsTransition_SymbolTransition_Epsilon tr_symbol tr_height tr_arguments Transitiontransition_lhstransition_rhsState TreeAutomatonta_finalStatesta_transitions Criterion CompatibilityClosedTreeAutomatoncta_treeAutomaton cta_criterion Bounds_TypeRoofMatchTrsTerminationProofRIsEmpty RuleRemovalDpTransSemlabUnlabStringReversalBoundsrr_orderingConstraintProoftrsTerminationProof dptrans_dps markedSymbolsdptrans_dpProofmodel bounds_type bounds_boundbounds_finalStatesbounds_closedTreeAutomatonTrsNonterminationProofTrsNonterminationProofFIXMEComplexityClassComplexityClassPolynomialdegreeComplexityMeasureDerivationalComplexityRuntimeComplexityComplexityProofComplexityProofFIXMEDPSProofRelativeTerminationProofRelativeNonterminationProofCertificationProblemInputTrsInputComplexityInputACRewriteSystem trsinput_trscomplexityMeasurecomplexityClassasymbolscsymbolsToolversionOrigin ProofOrigintoolCertificationProbleminput cpfVersionprooforigin ignoredOrigin$fEqDPS!$fPrettyCertificationProblemInput$fEqCoefficient$fEqTool $fEqOrigin$fEqComplexityProof$fEqComplexityMeasure$fShowComplexityMeasure$fEqComplexityClass$fShowComplexityClass$fEqCertificationProblemInput$fEqTrsNonterminationProof$fEqBounds_Type $fEqCriterion $fEqState $fEqDomain$fEqInterpretation_Type$fEqArithFunction $fEqLabel $fEqSymbol$fEqTransition_Lhs$fEqTransition$fEqTreeAutomaton$fEqClosedTreeAutomaton$fEqPolynomial $fEqValue $fEqInterpret$fEqInterpretation $fEqModel $fEqExotic$fEqPrecedenceEntry$fEqArgumentFilterEntry $fEqPathOrder $fEqRedPair$fEqOrderingConstraintProof $fEqDpProof$fEqDepGraphComponent$fEqTrsTerminationProof$fEqACTerminationProof $fEqProof$fEqCertificationProblemfromMarkedIdentifier sortVariablesatTaggetTermgetVar getFunApp gotoChildgetChild getProblemgetType getStrategy getStarttermgetTRS getSignaturegetFOSignaturegetHOSignature getFuncsymgetReadgetRulesgetRule readProblemsreadProblemsBSgetgetEget_trsgetE_trsget_srsdocumentXReadxreadCParser unCParserContentsmkelrmkel nospaceStringescape must_succeedwraperrmsgorelsemanyelementelement0strip xfromstringcomplaininfo $fHTypeablet$fMonadCParser$fApplicativeCParser$fFunctorCParser$fXReadano_sharp_name_HACKsharp_name_HACK$fXmlContentRule$fHTypeableRule$fXmlContentTerm$fXmlContentIdentifiertox symbolize$fXmlContentArgumentFilterEntry$fXmlContentPrecedenceEntry$fXmlContentPathOrder$fXmlContentLabel$fXmlContentSymbol$fXmlContentExotic$fXmlContentCoefficient$fXmlContentArithFunction$fXmlContentPolynomial$fXmlContentValue$fXmlContentInterpret$fXmlContentRatio$fXmlContentDomain$fXmlContentInterpretation_Type$fXmlContentInterpretation$fXmlContentRedPair#$fXmlContentOrderingConstraintProof$fXmlContentDepGraphComponent$fXmlContentDpProof$fXmlContentModel$fXmlContentTransition_Lhs$fXmlContentTransition$fXmlContentTreeAutomaton$fXmlContentCriterion$fXmlContentClosedTreeAutomaton$fXmlContentState$fXmlContentBounds_Type$fXmlContentTrsTerminationProof$fXmlContentDPS$fXmlContentProof$fXmlContentRS%$fXmlContentCertificationProblemInput$fXmlContentTool$fXmlContentOrigin $fXmlContentCertificationProblemreadCPreadCP_with_tracelevelgetCPgetInputgetTerminationInputgetACTerminationInput getSymbolgetComplexityInputgetComplexityMeasuregetComplexityClass getTrsInputgetTrs getTrsWithgetProofgetDummyprolog doctypedeclcontentcpbaseGHC.Basemempty Data.Monoid<>pack