h$/V"@      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                     Safe-Inferred " !#$% " !#$% Safe-Inferred3  4tpdb all positions5tpdbnon-variable positions6tpdbvariable positions7tpdb"leaf positions (= nullary symbols)<tpdb3compute new symbol at position, giving the position=tpdbcompute 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:;<=>?@ABCDEFGHI Safe-Inferred]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-Inferred jtpdb3value is meaningless if the system has no variables_`jihgfedcbaklmn_`jihgfedcbaklmn Safe-Inferred 3>?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 spec"! #$%,-./0123456789:;<=>?@ABCDEFGHIqrstuvyxwz{|}~=qrstuvyxwz{|}~ Safe-Inferred ?J  Safe-Inferred>=tpdbthis is super-ugly: a parenthesized, possibly nested, possibly comma-separated, list of identifiers or stringstpdb6warning: by definition, {}[] may appear in identifiers  Safe-Inferredtpdb)will only bind variables in the left sidetpdb-naive implementation (worst case exponential)  Safe-Inferred tpdbsuccess iff term consists of unary symbols and the lowest node is a variable  Safe-Inferred-tpdb1if input is SRS, reverse lhs and rhs of each rule  Safe-Inferred 8tpdb"compute the DP transformed system.   Safe-InferredtpdbThis 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 http://cl-informatik.uibk.ac.at/users/griff/publications/Sternagel-Thiemann-RTA10.pdf Safe-Inferredtpdb%DANGER: this ignores the CE conditiontpdb?@ABCDEFGHIqrstuvyxwz{|}~None >L  None>?tpdbFIXME: move to separate moduleNone 23Gtpdbit seems the degree must always be given in CPF, although the category spec also allows POLY http://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)rrNone  3>? PNone wNone !tpdbdangerous: not all constructor arguments will be set. the function produces something likeCertificationProblem { input = CertificationProblemInput , proof = TrsTerminationProof undefined } None" !"#$%&$%'$%($%)$%*$+,$+-$+.$+/$+0$+1$+2$+3$+4$+5$+6$+789:8;<8;=8;>8?@AABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~U                                                    !tpdb-2.2.1-41PvqlQVR0S84W1vJyqTmR 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-IIN1s3V8yfYEDHe5yjxXHVData.Default.Classdef)prettyprinter-1.7.1-BauxLiNvN3EiJKyXe93SMPrettyprinter.Symbols.AsciicommabracesbracketsanglesparensPrettyprinter.Internalenclose punctuatetupledlist encloseSepindenthangnestDoc prettyListprettyPretty*xml-conduit-1.9.1.1-KGOQdUcOtrxD5ENSII7kxLText.XML.CursorcontentText.XML renderText renderLBS writeFileText.XML.Cursor.Generic&|RulelhsrhsrelationtopRelationStrictWeakEqualstrictweakequal $fFunctorRule$fEqRule $fOrdRule $fEqRelation $fOrdRelation$fShowRelationPositionTermVarNodevmap 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 Variables variables Identifier_identifier_hashnamearitymk strict_rules weak_rules equal_rules mknullarymkunaryfrom_strict_rules with_rules$fShowIdentifier$fHashableIdentifier$fVariablesRule $fVariables[]$fVariablesTerm $fFunctorRS$fEqRS $fVariablesRS$fVariablesRS0$fShowStartterm$fShowSignature $fShowFuncsym $fEqTheory $fOrdTheory $fReadTheory $fShowTheory$fShowStrategy $fShowType$fShowReplacementmap$fEqIdentifier$fOrdIdentifier 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$fEqCertificationProblem $fEqProof$fEqACTerminationProof$fEqTrsTerminationProof $fEqDpProof$fEqDepGraphComponent$fEqOrderingConstraintProof $fEqRedPair $fEqPathOrder$fEqArgumentFilterEntry$fEqPrecedenceEntry $fEqExotic $fEqModel$fEqInterpretation $fEqInterpret $fEqValue$fEqPolynomial$fEqClosedTreeAutomaton$fEqTreeAutomaton$fEqTransition$fEqTransition_Lhs $fEqLabel $fEqSymbol$fEqArithFunction$fEqInterpretation_Type $fEqDomain $fEqState $fEqCriterion$fEqBounds_Type$fEqTrsNonterminationProof$fEqCertificationProblemInput$fEqComplexityClass$fShowComplexityClass$fEqComplexityMeasure$fShowComplexityMeasure$fEqComplexityProof $fEqOrigin$fEqTooltox 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 getFunApp