!c5      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234Safe " !#$% " !#$%Safe1$ 4tpdb all positions5tpdbnon-variable positions6tpdbvariable positions7tpdb"leaf positions (= nullary symbols)<tpdb3compute new symbol at position, giving the position=tpdbjcompute new symbol from *reverse* position and previous symbol this is more efficient (no reverse needed)@tpdbwarning: don't check arityCtpdb in preorder Htpdb:list of variables (each occurs once, unspecified ordering)Itpdb1list of variables (in pre-order, with duplicates),-./0123456789:;<=>?@ABCDEFGHI-./0,123456789:;<=>?@ABCDEFGHISafe']tpdbWARNING: there is instance Pretty a => Pretty (Maybe a) in the back-end but its spec is "Ignore Nothings, print Just contents"" NOPQRSTUVWXYZ[\#WZYX[UVTSQR  N\PO Safe*-jtpdb3value is meaningless if the system has no variables_`jihgfedcbaklmn_`jihgfedcbaklmnSafe1.rtpdblegacy stuff (used in matchbox)ztpdbthis is modelled after +https://www.lri.fr/~marche/tpdb/format.html{tpdbexample: "(AC plus)"tpdb"better keep order in signature (?)tpdb"if True, write comma between rulestpdbaccording to XTC spece! "#$%,-/.0123456789:;<=>?@ABCDEFGHIqrstuvxwyz{|}~:qrstuvxwyz{|}~Safe<1 Safe;=V4tpdbpthis is super-ugly: a parenthesized, possibly nested, possibly comma-separated, list of identifiers or stringstpdb6warning: by definition, {}[] may appear in identifiers Safe75tpdbview variables as symbolstpdb)will only bind variables in the left sidetpdb-naive implementation (worst case exponential) Safe9?tpdbMsuccess iff term consists of unary symbols and the lowest node is a variable Safe:tpdb1if input is SRS, reverse lhs and rhs of each rule Safe6;{tpdb"compute the DP transformed system. Safe@+tpdbThis 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.pdfSafeCtpdb%DANGER: this ignores the CE conditiontpdb<computes the least closed set of usable rules, cf. Def 4.5 Uhttp://cl-informatik.uibk.ac.at/users/griff/publications/Sternagel-Thiemann-RTA10.pdfSafeFtpdbwDP problems for strongly connected components, topologically sorted, with CyclicComponents in Right, others in Left.tpdb'edges of the estimated dependency graphSafeF NoneVGcNoneItpdb~first argument is file name, second argument is file contents. first arg. is needed to pick the proper parser (SRS, TRS, XTC)NoneMctpdbread 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      NoneM   NoneN  NoneNyl! "#$%,-/.0123456789:;<=>?@ABCDEFGHIqrstuvxwyz{|}~ None;=VP    None;<=QtpdbFIXME: move to separate moduleNone01CVWtpdbYit 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.phptpdbthis 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)r !"#$%&'()*+,-./0123456789:;<=>?@ABCEDFGHIJKLOMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~и !"#$%&'()*+,-./0123456789:;<=>?@ABCEDFGHIJKLOMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~rNone 1;<=V]None]^ ! !NoneV]bo"tpdb[dangerous: not all constructor arguments will be set. the function produces something likeCertificationProblem { input = CertificationProblemInput , proof = TrsTerminationProof undefined } "#$%&'()*+,-./01234"#$%&'()*+,-./01234Nonec="#$%&'()*+,-./012346 !"#$%&$%'$%($%)$%*$+,$+-$+.$+/$+0$+1$+2$+3$+4$+5$+6$+789:8;<8;=8;>8?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                               !"#$$%&'()*+,-./0123456789::;<=>>?@ABBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab]Uccdefghijklmnoppqrstuvwxxyz{|}~8      5!"#$%&'()*+,-./0123456789: ;<!tpdb-2.1.1-6Uo55Ug1aP9CkbZQcEvgXh TPDB.PrettyTPDB.XTC.WriteTPDB.XmlTPDB.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.Graph TPDB.XTC.ReadTPDB.Input.MemoryTPDB.Input.File TPDB.Data.XmlTPDB.CPF.Proof.TypeTPDB.CPF.Proof.WriteTPDB.CPF.Proof.UtilTPDB.CPF.Proof.ReadTPDB.DP TPDB.InputTPDB.XTCTPDB.CPF.Proof.XmlbaseGHC.Base<>mempty1data-default-class-0.1.2.0-2kYzERBLX3wJoPfj7mwVvWData.Default.Classdef)prettyprinter-1.2.1-1emSrHEjcl7usGITZsuhr'Data.Text.Prettyprint.Doc.Symbols.Asciicommabracesbracketsanglesparens"Data.Text.Prettyprint.Doc.Internalenclose punctuatetupledlist encloseSepindenthangnestDoc prettyListprettyPretty(xml-conduit-1.8.0-12qcXbzp4rEA9jOEhPFjJ2Text.XML.CursorcontentText.XML renderText renderLBS writeFileText.XML.Cursor.Generic&|RulelhsrhsrelationtopRelationStrictWeakEqualstrictweakequal $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 componentsedgeschecksys readProblemF readProblemTgetgetEget_trsgetE_trsget_srsdocument XmlContent toContents parseContentsmkelrmkel nospaceStringescape$fXmlContentBool$fXmlContentInteger$fXmlContentIntno_sharp_name_HACK$fXmlContentRule$fXmlContentTerm$fXmlContentIdentifierACTerminationProofACTerminationProofFIXMEArgumentFilterEntry 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$fEqCertificationProblemtox 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 $fXmlContentCertificationProblemfromMarkedIdentifier sortVariablesreadCPreadFileelement1fromDocgetInputgetTerminationInputgetACTerminationInput getSymbolgetComplexityInputgetComplexityMeasuregetComplexityClass getTrsInput getRulesWithgetRulegetProofgetDummygetTermgetVar getFunApppack