YES proof of /export/starexec/sandbox/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, 28 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, 16 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, 222 ms] (29) QDP (30) DependencyGraphProof [EQUIVALENT, 0 ms] (31) TRUE ---------------------------------------- (0) Obligation: Clauses: mergesort([], []). mergesort(.(X, []), .(X, [])). mergesort(.(X, .(Y, Xs)), Ys) :- ','(split(.(X, .(Y, Xs)), X1s, X2s), ','(mergesort(X1s, Y1s), ','(mergesort(X2s, Y2s), merge(Y1s, Y2s, Ys)))). split([], [], []). split(.(X, Xs), .(X, Ys), Zs) :- split(Xs, Zs, Ys). merge([], Xs, Xs). merge(Xs, [], Xs). merge(.(X, Xs), .(Y, Ys), .(X, Zs)) :- ','(le(X, Y), merge(Xs, .(Y, Ys), Zs)). merge(.(X, Xs), .(Y, Ys), .(Y, Zs)) :- ','(gt(X, Y), merge(.(X, Xs), Ys, Zs)). 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": 2, "program": { "directives": [], "clauses": [ [ "(mergesort ([]) ([]))", null ], [ "(mergesort (. X ([])) (. X ([])))", null ], [ "(mergesort (. X (. Y Xs)) Ys)", "(',' (split (. X (. Y Xs)) X1s X2s) (',' (mergesort X1s Y1s) (',' (mergesort X2s Y2s) (merge Y1s Y2s Ys))))" ], [ "(split ([]) ([]) ([]))", null ], [ "(split (. X Xs) (. X Ys) Zs)", "(split Xs Zs Ys)" ], [ "(merge ([]) Xs Xs)", null ], [ "(merge Xs ([]) Xs)", null ], [ "(merge (. X Xs) (. Y Ys) (. X Zs))", "(',' (le X Y) (merge Xs (. Y Ys) Zs))" ], [ "(merge (. X Xs) (. Y Ys) (. Y Zs))", "(',' (gt X Y) (merge (. X Xs) Ys Zs))" ], [ "(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": { "44": { "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": [] } }, "45": { "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": [] } }, "46": { "goal": [ { "clause": 3, "scope": 2, "term": "(split (. T16 (. T17 T18)) X22 X23)" }, { "clause": 4, "scope": 2, "term": "(split (. T16 (. T17 T18)) X22 X23)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T16", "T17", "T18" ], "free": [ "X22", "X23" ], "exprvars": [] } }, "47": { "goal": [{ "clause": 4, "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", "590": { "goal": [{ "clause": -1, "scope": -1, "term": "(split T43 X79 X78)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": [ "X78", "X79" ], "exprvars": [] } }, "591": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "594": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T21 X24)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T21"], "free": ["X24"], "exprvars": [] } }, "595": { "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": [] } }, "750": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "751": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "752": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "599": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T22 X25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T22"], "free": ["X25"], "exprvars": [] } }, "710": { "goal": [{ "clause": -1, "scope": -1, "term": "(',' (gt T119 T121) (merge (. T119 T120) T122 T124))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T120", "T121", "T122" ], "free": [], "exprvars": [] } }, "712": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "715": { "goal": [{ "clause": -1, "scope": -1, "term": "(gt T119 T121)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "716": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge (. T119 T120) T122 T124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T120", "T122" ], "free": [], "exprvars": [] } }, "10": { "goal": [{ "clause": 0, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "11": { "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": [] } }, "2": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "4": { "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": [] } }, "687": { "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": [] } }, "600": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "688": { "goal": [{ "clause": 11, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "601": { "goal": [ { "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 7, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 8, "scope": 5, "term": "(merge T44 T45 T20)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "689": { "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": [] } }, "602": { "goal": [{ "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "603": { "goal": [ { "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 7, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 8, "scope": 5, "term": "(merge T44 T45 T20)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "604": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "605": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "606": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "607": { "goal": [{ "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "728": { "goal": [ { "clause": 9, "scope": 7, "term": "(gt T119 T121)" }, { "clause": 10, "scope": 7, "term": "(gt T119 T121)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "608": { "goal": [ { "clause": 7, "scope": 5, "term": "(merge T44 T45 T20)" }, { "clause": 8, "scope": 5, "term": "(merge T44 T45 T20)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "609": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "694": { "goal": [{ "clause": -1, "scope": -1, "term": "(le T96 T97)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T96", "T97" ], "free": [], "exprvars": [] } }, "575": { "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": [] } }, "697": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "577": { "goal": [ { "clause": 3, "scope": 3, "term": "(split (. T30 T31) X43 X42)" }, { "clause": 4, "scope": 3, "term": "(split (. T30 T31) X43 X42)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [ "X42", "X43" ], "exprvars": [] } }, "610": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "698": { "goal": [{ "clause": 12, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "578": { "goal": [{ "clause": 4, "scope": 3, "term": "(split (. T30 T31) X43 X42)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T30", "T31" ], "free": [ "X42", "X43" ], "exprvars": [] } }, "611": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "699": { "goal": [{ "clause": 13, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "612": { "goal": [{ "clause": 7, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "613": { "goal": [{ "clause": 8, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "618": { "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": [] } }, "619": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "34": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "35": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "36": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "37": { "goal": [{ "clause": 1, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "38": { "goal": [{ "clause": 2, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "39": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "581": { "goal": [{ "clause": -1, "scope": -1, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "582": { "goal": [ { "clause": 3, "scope": 4, "term": "(split T37 X61 X60)" }, { "clause": 4, "scope": 4, "term": "(split T37 X61 X60)" } ], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "583": { "goal": [{ "clause": 3, "scope": 4, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "584": { "goal": [{ "clause": 4, "scope": 4, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "585": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "586": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "620": { "goal": [{ "clause": -1, "scope": -1, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "621": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge T79 (. T80 T81) T83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T79", "T80", "T81" ], "free": [], "exprvars": [] } }, "589": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "700": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "701": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "702": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "746": { "goal": [{ "clause": 9, "scope": 7, "term": "(gt T119 T121)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "703": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "747": { "goal": [{ "clause": 10, "scope": 7, "term": "(gt T119 T121)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "704": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "748": { "goal": [{ "clause": -1, "scope": -1, "term": "(gt T137 T138)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T137", "T138" ], "free": [], "exprvars": [] } }, "40": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "705": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "749": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "41": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "42": { "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": [] } }, "43": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 2, "to": 4, "label": "CASE" }, { "from": 4, "to": 10, "label": "PARALLEL" }, { "from": 4, "to": 11, "label": "PARALLEL" }, { "from": 10, "to": 34, "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []" }, { "from": 10, "to": 35, "label": "EVAL-BACKTRACK" }, { "from": 11, "to": 37, "label": "PARALLEL" }, { "from": 11, "to": 38, "label": "PARALLEL" }, { "from": 34, "to": 36, "label": "SUCCESS" }, { "from": 37, "to": 39, "label": "EVAL with clause\nmergesort(.(X5, []), .(X5, [])).\nand substitutionX5 -> T7,\nT1 -> .(T7, []),\nT2 -> .(T7, [])" }, { "from": 37, "to": 40, "label": "EVAL-BACKTRACK" }, { "from": 38, "to": 42, "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": 38, "to": 43, "label": "EVAL-BACKTRACK" }, { "from": 39, "to": 41, "label": "SUCCESS" }, { "from": 42, "to": 44, "label": "SPLIT 1" }, { "from": 42, "to": 45, "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": 44, "to": 46, "label": "CASE" }, { "from": 45, "to": 594, "label": "SPLIT 1" }, { "from": 45, "to": 595, "label": "SPLIT 2\nnew knowledge:\nT21 is ground\nT44 is ground\nreplacements:X24 -> T44" }, { "from": 46, "to": 47, "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" }, { "from": 47, "to": 575, "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": 575, "to": 577, "label": "CASE" }, { "from": 577, "to": 578, "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" }, { "from": 578, "to": 581, "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": 581, "to": 582, "label": "CASE" }, { "from": 582, "to": 583, "label": "PARALLEL" }, { "from": 582, "to": 584, "label": "PARALLEL" }, { "from": 583, "to": 585, "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT37 -> [],\nX61 -> [],\nX60 -> []" }, { "from": 583, "to": 586, "label": "EVAL-BACKTRACK" }, { "from": 584, "to": 590, "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": 584, "to": 591, "label": "EVAL-BACKTRACK" }, { "from": 585, "to": 589, "label": "SUCCESS" }, { "from": 590, "to": 581, "label": "INSTANCE with matching:\nT37 -> T43\nX61 -> X79\nX60 -> X78" }, { "from": 594, "to": 2, "label": "INSTANCE with matching:\nT1 -> T21\nT2 -> X24" }, { "from": 595, "to": 599, "label": "SPLIT 1" }, { "from": 595, "to": 600, "label": "SPLIT 2\nnew knowledge:\nT22 is ground\nT45 is ground\nreplacements:X25 -> T45" }, { "from": 599, "to": 2, "label": "INSTANCE with matching:\nT1 -> T22\nT2 -> X25" }, { "from": 600, "to": 601, "label": "CASE" }, { "from": 601, "to": 602, "label": "PARALLEL" }, { "from": 601, "to": 603, "label": "PARALLEL" }, { "from": 602, "to": 604, "label": "EVAL with clause\nmerge([], X86, X86).\nand substitutionT44 -> [],\nT45 -> T52,\nX86 -> T52,\nT20 -> T52" }, { "from": 602, "to": 605, "label": "EVAL-BACKTRACK" }, { "from": 603, "to": 607, "label": "PARALLEL" }, { "from": 603, "to": 608, "label": "PARALLEL" }, { "from": 604, "to": 606, "label": "SUCCESS" }, { "from": 607, "to": 609, "label": "EVAL with clause\nmerge(X91, [], X91).\nand substitutionT44 -> T57,\nX91 -> T57,\nT45 -> [],\nT20 -> T57" }, { "from": 607, "to": 610, "label": "EVAL-BACKTRACK" }, { "from": 608, "to": 612, "label": "PARALLEL" }, { "from": 608, "to": 613, "label": "PARALLEL" }, { "from": 609, "to": 611, "label": "SUCCESS" }, { "from": 612, "to": 618, "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": 612, "to": 619, "label": "EVAL-BACKTRACK" }, { "from": 613, "to": 710, "label": "EVAL with clause\nmerge(.(X150, X151), .(X152, X153), .(X152, X154)) :- ','(gt(X150, X152), merge(.(X150, X151), X153, X154)).\nand substitutionX150 -> T119,\nX151 -> T120,\nT44 -> .(T119, T120),\nX152 -> T121,\nX153 -> T122,\nT45 -> .(T121, T122),\nX154 -> T124,\nT20 -> .(T121, T124),\nT123 -> T124" }, { "from": 613, "to": 712, "label": "EVAL-BACKTRACK" }, { "from": 618, "to": 620, "label": "SPLIT 1" }, { "from": 618, "to": 621, "label": "SPLIT 2\nnew knowledge:\nT78 is ground\nT80 is ground" }, { "from": 620, "to": 687, "label": "CASE" }, { "from": 621, "to": 600, "label": "INSTANCE with matching:\nT44 -> T79\nT45 -> .(T80, T81)\nT20 -> T83" }, { "from": 687, "to": 688, "label": "PARALLEL" }, { "from": 687, "to": 689, "label": "PARALLEL" }, { "from": 688, "to": 694, "label": "EVAL with clause\nle(s(X129), s(X130)) :- le(X129, X130).\nand substitutionX129 -> T96,\nT78 -> s(T96),\nX130 -> T97,\nT80 -> s(T97)" }, { "from": 688, "to": 697, "label": "EVAL-BACKTRACK" }, { "from": 689, "to": 698, "label": "PARALLEL" }, { "from": 689, "to": 699, "label": "PARALLEL" }, { "from": 694, "to": 620, "label": "INSTANCE with matching:\nT78 -> T96\nT80 -> T97" }, { "from": 698, "to": 700, "label": "EVAL with clause\nle(0, s(X137)).\nand substitutionT78 -> 0,\nX137 -> T104,\nT80 -> s(T104)" }, { "from": 698, "to": 701, "label": "EVAL-BACKTRACK" }, { "from": 699, "to": 703, "label": "EVAL with clause\nle(0, 0).\nand substitutionT78 -> 0,\nT80 -> 0" }, { "from": 699, "to": 704, "label": "EVAL-BACKTRACK" }, { "from": 700, "to": 702, "label": "SUCCESS" }, { "from": 703, "to": 705, "label": "SUCCESS" }, { "from": 710, "to": 715, "label": "SPLIT 1" }, { "from": 710, "to": 716, "label": "SPLIT 2\nnew knowledge:\nT119 is ground\nT121 is ground" }, { "from": 715, "to": 728, "label": "CASE" }, { "from": 716, "to": 600, "label": "INSTANCE with matching:\nT44 -> .(T119, T120)\nT45 -> T122\nT20 -> T124" }, { "from": 728, "to": 746, "label": "PARALLEL" }, { "from": 728, "to": 747, "label": "PARALLEL" }, { "from": 746, "to": 748, "label": "EVAL with clause\ngt(s(X167), s(X168)) :- gt(X167, X168).\nand substitutionX167 -> T137,\nT119 -> s(T137),\nX168 -> T138,\nT121 -> s(T138)" }, { "from": 746, "to": 749, "label": "EVAL-BACKTRACK" }, { "from": 747, "to": 750, "label": "EVAL with clause\ngt(s(X173), 0).\nand substitutionX173 -> T143,\nT119 -> s(T143),\nT121 -> 0" }, { "from": 747, "to": 751, "label": "EVAL-BACKTRACK" }, { "from": 748, "to": 715, "label": "INSTANCE with matching:\nT119 -> T137\nT121 -> T138" }, { "from": 750, "to": 752, "label": "SUCCESS" } ], "type": "Graph" } } ---------------------------------------- (2) Obligation: Q restricted rewrite system: The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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: F2_IN(.(T16, .(T17, T18))) -> U1^1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) F2_IN(.(T16, .(T17, T18))) -> F42_IN(T16, T17, T18) F581_IN(.(T42, T43)) -> U2^1(f581_in(T43), .(T42, T43)) F581_IN(.(T42, T43)) -> F581_IN(T43) F600_IN(.(T78, T79), .(T80, T81)) -> U3^1(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) F600_IN(.(T78, T79), .(T80, T81)) -> F618_IN(T78, T80, T79, T81) F600_IN(.(T119, T120), .(T121, T122)) -> U4^1(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) F600_IN(.(T119, T120), .(T121, T122)) -> F710_IN(T119, T121, T120, T122) F620_IN(s(T96), s(T97)) -> U5^1(f620_in(T96, T97), s(T96), s(T97)) F620_IN(s(T96), s(T97)) -> F620_IN(T96, T97) F715_IN(s(T137), s(T138)) -> U6^1(f715_in(T137, T138), s(T137), s(T138)) F715_IN(s(T137), s(T138)) -> F715_IN(T137, T138) F44_IN(T29, T36, T37) -> U7^1(f581_in(T37), T29, T36, T37) F44_IN(T29, T36, T37) -> F581_IN(T37) F42_IN(T16, T17, T18) -> U8^1(f44_in(T16, T17, T18), T16, T17, T18) F42_IN(T16, T17, T18) -> F44_IN(T16, T17, T18) U8^1(f44_out1(T21, T22), T16, T17, T18) -> U9^1(f45_in(T21, T22), T16, T17, T18, T21, T22) U8^1(f44_out1(T21, T22), T16, T17, T18) -> F45_IN(T21, T22) F45_IN(T21, T22) -> U10^1(f2_in(T21), T21, T22) F45_IN(T21, T22) -> F2_IN(T21) U10^1(f2_out1(T44), T21, T22) -> U11^1(f595_in(T22, T44), T21, T22, T44) U10^1(f2_out1(T44), T21, T22) -> F595_IN(T22, T44) F595_IN(T22, T44) -> U12^1(f2_in(T22), T22, T44) F595_IN(T22, T44) -> F2_IN(T22) U12^1(f2_out1(T45), T22, T44) -> U13^1(f600_in(T44, T45), T22, T44, T45) U12^1(f2_out1(T45), T22, T44) -> F600_IN(T44, T45) F618_IN(T78, T80, T79, T81) -> U14^1(f620_in(T78, T80), T78, T80, T79, T81) F618_IN(T78, T80, T79, T81) -> F620_IN(T78, T80) U14^1(f620_out1, T78, T80, T79, T81) -> U15^1(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U14^1(f620_out1, T78, T80, T79, T81) -> F600_IN(T79, .(T80, T81)) F710_IN(T119, T121, T120, T122) -> U16^1(f715_in(T119, T121), T119, T121, T120, T122) F710_IN(T119, T121, T120, T122) -> F715_IN(T119, T121) U16^1(f715_out1, T119, T121, T120, T122) -> U17^1(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U16^1(f715_out1, T119, T121, T120, T122) -> F600_IN(.(T119, T120), T122) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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: F715_IN(s(T137), s(T138)) -> F715_IN(T137, T138) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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: F715_IN(s(T137), s(T138)) -> F715_IN(T137, T138) 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: *F715_IN(s(T137), s(T138)) -> F715_IN(T137, T138) 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: F620_IN(s(T96), s(T97)) -> F620_IN(T96, T97) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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: F620_IN(s(T96), s(T97)) -> F620_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: *F620_IN(s(T96), s(T97)) -> F620_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: F600_IN(.(T78, T79), .(T80, T81)) -> F618_IN(T78, T80, T79, T81) F618_IN(T78, T80, T79, T81) -> U14^1(f620_in(T78, T80), T78, T80, T79, T81) U14^1(f620_out1, T78, T80, T79, T81) -> F600_IN(T79, .(T80, T81)) F600_IN(.(T119, T120), .(T121, T122)) -> F710_IN(T119, T121, T120, T122) F710_IN(T119, T121, T120, T122) -> U16^1(f715_in(T119, T121), T119, T121, T120, T122) U16^1(f715_out1, T119, T121, T120, T122) -> F600_IN(.(T119, T120), T122) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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. F600_IN(.(T78, T79), .(T80, T81)) -> F618_IN(T78, T80, T79, T81) F600_IN(.(T119, T120), .(T121, T122)) -> F710_IN(T119, T121, T120, T122) U16^1(f715_out1, T119, T121, T120, T122) -> F600_IN(.(T119, T120), T122) 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( f620_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( f620_out1 ) = 2 POL( U16^1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_4 + 2x_5 + 2 POL( f715_in_2(x_1, x_2) ) = x_2 POL( U6_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( f715_out1 ) = 2 POL( F600_IN_2(x_1, x_2) ) = 2x_1 + 2x_2 POL( ._2(x_1, x_2) ) = x_1 + x_2 + 2 POL( F618_IN_4(x_1, ..., x_4) ) = x_1 + 2x_2 + 2x_3 + 2x_4 + 2 POL( F710_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: f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) f715_in(s(T143), 0) -> f715_out1 U5(f620_out1, s(T96), s(T97)) -> f620_out1 U6(f715_out1, s(T137), s(T138)) -> f715_out1 ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: F618_IN(T78, T80, T79, T81) -> U14^1(f620_in(T78, T80), T78, T80, T79, T81) U14^1(f620_out1, T78, T80, T79, T81) -> F600_IN(T79, .(T80, T81)) F710_IN(T119, T121, T120, T122) -> U16^1(f715_in(T119, T121), T119, T121, T120, T122) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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: F581_IN(.(T42, T43)) -> F581_IN(T43) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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: F581_IN(.(T42, T43)) -> F581_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: *F581_IN(.(T42, T43)) -> F581_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: F2_IN(.(T16, .(T17, T18))) -> F42_IN(T16, T17, T18) F42_IN(T16, T17, T18) -> U8^1(f44_in(T16, T17, T18), T16, T17, T18) U8^1(f44_out1(T21, T22), T16, T17, T18) -> F45_IN(T21, T22) F45_IN(T21, T22) -> U10^1(f2_in(T21), T21, T22) U10^1(f2_out1(T44), T21, T22) -> F595_IN(T22, T44) F595_IN(T22, T44) -> F2_IN(T22) F45_IN(T21, T22) -> F2_IN(T21) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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. F2_IN(.(T16, .(T17, T18))) -> F42_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) ) = 2x_2 + 2 POL( f44_in_3(x_1, ..., x_3) ) = 2x_3 POL( U7_4(x_1, ..., x_4) ) = 2x_1 POL( f581_in_1(x_1) ) = x_1 POL( f2_in_1(x_1) ) = 0 POL( [] ) = 0 POL( f2_out1_1(x_1) ) = max{0, 2x_1 - 2} POL( ._2(x_1, x_2) ) = 2x_2 + 1 POL( U1_2(x_1, x_2) ) = 2x_1 + x_2 + 1 POL( f42_in_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 + 2 POL( f42_out1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_3 + 2x_4 + 1 POL( f44_out1_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} POL( U9_6(x_1, ..., x_6) ) = 2x_5 + 2 POL( f45_in_2(x_1, x_2) ) = 0 POL( f45_out1_3(x_1, ..., x_3) ) = 2x_1 + x_3 + 2 POL( U10_3(x_1, ..., x_3) ) = 2 POL( U11_4(x_1, ..., x_4) ) = max{0, 2x_4 - 2} POL( f595_in_2(x_1, x_2) ) = 2x_1 + 1 POL( f595_out1_2(x_1, x_2) ) = 2x_1 + 2x_2 + 2 POL( U12_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( U13_4(x_1, ..., x_4) ) = max{0, x_3 + 2x_4 - 2} POL( f600_in_2(x_1, x_2) ) = 0 POL( f581_out1_2(x_1, x_2) ) = x_1 + x_2 POL( U2_2(x_1, x_2) ) = 2x_1 + 1 POL( f600_out1_1(x_1) ) = 2 POL( U3_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( f618_in_4(x_1, ..., x_4) ) = 2x_2 + 2 POL( U4_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 + 1 POL( f710_in_4(x_1, ..., x_4) ) = 2x_1 + 2x_2 + 2x_3 + 2 POL( f618_out1_1(x_1) ) = 1 POL( U14_5(x_1, ..., x_5) ) = max{0, x_4 + x_5 - 2} POL( f620_in_2(x_1, x_2) ) = 0 POL( s_1(x_1) ) = 2x_1 POL( U5_3(x_1, ..., x_3) ) = max{0, x_2 - 2} POL( 0 ) = 0 POL( f620_out1 ) = 0 POL( U15_5(x_1, ..., x_5) ) = max{0, x_2 - 2} POL( f710_out1_1(x_1) ) = 0 POL( U16_5(x_1, ..., x_5) ) = max{0, x_4 + 2x_5 - 2} POL( f715_in_2(x_1, x_2) ) = 2x_1 + 2x_2 POL( U6_3(x_1, ..., x_3) ) = max{0, 2x_1 + 2x_2 + 2x_3 - 2} POL( f715_out1 ) = 2 POL( U17_5(x_1, ..., x_5) ) = max{0, 2x_3 - 2} POL( F2_IN_1(x_1) ) = x_1 POL( F42_IN_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( F45_IN_2(x_1, x_2) ) = x_1 + x_2 POL( F595_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: f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: F42_IN(T16, T17, T18) -> U8^1(f44_in(T16, T17, T18), T16, T17, T18) U8^1(f44_out1(T21, T22), T16, T17, T18) -> F45_IN(T21, T22) F45_IN(T21, T22) -> U10^1(f2_in(T21), T21, T22) U10^1(f2_out1(T44), T21, T22) -> F595_IN(T22, T44) F595_IN(T22, T44) -> F2_IN(T22) F45_IN(T21, T22) -> F2_IN(T21) The TRS R consists of the following rules: f2_in([]) -> f2_out1([]) f2_in(.(T7, [])) -> f2_out1(.(T7, [])) f2_in(.(T16, .(T17, T18))) -> U1(f42_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f42_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20) f581_in([]) -> f581_out1([], []) f581_in(.(T42, T43)) -> U2(f581_in(T43), .(T42, T43)) U2(f581_out1(X79, X78), .(T42, T43)) -> f581_out1(.(T42, X78), X79) f600_in([], T52) -> f600_out1(T52) f600_in(T57, []) -> f600_out1(T57) f600_in(.(T78, T79), .(T80, T81)) -> U3(f618_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f618_out1(T83), .(T78, T79), .(T80, T81)) -> f600_out1(.(T78, T83)) f600_in(.(T119, T120), .(T121, T122)) -> U4(f710_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f710_out1(T124), .(T119, T120), .(T121, T122)) -> f600_out1(.(T121, T124)) f620_in(s(T96), s(T97)) -> U5(f620_in(T96, T97), s(T96), s(T97)) U5(f620_out1, s(T96), s(T97)) -> f620_out1 f620_in(0, s(T104)) -> f620_out1 f620_in(0, 0) -> f620_out1 f715_in(s(T137), s(T138)) -> U6(f715_in(T137, T138), s(T137), s(T138)) U6(f715_out1, s(T137), s(T138)) -> f715_out1 f715_in(s(T143), 0) -> f715_out1 f44_in(T29, T36, T37) -> U7(f581_in(T37), T29, T36, T37) U7(f581_out1(X61, X60), T29, T36, T37) -> f44_out1(.(T29, X61), .(T36, X60)) f42_in(T16, T17, T18) -> U8(f44_in(T16, T17, T18), T16, T17, T18) U8(f44_out1(T21, T22), T16, T17, T18) -> U9(f45_in(T21, T22), T16, T17, T18, T21, T22) U9(f45_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f42_out1(T21, T22, X24, X25, T20) f45_in(T21, T22) -> U10(f2_in(T21), T21, T22) U10(f2_out1(T44), T21, T22) -> U11(f595_in(T22, T44), T21, T22, T44) U11(f595_out1(X25, T20), T21, T22, T44) -> f45_out1(T44, X25, T20) f595_in(T22, T44) -> U12(f2_in(T22), T22, T44) U12(f2_out1(T45), T22, T44) -> U13(f600_in(T44, T45), T22, T44, T45) U13(f600_out1(T20), T22, T44, T45) -> f595_out1(T45, T20) f618_in(T78, T80, T79, T81) -> U14(f620_in(T78, T80), T78, T80, T79, T81) U14(f620_out1, T78, T80, T79, T81) -> U15(f600_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f600_out1(T83), T78, T80, T79, T81) -> f618_out1(T83) f710_in(T119, T121, T120, T122) -> U16(f715_in(T119, T121), T119, T121, T120, T122) U16(f715_out1, T119, T121, T120, T122) -> U17(f600_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f600_out1(T124), T119, T121, T120, T122) -> f710_out1(T124) 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