mJT      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Safe-Inferred      Safe-Inferred55None24M !"#$%&'()*+,-./01234567 !"#$%&'()*+,-./0123&'7(%"#$65) !4*+,-./0123 !"#$%&'()*+,-./01234567 Safe-Inferred+ > all positions?non-variable positions@variable positionsA"leaf positions (= nullary symbols)C3compute new symbol at position, giving the positionDjcompute new symbol from *reverse* position and previous symbol this is more efficient (no reverse needed)Gwarning: don't check arityJ in preorder O:list of variables (each occurs once, unspecified ordering)P1list of variables (in pre-order, with duplicates)89:;<=>?@ABCDEFGHIJKLMNOPQ89:;<=>?@ABCDEFGHIJKLMNOP9;:<Q8=>?@ABCDEFGHIJKLMNOP89;:<=>?@ABCDEFGHIJKLMNOPQ Safe-Inferred+Slegaca stuff (used in matchbox)h"better keep order in signature (?)j"if True, write comma between rules5RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~L89:;<=>?@ABCDEFGHIJKLMNOPRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~5uvwxyzqtsrklmnop{|}fghij~ed^_`abc[]\WZYXTVUSRRSTVUWZYX[]\^_`abcdefghijklmnopqtsruvwxyz{|}~None234FIXME: move to separate module Safe-InferredMsuccess iff term consists of unary symbols and the lowest node is a variableNoneMNone\89:;<=>?@ABCDEFGHIJKLMNOPRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred1if input is SRS, reverse lhs and rhs of each rule  Safe-Inferred  Safe-Inferred3    Safe-Inferred24Mpthis is super-ugly: a parenthesized, possibly nested, possibly comma-separated, list of identifiers or strings6warning: by definition, {}[] may appear in identifiers NoneKread input from file with given name. can have extension .srs, .trs, .xml.None *+-./02345689:;<=?BCDFGHJKMthis 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)U      !"#$%WSu      !"#$%] !"#$%        uS         !"#$%None+:M-TODO add more info.experimental (not in Rainbow)/experimental (not in Rainbow)0proposed extension8see specification: -http://termination-portal.org/wiki/Complexity[this is an extensionX&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}L&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqXpqnokmlhjidefgabc`_WXYZ[\]^RVUTS}|{MQPONKLzIJyEFGHABCD=@?>xw8<:9;vu,76543210/.-)+*&('tsr &(')+*, 76543210/.-8<:9;=@?>ABCDEFGHIJKLMQPONRVUTSWXYZ[\]^_`abcdefghjikmlnopqrstuvwxyz{|}None +234M~for some types, e.g. Integer , do not use XmlContent instance for element type but show them (as string). reason: the XmlContent module contains an instance for integer that produces  integer value="42"/' and there is no way to turn this off.OFIXME this is broken because the keys could be Identifier or Marked Identifiersuper ugly risky: name mangling~~~~None +234M !"#$%&'()*+,-./01234567789:;<=>?@A2BCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqqrstuvwxxyz{||}~              s      s  !"##$%&'()*+,-./0123456789:;<=o>p?@AABCDDEEFGHIJKLMNOPQRSTUUVWWXYZ[\]^_`abcdefghijkllmnopqrstuvwxyz{|}~m~w. tpdb-0.8.4 TPDB.PrettyTPDB.Xml.PrettyTPDB.XmlTPDB.Data.Term TPDB.Data TPDB.Data.Xml TPDB.Convert TPDB.XTC.Read TPDB.MirrorTPDB.DPTPDB.Plain.WriteTPDB.Plain.Read TPDB.InputTPDB.CPF.Proof.TypeTPDB.Rainbow.Proof.TypeTPDB.Rainbow.Proof.XmlTPDB.CPF.Proof.XmlTPDB.XTCwl-pprint-text-1.1.0.2Text.PrettyPrint.Leijen.Text displayIO renderCompactnestemptycommaenclosebracketsanglesparensbraces<>hcatvsephsep punctuate prettyListprettyPrettyDoc SimpleDocfsep$$<+>vcatrendertextdocumentprolog doctypedeclelementcontentcpXReadxreadCParser unCParserContentsmkelrmkelescape must_succeedwraperrmsgorelsemanyelement0strip xfromstringcomplaininfo$fXReada$fMonadCParser$fFunctorCParser $fHTypeabletPositionTermNodeVarvmap positionspossymposvarposleafpossubtermspmaprpmappeek 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$fShowIdentifier$fHashableIdentifiersharp_name_HACK$fXmlContentRule$fHTypeableRule$fXmlContentTerm$fXmlContentIdentifiersrs2trsconvert_srs_ruletrs2srsconvert_trs_ruleunspinespineatTaggetTermgetVar getFunApp gotoChildgetChild getProblemgetType getStrategy getStarttermgetTRS getSignature getFuncsymgetRulesgetRule readProblemsmirrorMarked AuxiliaryOriginaldp$fPrettyMarked$fHashableMarked 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_srsToExotictoExoticExotic Plus_Infinite E_Rational E_IntegerMinus_Infinite CoefficientCoefficient_CoefficientMatrixVector PolynomialPolynomial_VariablePolynomial_CoefficientProductSumValue InterpretsymbolvalueDomainTropicalArctic RationalsNaturalsInterpretation_TypeMatrix_Interpretationdomain dimensionstrictDimensionInterpretationinterpretation_type interpretsOrderingConstraintProofRedPairinterpretationDpProof RedPairProcdp_orderingConstraintProof red_pair_dpsredpairproc_dpProofPIsEmptyModel FiniteModel carrierSizeTrsTerminationProofStringReversalUnlabSemlabmodelDpTrans dptrans_dps markedSymbolsdptrans_dpProof RuleRemovalrr_orderingConstraintProoftrsTerminationProofRIsEmptyDPSSharpPlainProofCertificationProblemInputTrsInput trsinput_trsToolversionOrigin ProofOriginCertificationProbleminput cpfVersionprooforiginInt_MarkHd_Mark Over_Graph HDE_MarkedHDEReasonBounded_Matrix_InterpretationUndo_RFCRFCSCCAs_SRSAs_TRSReverseDPMarkSymb MannaNessTrivialFunction ExponentialdegreeUnknownPropertyTop_TerminationclaimreasonClaimsystempropertySimple_Projection Usable_RulesRed_OrdRed_Ord_Usable_RulesRed_Ord_Simple_ProjectionRed_Ord_Polynomial_IntRed_Ord_Matrix_IntArctic_Below_ZeroNatural mi_domainmi_dim mi_durationmi_startmi_endmi_intPolynomial_Int Matrix_IntPoly_Fun coefficientsMi_Funmi_constmi_argsMinPlus PlusInfinite MinPlusFiniteMaxPlus MaxPlusFinite MinusInfinite$fToExoticMinPlus$fToExoticMaxPlus$fToExoticInteger$fPrettyFunction$fShowFunction$fPrettyProperty$fShowProperty$fPrettySimple_Projection$fPrettyUsable_Rules$fPrettyUTCTime$fPrettyNominalDiffTime$fPrettyDomain Xml_As_Stringtoxtoplevelmai externalizeunP$fXReadIdentifier $fXReadMarked$fXmlContentMarked$fXmlContentOver_Graph $fXReadProof$fXmlContentProof$fHTypeableProof$fXReadRed_Ord$fXReadSimple_Projection$fXmlContentSimple_Projection$fXmlContentRed_Ord$fXReadInterpretation$fXmlContentInterpretation$fXmlContentDomain$fToExoticXml_As_String $fXReadMi_Fun$fXmlContentMi_Fun $fXReadMatrix$fXmlContentMatrix$fXmlContentXml_As_String$fXmlContentMaxPlus $fXReadVector$fXmlContentVector$fXmlContentExotic$fXmlContentCoefficient$fXmlContentPolynomial$fXmlContentValue$fXmlContentInterpret$fXmlContentRatio$fXmlContentInterpretation_Type#$fXmlContentOrderingConstraintProof$fXmlContentDpProof$fXmlContentTrsTerminationProof$fXmlContentDPS$fXmlContentSharp$fXmlContentRS%$fXmlContentCertificationProblemInput$fXmlContentTool$fXmlContentOrigin $fXmlContentCertificationProblem $fPretty(,,,)eithermaybexmldeclmiscsddecl markupdeclisText carryelem carrycontent spancontent attribute elementdecl contentspecmodifiermixed attlistdeclattdefatttype tokenizedtypeenumeratedtype notationtype enumeration defaultdecl reference entityrefcharref entitydeclgedeclpedecl entitydefpedef externalid ndatadecl notationdeclpublicid encodingdeclnmtokenattvalue entityvalueev pubidliteral systemliteralchardatacdsectqnamecontainsDoubleQuote