|JcF      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred      Safe-Inferred55None24M !"#$%&'()*+,-./0123456789 !"#$%&'()*+,-./01234&'(9)%"#$876* !5+,-./01234 !"#$%&'()*+,-./0123456789 Safe-Inferred+ @ all positionsAnon-variable positionsBvariable positionsC"leaf positions (= nullary symbols)H3compute new symbol at position, giving the positionIjcompute new symbol from *reverse* position and previous symbol this is more efficient (no reverse needed)Lwarning: don't check arityO in preorder T:list of variables (each occurs once, unspecified ordering)U1list of variables (in pre-order, with duplicates):;<=>?@ABCDEFGHIJKLMNOPQRSTUV:;<=>?@ABCDEFGHIJKLMNOPQRSTU;=<>V:?@ABCDEFGHIJKLMNOPQRSTU:;=<>?@ABCDEFGHIJKLMNOPQRSTUV Safe-Inferred+Xlegaca stuff (used in matchbox)m"better keep order in signature (?)o"if True, write comma between rules8WXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~O:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~8z{|}~vyxwpqrstuklmnojicdefgh`ba\_^]Y[ZXWWXY[Z\_^]`bacdefghijklmnopqrstuvyxwz{|}~None234FIXME: move to separate module Safe-InferredMsuccess iff term consists of unary symbols and the lowest node is a variableNoneMNone_:;<=>?@ABCDEFGHIJKLMNOPQRSTUWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred1if input is SRS, reverse lhs and rhs of each rule  Safe-Inferred0"compute the DP transformed system.   Safe-Inferredview variables as symbols)will only bind variables in the left side-naive implementation (worst case exponential)  Safe-InferredThis 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.pdf  Safe-Inferred3   Safe-Inferred24Mpthis is super-ugly: a parenthesized, possibly nested, possibly comma-separated, list of identifiers or strings6warning: by definition, {}[] may appear in identifiersNoneread 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-benchmarks Safe-InferredwDP problems for strongly connected components, topologically sorted, with CyclicComponents in Right, others in Left.'edges of the estimated dependency graph Safe-Inferred  Safe-Inferred%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.pdfNone*+:M^Yit 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.phpqthis 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)      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Xz      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~z{|}~wxystuvmqnrropglkjihefcd`ba]^_[\MZVRPONWXYSTUQXYXYXYKL:JED?;FGHI@ABC<=>5678934021,-./'()*+"&%$# !     zX"      !"&%$#'()*+,-./0213456789:JED?;FGHI@ABC<=>KLMZVRPONWXYSTUQXYXYXY[\]^_`bacdefglkjihmqnrropstuvwxyz{|}~None +234MNoneM[dangerous: not all constructor arguments will be set. the function produces something likeCertificationProblem { input = CertificationProblemInput , proof = TrsTerminationProof undefined } NoneNoneT !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGH8IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{||}~      ~       !"#$%&'()*%++,-./01234567889:;<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`a~bcdefghijklmnnolpqdWrstuvwxxyz{|}}~4    tpdb-1.2.0 TPDB.PrettyTPDB.Xml.PrettyTPDB.XmlTPDB.Data.Term TPDB.Data TPDB.Data.Xml TPDB.Convert TPDB.XTC.Read TPDB.MirrorTPDB.DP.Transform TPDB.DP.Unify TPDB.DP.TCapTPDB.Plain.WriteTPDB.Plain.Read TPDB.Input TPDB.DP.GraphTPDB.DP.UsableTPDB.CPF.Proof.TypeTPDB.CPF.Proof.WriteTPDB.CPF.Proof.ReadTPDB.CPF.Proof.UtilTPDB.XTCTPDB.DPTPDB.CPF.Proof.Xmlwl-pprint-text-1.1.0.4Text.PrettyPrint.Leijen.Text displayIO renderCompactnestemptycommaenclosebracketsanglesparensbraces<>hcatvsephsep punctuate prettyListprettyPrettyDoc SimpleDocfsep$$<+>vcatrendertextdocumentprolog doctypedeclelementcontentcpXReadxreadCParser unCParserContentsmkelrmkel nospaceStringescape must_succeedwraperrmsgorelsemanyelement0strip xfromstringcomplaininfo$fXReada$fMonadCParser$fApplicativeCParser$fFunctorCParser $fHTypeabletPositionTermNodeVarvmap positionspossymposvarposleafpossubtermsstrict_subterms isSubtermOfisStrictSubtermOfpmaprpmappeek peek_symbol poke_symbolpokepokessymslsymslsymsvarsisvarlvarsvoccs $fFunctorTermSESTES StarttermStartterm_FullStartterm_Constructor_basedStrategy Outermost InnermostFullType Complexity TerminationProblemtype_trsstrategy starttermSRSTRSRS signaturerulesseparateRulelhsrhsrelationtopRelationEqualWeakStrict Identifier_identifier_hashnamearitymkstrictweakequal strict_rules weak_rules equal_rules mknullarymkunaryfrom_strict_rules with_rules$fEqRS $fFunctorRule $fFunctorRS$fShowIdentifier$fHashableIdentifierno_sharp_name_HACKsharp_name_HACK$fXmlContentRule$fHTypeableRule$fXmlContentTerm$fXmlContentIdentifiersrs2trsconvert_srs_ruletrs2srsconvert_trs_ruleunspinespineatTaggetTermgetVar getFunApp gotoChildgetChild getProblemgetType getStrategy getStarttermgetTRS getSignature getFuncsymgetRulesgetRule readProblemsmirrorMarked AuxiliaryOriginal isOriginalisMarkedmark_topdefineddp$fPrettyMarked$fHashableMarkedunifiesmatchmgutimesapplytcap fresh_varwalk PrettyTerm prettyTerm$fPrettyProblem $fPrettyRS$fPrettyTermTerm$fPrettyTerm[] $fPrettyRule $fPrettyTerm$fPrettyIdentifier DeclarationUnknown_DeclarationRules_DeclarationStrategy_DeclarationTheory_DeclarationVar_DeclarationReaderreaderParsersrslexer declarationanylistrepair_signature_srsmake_srsrepair_signature_trsmake_trsrepair_variables $fReaderRS $fReaderRS0 $fReaderRule $fReaderTerm $fReader[]$fReaderIdentifiergetgetEget_trsgetE_trsget_srs componentsedgeschecksysrestrictusablefixpointrequiredneededArgumentFilterEntry afeSymbolafeArity afeFilterPrecedenceEntrypeSymbolpeArity pePrecedence PathOrderToExotictoExoticExotic Plus_Infinite E_Rational E_IntegerMinus_Infinite CoefficientCoefficient_CoefficientMatrixVectorLabel LblSymbol LblNumberSymbolSymLabelSymSharpSymName ArithFunction AFIfEqualAFMaxAFMin AFProductAFSum AFVariable AFNatural PolynomialPolynomial_VariablePolynomial_CoefficientProductSumValue InterpretsymbolvalueDomainTropicalArctic RationalsNaturalsInterpretation_TypeMatrix_Interpretationdomain dimensionstrictDimensionInterpretationinterpretation_type interpretsRedPair RPPathOrderRPInterpretationOrderingConstraintProof OCPRedPairDepGraphComponent dgcRealSccdgcDps dgcDpProofDpProof UnlabProculpDpsulpTrs ulpDpProof SemLabProcslpModelslpDpsslpTrs slpDpProof DepGraphProc RedPairProcrppOrderingConstraintProofrppDpsrppUsableRules rppDpProofPIsEmptyModel FiniteModelTrsTerminationProofStringReversalUnlabSemlabmodelDpTrans dptrans_dps markedSymbolsdptrans_dpProof RuleRemovalrr_orderingConstraintProoftrsTerminationProofRIsEmptyTrsNonterminationProofTrsNonterminationProofFIXMEComplexityClassComplexityClassPolynomialdegreeComplexityMeasureRuntimeComplexityDerivationalComplexityComplexityProofComplexityProofFIXMEDPSProofRelativeNonterminationProofRelativeTerminationProofCertificationProblemInputComplexityInputcomplexityMeasurecomplexityClassTrsInput trsinput_trsToolversionOrigin ProofOrigintoolCertificationProbleminput cpfVersionprooforigin ignoredOrigin$fEqCoefficient$fEqDPStox symbolize$fXmlContentArgumentFilterEntry$fXmlContentPrecedenceEntry$fXmlContentPathOrder$fXmlContentLabel$fXmlContentSymbol$fXmlContentExotic$fXmlContentCoefficient$fXmlContentArithFunction$fXmlContentPolynomial$fXmlContentValue$fXmlContentInterpret$fXmlContentRatio$fXmlContentDomain$fXmlContentInterpretation_Type$fXmlContentInterpretation$fXmlContentRedPair#$fXmlContentOrderingConstraintProof$fXmlContentDepGraphComponent$fXmlContentDpProof$fXmlContentModel$fXmlContentTrsTerminationProof$fXmlContentDPS$fXmlContentProof$fXmlContentRS%$fXmlContentCertificationProblemInput$fXmlContentTool$fXmlContentOrigin $fXmlContentCertificationProblemreadCPreadCP_with_tracelevelgetCPgetInputgetTerminationInputgetComplexityInputgetComplexityMeasuregetComplexityClass getTrsInputgetTrs getTrsWithgetProofgetDummyfromMarkedIdentifier sortVariables$fPrettyEither $fPretty(,,,)eithermaybexmldeclmiscsddecl markupdeclisText carryelem carrycontent spancontent attribute elementdecl contentspecmodifiermixed attlistdeclattdefatttype tokenizedtypeenumeratedtype notationtype enumeration defaultdecl reference entityrefcharref entitydeclgedeclpedecl entitydefpedef externalid ndatadecl notationdeclpublicid encodingdeclnmtokenattvalue entityvalueev pubidliteral systemliteralchardatacdsectqnamecontainsDoubleQuotepack Substitutionunpack