YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.pl # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty Left Termination of the query pattern mergesort(g,a) w.r.t. the given Prolog program could successfully be proven: (0) Prolog (1) PrologToTRSTransformerProof [SOUND, 34 ms] (2) QTRS (3) DependencyPairsProof [EQUIVALENT, 0 ms] (4) QDP (5) DependencyGraphProof [EQUIVALENT, 0 ms] (6) AND (7) QDP (8) UsableRulesProof [EQUIVALENT, 0 ms] (9) QDP (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] (11) YES (12) QDP (13) UsableRulesProof [EQUIVALENT, 0 ms] (14) QDP (15) QDPSizeChangeProof [EQUIVALENT, 0 ms] (16) YES (17) QDP (18) QDPOrderProof [EQUIVALENT, 18 ms] (19) QDP (20) DependencyGraphProof [EQUIVALENT, 0 ms] (21) TRUE (22) QDP (23) UsableRulesProof [EQUIVALENT, 0 ms] (24) QDP (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] (26) YES (27) QDP (28) QDPOrderProof [EQUIVALENT, 218 ms] (29) QDP (30) DependencyGraphProof [EQUIVALENT, 0 ms] (31) TRUE ---------------------------------------- (0) Obligation: Clauses: mergesort([], []). mergesort(.(E, []), .(E, [])). mergesort(.(E, .(F, U)), V) :- ','(split(.(E, .(F, U)), W, Y), ','(mergesort(W, X), ','(mergesort(Y, Z), merge(X, Z, V)))). merge(X, [], X). merge([], X, X). merge(.(A, X), .(B, Y), .(A, Z)) :- ','(le(A, B), merge(X, .(B, Y), Z)). merge(.(A, X), .(B, Y), .(B, Z)) :- ','(gt(A, B), merge(.(A, X), Y, Z)). split([], [], []). split(.(E, U), .(E, V), W) :- split(U, W, V). gt(s(X), s(Y)) :- gt(X, Y). gt(s(X), 0). le(s(X), s(Y)) :- le(X, Y). le(0, s(Y)). le(0, 0). Query: mergesort(g,a) ---------------------------------------- (1) PrologToTRSTransformerProof (SOUND) Transformed Prolog program to TRS. { "root": 1, "program": { "directives": [], "clauses": [ [ "(mergesort ([]) ([]))", null ], [ "(mergesort (. E ([])) (. E ([])))", null ], [ "(mergesort (. E (. F U)) V)", "(',' (split (. E (. F U)) W Y) (',' (mergesort W X) (',' (mergesort Y Z) (merge X Z V))))" ], [ "(merge X ([]) X)", null ], [ "(merge ([]) X X)", null ], [ "(merge (. A X) (. B Y) (. A Z))", "(',' (le A B) (merge X (. B Y) Z))" ], [ "(merge (. A X) (. B Y) (. B Z))", "(',' (gt A B) (merge (. A X) Y Z))" ], [ "(split ([]) ([]) ([]))", null ], [ "(split (. E U) (. E V) W)", "(split U W V)" ], [ "(gt (s X) (s Y))", "(gt X Y)" ], [ "(gt (s X) (0))", null ], [ "(le (s X) (s Y))", "(le X Y)" ], [ "(le (0) (s Y))", null ], [ "(le (0) (0))", null ] ] }, "graph": { "nodes": { "390": { "goal": [ { "clause": 7, "scope": 2, "term": "(split (. T16 (. T17 T18)) X22 X23)" }, { "clause": 8, "scope": 2, "term": "(split (. T16 (. T17 T18)) X22 X23)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T17", "T18" ], "free": [ "X22", "X23" ], "exprvars": [] } }, "391": { "goal": [{ "clause": 8, "scope": 2, "term": "(split (. T16 (. T17 T18)) X22 X23)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T17", "T18" ], "free": [ "X22", "X23" ], "exprvars": [] } }, "type": "Nodes", "392": { "goal": [{ "clause": -1, "scope": -1, "term": "(split (. T30 T31) X43 X42)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [ "X42", "X43" ], "exprvars": [] } }, "393": { "goal": [ { "clause": 7, "scope": 3, "term": "(split (. T30 T31) X43 X42)" }, { "clause": 8, "scope": 3, "term": "(split (. T30 T31) X43 X42)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [ "X42", "X43" ], "exprvars": [] } }, "394": { "goal": [{ "clause": 8, "scope": 3, "term": "(split (. T30 T31) X43 X42)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [ "X42", "X43" ], "exprvars": [] } }, "670": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge T79 (. T80 T81) T83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T79", "T80", "T81" ], "free": [], "exprvars": [] } }, "596": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "553": { "goal": [{ "clause": -1, "scope": -1, "term": "(split T43 X79 X78)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": [ "X78", "X79" ], "exprvars": [] } }, "597": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "675": { "goal": [ { "clause": 11, "scope": 6, "term": "(le T78 T80)" }, { "clause": 12, "scope": 6, "term": "(le T78 T80)" }, { "clause": 13, "scope": 6, "term": "(le T78 T80)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "555": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "676": { "goal": [{ "clause": 11, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "753": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (gt T117 T119) (merge (. T117 T118) T120 T122))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T117", "T118", "T119", "T120" ], "free": [], "exprvars": [] } }, "677": { "goal": [ { "clause": 12, "scope": 6, "term": "(le T78 T80)" }, { "clause": 13, "scope": 6, "term": "(le T78 T80)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "754": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "755": { "goal": [{ "clause": -1, "scope": -1, "term": "(gt T117 T119)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T117", "T119" ], "free": [], "exprvars": [] } }, "756": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge (. T117 T118) T120 T122)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T117", "T118", "T120" ], "free": [], "exprvars": [] } }, "757": { "goal": [ { "clause": 9, "scope": 7, "term": "(gt T117 T119)" }, { "clause": 10, "scope": 7, "term": "(gt T117 T119)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T117", "T119" ], "free": [], "exprvars": [] } }, "758": { "goal": [{ "clause": 9, "scope": 7, "term": "(gt T117 T119)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T117", "T119" ], "free": [], "exprvars": [] } }, "759": { "goal": [{ "clause": 10, "scope": 7, "term": "(gt T117 T119)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T117", "T119" ], "free": [], "exprvars": [] } }, "519": { "goal": [{ "clause": -1, "scope": -1, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "10": { "goal": [ { "clause": 1, "scope": 1, "term": "(mergesort T1 T2)" }, { "clause": 2, "scope": 1, "term": "(mergesort T1 T2)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "1": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "760": { "goal": [{ "clause": -1, "scope": -1, "term": "(gt T135 T136)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T135", "T136" ], "free": [], "exprvars": [] } }, "761": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "201": { "goal": [{ "clause": -1, "scope": -1, "term": "(split (. T16 (. T17 T18)) X22 X23)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T17", "T18" ], "free": [ "X22", "X23" ], "exprvars": [] } }, "762": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "763": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "5": { "goal": [ { "clause": 0, "scope": 1, "term": "(mergesort T1 T2)" }, { "clause": 1, "scope": 1, "term": "(mergesort T1 T2)" }, { "clause": 2, "scope": 1, "term": "(mergesort T1 T2)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "566": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T21 X24)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T21"], "free": ["X24"], "exprvars": [] } }, "643": { "goal": [{ "clause": 4, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "764": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "567": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (mergesort T22 X25) (merge T44 X25 T20))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T22", "T44" ], "free": ["X25"], "exprvars": [] } }, "600": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "644": { "goal": [ { "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "524": { "goal": [ { "clause": 7, "scope": 4, "term": "(split T37 X61 X60)" }, { "clause": 8, "scope": 4, "term": "(split T37 X61 X60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "9": { "goal": [{ "clause": 0, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "207": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (mergesort T21 X24) (',' (mergesort T22 X25) (merge X24 X25 T20)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T21", "T22" ], "free": [ "X24", "X25" ], "exprvars": [] } }, "647": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "527": { "goal": [{ "clause": 7, "scope": 4, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "648": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "649": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "529": { "goal": [{ "clause": 8, "scope": 4, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "63": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "64": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "65": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "66": { "goal": [{ "clause": 1, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "67": { "goal": [{ "clause": 2, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "68": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "69": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "570": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T22 X25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T22"], "free": ["X25"], "exprvars": [] } }, "691": { "goal": [{ "clause": -1, "scope": -1, "term": "(le T96 T97)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T96", "T97" ], "free": [], "exprvars": [] } }, "571": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "693": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "533": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "577": { "goal": [ { "clause": 3, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 4, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "578": { "goal": [{ "clause": 3, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "655": { "goal": [{ "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "535": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "656": { "goal": [{ "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "70": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "537": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "77": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (split (. T16 (. T17 T18)) X22 X23) (',' (mergesort X22 X24) (',' (mergesort X23 X25) (merge X24 X25 T20))))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T17", "T18" ], "free": [ "X22", "X23", "X24", "X25" ], "exprvars": [] } }, "79": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "580": { "goal": [ { "clause": 4, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "660": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (le T78 T80) (merge T79 (. T80 T81) T83))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T79", "T80", "T81" ], "free": [], "exprvars": [] } }, "661": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "742": { "goal": [{ "clause": 12, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "743": { "goal": [{ "clause": 13, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "744": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "745": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "669": { "goal": [{ "clause": -1, "scope": -1, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "746": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "747": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "748": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "749": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 1, "to": 5, "label": "CASE" }, { "from": 5, "to": 9, "label": "PARALLEL" }, { "from": 5, "to": 10, "label": "PARALLEL" }, { "from": 9, "to": 63, "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []" }, { "from": 9, "to": 64, "label": "EVAL-BACKTRACK" }, { "from": 10, "to": 66, "label": "PARALLEL" }, { "from": 10, "to": 67, "label": "PARALLEL" }, { "from": 63, "to": 65, "label": "SUCCESS" }, { "from": 66, "to": 68, "label": "EVAL with clause\nmergesort(.(X5, []), .(X5, [])).\nand substitutionX5 -> T7,\nT1 -> .(T7, []),\nT2 -> .(T7, [])" }, { "from": 66, "to": 69, "label": "EVAL-BACKTRACK" }, { "from": 67, "to": 77, "label": "EVAL with clause\nmergesort(.(X18, .(X19, X20)), X21) :- ','(split(.(X18, .(X19, X20)), X22, X23), ','(mergesort(X22, X24), ','(mergesort(X23, X25), merge(X24, X25, X21)))).\nand substitutionX18 -> T16,\nX19 -> T17,\nX20 -> T18,\nT1 -> .(T16, .(T17, T18)),\nT2 -> T20,\nX21 -> T20,\nT19 -> T20" }, { "from": 67, "to": 79, "label": "EVAL-BACKTRACK" }, { "from": 68, "to": 70, "label": "SUCCESS" }, { "from": 77, "to": 201, "label": "SPLIT 1" }, { "from": 77, "to": 207, "label": "SPLIT 2\nnew knowledge:\nT16 is ground\nT17 is ground\nT18 is ground\nT21 is ground\nT22 is ground\nreplacements:X22 -> T21,\nX23 -> T22" }, { "from": 201, "to": 390, "label": "CASE" }, { "from": 207, "to": 566, "label": "SPLIT 1" }, { "from": 207, "to": 567, "label": "SPLIT 2\nnew knowledge:\nT21 is ground\nT44 is ground\nreplacements:X24 -> T44" }, { "from": 390, "to": 391, "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" }, { "from": 391, "to": 392, "label": "ONLY EVAL with clause\nsplit(.(X38, X39), .(X38, X40), X41) :- split(X39, X41, X40).\nand substitutionT16 -> T29,\nX38 -> T29,\nT17 -> T30,\nT18 -> T31,\nX39 -> .(T30, T31),\nX40 -> X42,\nX22 -> .(T29, X42),\nX23 -> X43,\nX41 -> X43" }, { "from": 392, "to": 393, "label": "CASE" }, { "from": 393, "to": 394, "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" }, { "from": 394, "to": 519, "label": "ONLY EVAL with clause\nsplit(.(X56, X57), .(X56, X58), X59) :- split(X57, X59, X58).\nand substitutionT30 -> T36,\nX56 -> T36,\nT31 -> T37,\nX57 -> T37,\nX58 -> X60,\nX43 -> .(T36, X60),\nX42 -> X61,\nX59 -> X61" }, { "from": 519, "to": 524, "label": "CASE" }, { "from": 524, "to": 527, "label": "PARALLEL" }, { "from": 524, "to": 529, "label": "PARALLEL" }, { "from": 527, "to": 533, "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT37 -> [],\nX61 -> [],\nX60 -> []" }, { "from": 527, "to": 535, "label": "EVAL-BACKTRACK" }, { "from": 529, "to": 553, "label": "EVAL with clause\nsplit(.(X74, X75), .(X74, X76), X77) :- split(X75, X77, X76).\nand substitutionX74 -> T42,\nX75 -> T43,\nT37 -> .(T42, T43),\nX76 -> X78,\nX61 -> .(T42, X78),\nX60 -> X79,\nX77 -> X79" }, { "from": 529, "to": 555, "label": "EVAL-BACKTRACK" }, { "from": 533, "to": 537, "label": "SUCCESS" }, { "from": 553, "to": 519, "label": "INSTANCE with matching:\nT37 -> T43\nX61 -> X79\nX60 -> X78" }, { "from": 566, "to": 1, "label": "INSTANCE with matching:\nT1 -> T21\nT2 -> X24" }, { "from": 567, "to": 570, "label": "SPLIT 1" }, { "from": 567, "to": 571, "label": "SPLIT 2\nnew knowledge:\nT22 is ground\nT45 is ground\nreplacements:X25 -> T45" }, { "from": 570, "to": 1, "label": "INSTANCE with matching:\nT1 -> T22\nT2 -> X25" }, { "from": 571, "to": 577, "label": "CASE" }, { "from": 577, "to": 578, "label": "PARALLEL" }, { "from": 577, "to": 580, "label": "PARALLEL" }, { "from": 578, "to": 596, "label": "EVAL with clause\nmerge(X86, [], X86).\nand substitutionT44 -> T52,\nX86 -> T52,\nT45 -> [],\nT20 -> T52" }, { "from": 578, "to": 597, "label": "EVAL-BACKTRACK" }, { "from": 580, "to": 643, "label": "PARALLEL" }, { "from": 580, "to": 644, "label": "PARALLEL" }, { "from": 596, "to": 600, "label": "SUCCESS" }, { "from": 643, "to": 647, "label": "EVAL with clause\nmerge([], X91, X91).\nand substitutionT44 -> [],\nT45 -> T57,\nX91 -> T57,\nT20 -> T57" }, { "from": 643, "to": 648, "label": "EVAL-BACKTRACK" }, { "from": 644, "to": 655, "label": "PARALLEL" }, { "from": 644, "to": 656, "label": "PARALLEL" }, { "from": 647, "to": 649, "label": "SUCCESS" }, { "from": 655, "to": 660, "label": "EVAL with clause\nmerge(.(X112, X113), .(X114, X115), .(X112, X116)) :- ','(le(X112, X114), merge(X113, .(X114, X115), X116)).\nand substitutionX112 -> T78,\nX113 -> T79,\nT44 -> .(T78, T79),\nX114 -> T80,\nX115 -> T81,\nT45 -> .(T80, T81),\nX116 -> T83,\nT20 -> .(T78, T83),\nT82 -> T83" }, { "from": 655, "to": 661, "label": "EVAL-BACKTRACK" }, { "from": 656, "to": 753, "label": "EVAL with clause\nmerge(.(X150, X151), .(X152, X153), .(X152, X154)) :- ','(gt(X150, X152), merge(.(X150, X151), X153, X154)).\nand substitutionX150 -> T117,\nX151 -> T118,\nT44 -> .(T117, T118),\nX152 -> T119,\nX153 -> T120,\nT45 -> .(T119, T120),\nX154 -> T122,\nT20 -> .(T119, T122),\nT121 -> T122" }, { "from": 656, "to": 754, "label": "EVAL-BACKTRACK" }, { "from": 660, "to": 669, "label": "SPLIT 1" }, { "from": 660, "to": 670, "label": "SPLIT 2\nnew knowledge:\nT78 is ground\nT80 is ground" }, { "from": 669, "to": 675, "label": "CASE" }, { "from": 670, "to": 571, "label": "INSTANCE with matching:\nT44 -> T79\nT45 -> .(T80, T81)\nT20 -> T83" }, { "from": 675, "to": 676, "label": "PARALLEL" }, { "from": 675, "to": 677, "label": "PARALLEL" }, { "from": 676, "to": 691, "label": "EVAL with clause\nle(s(X129), s(X130)) :- le(X129, X130).\nand substitutionX129 -> T96,\nT78 -> s(T96),\nX130 -> T97,\nT80 -> s(T97)" }, { "from": 676, "to": 693, "label": "EVAL-BACKTRACK" }, { "from": 677, "to": 742, "label": "PARALLEL" }, { "from": 677, "to": 743, "label": "PARALLEL" }, { "from": 691, "to": 669, "label": "INSTANCE with matching:\nT78 -> T96\nT80 -> T97" }, { "from": 742, "to": 744, "label": "EVAL with clause\nle(0, s(X137)).\nand substitutionT78 -> 0,\nX137 -> T104,\nT80 -> s(T104)" }, { "from": 742, "to": 745, "label": "EVAL-BACKTRACK" }, { "from": 743, "to": 747, "label": "EVAL with clause\nle(0, 0).\nand substitutionT78 -> 0,\nT80 -> 0" }, { "from": 743, "to": 748, "label": "EVAL-BACKTRACK" }, { "from": 744, "to": 746, "label": "SUCCESS" }, { "from": 747, "to": 749, "label": "SUCCESS" }, { "from": 753, "to": 755, "label": "SPLIT 1" }, { "from": 753, "to": 756, "label": "SPLIT 2\nnew knowledge:\nT117 is ground\nT119 is ground" }, { "from": 755, "to": 757, "label": "CASE" }, { "from": 756, "to": 571, "label": "INSTANCE with matching:\nT44 -> .(T117, T118)\nT45 -> T120\nT20 -> T122" }, { "from": 757, "to": 758, "label": "PARALLEL" }, { "from": 757, "to": 759, "label": "PARALLEL" }, { "from": 758, "to": 760, "label": "EVAL with clause\ngt(s(X167), s(X168)) :- gt(X167, X168).\nand substitutionX167 -> T135,\nT117 -> s(T135),\nX168 -> T136,\nT119 -> s(T136)" }, { "from": 758, "to": 761, "label": "EVAL-BACKTRACK" }, { "from": 759, "to": 762, "label": "EVAL with clause\ngt(s(X173), 0).\nand substitutionX173 -> T141,\nT117 -> s(T141),\nT119 -> 0" }, { "from": 759, "to": 763, "label": "EVAL-BACKTRACK" }, { "from": 760, "to": 755, "label": "INSTANCE with matching:\nT117 -> T135\nT119 -> T136" }, { "from": 762, "to": 764, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. ---------------------------------------- (3) DependencyPairsProof (EQUIVALENT) Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem. ---------------------------------------- (4) Obligation: Q DP problem: The TRS P consists of the following rules: F1_IN(.(T16, .(T17, T18))) -> U1^1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) F1_IN(.(T16, .(T17, T18))) -> F77_IN(T16, T17, T18) F519_IN(.(T42, T43)) -> U2^1(f519_in(T43), .(T42, T43)) F519_IN(.(T42, T43)) -> F519_IN(T43) F571_IN(.(T78, T79), .(T80, T81)) -> U3^1(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) F571_IN(.(T78, T79), .(T80, T81)) -> F660_IN(T78, T80, T79, T81) F571_IN(.(T117, T118), .(T119, T120)) -> U4^1(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) F571_IN(.(T117, T118), .(T119, T120)) -> F753_IN(T117, T119, T118, T120) F669_IN(s(T96), s(T97)) -> U5^1(f669_in(T96, T97), s(T96), s(T97)) F669_IN(s(T96), s(T97)) -> F669_IN(T96, T97) F755_IN(s(T135), s(T136)) -> U6^1(f755_in(T135, T136), s(T135), s(T136)) F755_IN(s(T135), s(T136)) -> F755_IN(T135, T136) F201_IN(T29, T36, T37) -> U7^1(f519_in(T37), T29, T36, T37) F201_IN(T29, T36, T37) -> F519_IN(T37) F77_IN(T16, T17, T18) -> U8^1(f201_in(T16, T17, T18), T16, T17, T18) F77_IN(T16, T17, T18) -> F201_IN(T16, T17, T18) U8^1(f201_out1(T21, T22), T16, T17, T18) -> U9^1(f207_in(T21, T22), T16, T17, T18, T21, T22) U8^1(f201_out1(T21, T22), T16, T17, T18) -> F207_IN(T21, T22) F207_IN(T21, T22) -> U10^1(f1_in(T21), T21, T22) F207_IN(T21, T22) -> F1_IN(T21) U10^1(f1_out1(T44), T21, T22) -> U11^1(f567_in(T22, T44), T21, T22, T44) U10^1(f1_out1(T44), T21, T22) -> F567_IN(T22, T44) F567_IN(T22, T44) -> U12^1(f1_in(T22), T22, T44) F567_IN(T22, T44) -> F1_IN(T22) U12^1(f1_out1(T45), T22, T44) -> U13^1(f571_in(T44, T45), T22, T44, T45) U12^1(f1_out1(T45), T22, T44) -> F571_IN(T44, T45) F660_IN(T78, T80, T79, T81) -> U14^1(f669_in(T78, T80), T78, T80, T79, T81) F660_IN(T78, T80, T79, T81) -> F669_IN(T78, T80) U14^1(f669_out1, T78, T80, T79, T81) -> U15^1(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U14^1(f669_out1, T78, T80, T79, T81) -> F571_IN(T79, .(T80, T81)) F753_IN(T117, T119, T118, T120) -> U16^1(f755_in(T117, T119), T117, T119, T118, T120) F753_IN(T117, T119, T118, T120) -> F755_IN(T117, T119) U16^1(f755_out1, T117, T119, T118, T120) -> U17^1(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U16^1(f755_out1, T117, T119, T118, T120) -> F571_IN(.(T117, T118), T120) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (5) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 5 SCCs with 18 less nodes. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: Q DP problem: The TRS P consists of the following rules: F755_IN(s(T135), s(T136)) -> F755_IN(T135, T136) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (8) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: F755_IN(s(T135), s(T136)) -> F755_IN(T135, T136) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *F755_IN(s(T135), s(T136)) -> F755_IN(T135, T136) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (11) YES ---------------------------------------- (12) Obligation: Q DP problem: The TRS P consists of the following rules: F669_IN(s(T96), s(T97)) -> F669_IN(T96, T97) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (13) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (14) Obligation: Q DP problem: The TRS P consists of the following rules: F669_IN(s(T96), s(T97)) -> F669_IN(T96, T97) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (15) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *F669_IN(s(T96), s(T97)) -> F669_IN(T96, T97) The graph contains the following edges 1 > 1, 2 > 2 ---------------------------------------- (16) YES ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: F571_IN(.(T78, T79), .(T80, T81)) -> F660_IN(T78, T80, T79, T81) F660_IN(T78, T80, T79, T81) -> U14^1(f669_in(T78, T80), T78, T80, T79, T81) U14^1(f669_out1, T78, T80, T79, T81) -> F571_IN(T79, .(T80, T81)) F571_IN(.(T117, T118), .(T119, T120)) -> F753_IN(T117, T119, T118, T120) F753_IN(T117, T119, T118, T120) -> U16^1(f755_in(T117, T119), T117, T119, T118, T120) U16^1(f755_out1, T117, T119, T118, T120) -> F571_IN(.(T117, T118), T120) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (18) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. F571_IN(.(T78, T79), .(T80, T81)) -> F660_IN(T78, T80, T79, T81) F571_IN(.(T117, T118), .(T119, T120)) -> F753_IN(T117, T119, T118, T120) U16^1(f755_out1, T117, T119, T118, T120) -> F571_IN(.(T117, T118), T120) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U14^1_5(x_1, ..., x_5) ) = x_1 + 2x_3 + 2x_4 + 2x_5 + 2 POL( f669_in_2(x_1, x_2) ) = x_1 POL( s_1(x_1) ) = 2x_1 + 2 POL( U5_3(x_1, ..., x_3) ) = 2 POL( 0 ) = 2 POL( f669_out1 ) = 2 POL( U16^1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_4 + 2x_5 + 2 POL( f755_in_2(x_1, x_2) ) = x_2 POL( U6_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( f755_out1 ) = 2 POL( F571_IN_2(x_1, x_2) ) = 2x_1 + 2x_2 POL( ._2(x_1, x_2) ) = x_1 + x_2 + 2 POL( F660_IN_4(x_1, ..., x_4) ) = x_1 + 2x_2 + 2x_3 + 2x_4 + 2 POL( F753_IN_4(x_1, ..., x_4) ) = 2x_1 + 2x_2 + 2x_3 + 2x_4 + 2 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) f755_in(s(T141), 0) -> f755_out1 U5(f669_out1, s(T96), s(T97)) -> f669_out1 U6(f755_out1, s(T135), s(T136)) -> f755_out1 ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: F660_IN(T78, T80, T79, T81) -> U14^1(f669_in(T78, T80), T78, T80, T79, T81) U14^1(f669_out1, T78, T80, T79, T81) -> F571_IN(T79, .(T80, T81)) F753_IN(T117, T119, T118, T120) -> U16^1(f755_in(T117, T119), T117, T119, T118, T120) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (20) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes. ---------------------------------------- (21) TRUE ---------------------------------------- (22) Obligation: Q DP problem: The TRS P consists of the following rules: F519_IN(.(T42, T43)) -> F519_IN(T43) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (23) UsableRulesProof (EQUIVALENT) We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R. ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: F519_IN(.(T42, T43)) -> F519_IN(T43) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *F519_IN(.(T42, T43)) -> F519_IN(T43) The graph contains the following edges 1 > 1 ---------------------------------------- (26) YES ---------------------------------------- (27) Obligation: Q DP problem: The TRS P consists of the following rules: F1_IN(.(T16, .(T17, T18))) -> F77_IN(T16, T17, T18) F77_IN(T16, T17, T18) -> U8^1(f201_in(T16, T17, T18), T16, T17, T18) U8^1(f201_out1(T21, T22), T16, T17, T18) -> F207_IN(T21, T22) F207_IN(T21, T22) -> U10^1(f1_in(T21), T21, T22) U10^1(f1_out1(T44), T21, T22) -> F567_IN(T22, T44) F567_IN(T22, T44) -> F1_IN(T22) F207_IN(T21, T22) -> F1_IN(T21) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (28) QDPOrderProof (EQUIVALENT) We use the reduction pair processor [LPAR04,JAR06]. The following pairs can be oriented strictly and are deleted. F1_IN(.(T16, .(T17, T18))) -> F77_IN(T16, T17, T18) The remaining pairs can at least be oriented weakly. Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation: POL( U8^1_4(x_1, ..., x_4) ) = x_1 + 2 POL( U10^1_3(x_1, ..., x_3) ) = x_3 POL( U8_4(x_1, ..., x_4) ) = 1 POL( f201_in_3(x_1, ..., x_3) ) = 2x_3 POL( U7_4(x_1, ..., x_4) ) = x_1 POL( f519_in_1(x_1) ) = 2x_1 POL( f1_in_1(x_1) ) = 2 POL( [] ) = 0 POL( f1_out1_1(x_1) ) = max{0, x_1 - 2} POL( ._2(x_1, x_2) ) = 2x_2 + 1 POL( U1_2(x_1, x_2) ) = 2 POL( f77_in_3(x_1, ..., x_3) ) = x_3 POL( f77_out1_5(x_1, ..., x_5) ) = x_1 + 2x_2 + 2x_3 + 2x_4 + x_5 POL( f201_out1_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} POL( U9_6(x_1, ..., x_6) ) = max{0, 2x_5 + 2x_6 - 2} POL( f207_in_2(x_1, x_2) ) = 2 POL( f207_out1_3(x_1, ..., x_3) ) = 2x_1 + 2x_3 + 2 POL( U10_3(x_1, ..., x_3) ) = max{0, 2x_3 - 2} POL( U11_4(x_1, ..., x_4) ) = max{0, 2x_1 - 2} POL( f567_in_2(x_1, x_2) ) = 0 POL( f567_out1_2(x_1, x_2) ) = x_1 + x_2 POL( U12_3(x_1, ..., x_3) ) = max{0, x_1 - 1} POL( U13_4(x_1, ..., x_4) ) = 2 POL( f571_in_2(x_1, x_2) ) = max{0, 2x_1 - 2} POL( f519_out1_2(x_1, x_2) ) = 2x_1 + 2x_2 POL( U2_2(x_1, x_2) ) = 2x_1 + 2 POL( f571_out1_1(x_1) ) = max{0, x_1 - 2} POL( U3_3(x_1, ..., x_3) ) = max{0, -2} POL( f660_in_4(x_1, ..., x_4) ) = 2x_1 + 1 POL( U4_3(x_1, ..., x_3) ) = 2x_2 POL( f753_in_4(x_1, ..., x_4) ) = x_1 + 2x_2 + 2 POL( f660_out1_1(x_1) ) = 2x_1 + 2 POL( U14_5(x_1, ..., x_5) ) = max{0, x_5 - 2} POL( f669_in_2(x_1, x_2) ) = 0 POL( s_1(x_1) ) = 0 POL( U5_3(x_1, ..., x_3) ) = 2x_1 + 2 POL( 0 ) = 0 POL( f669_out1 ) = 2 POL( U15_5(x_1, ..., x_5) ) = max{0, x_4 - 2} POL( f753_out1_1(x_1) ) = 2x_1 POL( U16_5(x_1, ..., x_5) ) = max{0, -2} POL( f755_in_2(x_1, x_2) ) = 0 POL( U6_3(x_1, ..., x_3) ) = max{0, -2} POL( f755_out1 ) = 1 POL( U17_5(x_1, ..., x_5) ) = x_4 + 2 POL( F1_IN_1(x_1) ) = x_1 POL( F77_IN_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( F207_IN_2(x_1, x_2) ) = x_1 + x_2 POL( F567_IN_2(x_1, x_2) ) = x_1 The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented: f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: F77_IN(T16, T17, T18) -> U8^1(f201_in(T16, T17, T18), T16, T17, T18) U8^1(f201_out1(T21, T22), T16, T17, T18) -> F207_IN(T21, T22) F207_IN(T21, T22) -> U10^1(f1_in(T21), T21, T22) U10^1(f1_out1(T44), T21, T22) -> F567_IN(T22, T44) F567_IN(T22, T44) -> F1_IN(T22) F207_IN(T21, T22) -> F1_IN(T21) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f77_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f77_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f519_in([]) -> f519_out1([], []) f519_in(.(T42, T43)) -> U2(f519_in(T43), .(T42, T43)) U2(f519_out1(X79, X78), .(T42, T43)) -> f519_out1(.(T42, X78), X79) f571_in(T52, []) -> f571_out1(T52) f571_in([], T57) -> f571_out1(T57) f571_in(.(T78, T79), .(T80, T81)) -> U3(f660_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f660_out1(T83), .(T78, T79), .(T80, T81)) -> f571_out1(.(T78, T83)) f571_in(.(T117, T118), .(T119, T120)) -> U4(f753_in(T117, T119, T118, T120), .(T117, T118), .(T119, T120)) U4(f753_out1(T122), .(T117, T118), .(T119, T120)) -> f571_out1(.(T119, T122)) f669_in(s(T96), s(T97)) -> U5(f669_in(T96, T97), s(T96), s(T97)) U5(f669_out1, s(T96), s(T97)) -> f669_out1 f669_in(0, s(T104)) -> f669_out1 f669_in(0, 0) -> f669_out1 f755_in(s(T135), s(T136)) -> U6(f755_in(T135, T136), s(T135), s(T136)) U6(f755_out1, s(T135), s(T136)) -> f755_out1 f755_in(s(T141), 0) -> f755_out1 f201_in(T29, T36, T37) -> U7(f519_in(T37), T29, T36, T37) U7(f519_out1(X61, X60), T29, T36, T37) -> f201_out1(.(T29, X61), .(T36, X60)) f77_in(T16, T17, T18) -> U8(f201_in(T16, T17, T18), T16, T17, T18) U8(f201_out1(T21, T22), T16, T17, T18) -> U9(f207_in(T21, T22), T16, T17, T18, T21, T22) U9(f207_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f77_out1(T21, T22, X24, X25, T20) f207_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f567_in(T22, T44), T21, T22, T44) U11(f567_out1(X25, T20), T21, T22, T44) -> f207_out1(T44, X25, T20) f567_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f571_in(T44, T45), T22, T44, T45) U13(f571_out1(T20), T22, T44, T45) -> f567_out1(T45, T20) f660_in(T78, T80, T79, T81) -> U14(f669_in(T78, T80), T78, T80, T79, T81) U14(f669_out1, T78, T80, T79, T81) -> U15(f571_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f571_out1(T83), T78, T80, T79, T81) -> f660_out1(T83) f753_in(T117, T119, T118, T120) -> U16(f755_in(T117, T119), T117, T119, T118, T120) U16(f755_out1, T117, T119, T118, T120) -> U17(f571_in(.(T117, T118), T120), T117, T119, T118, T120) U17(f571_out1(T122), T117, T119, T118, T120) -> f753_out1(T122) Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (30) DependencyGraphProof (EQUIVALENT) The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 6 less nodes. ---------------------------------------- (31) TRUE