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, 42 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, 72 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": 1, "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": "(',' (mergesort T21 X24) (',' (mergesort T22 X25) (merge X24 X25 T20)))" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T21", "T22" ], "free": [ "X24", "X25" ], "exprvars": [] } }, "709": { "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": [] } }, "89": { "goal": [{ "clause": -1, "scope": -1, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "48": { "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": [] } }, "49": { "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", "670": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "110": { "goal": [{ "clause": -1, "scope": -1, "term": "(split T43 X79 X78)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T43"], "free": [ "X78", "X79" ], "exprvars": [] } }, "671": { "goal": [{ "clause": -1, "scope": -1, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "111": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "672": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge T79 (. T80 T81) T83)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T79", "T80", "T81" ], "free": [], "exprvars": [] } }, "673": { "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": [] } }, "674": { "goal": [{ "clause": 11, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "675": { "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": [] } }, "710": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "91": { "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": [] } }, "93": { "goal": [{ "clause": 3, "scope": 4, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "94": { "goal": [{ "clause": 4, "scope": 4, "term": "(split T37 X61 X60)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T37"], "free": [ "X60", "X61" ], "exprvars": [] } }, "96": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "53": { "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": [] } }, "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": [] } }, "54": { "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": [] } }, "11": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "99": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "56": { "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": [] } }, "14": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "15": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "18": { "goal": [{ "clause": 1, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "19": { "goal": [{ "clause": 2, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "681": { "goal": [{ "clause": -1, "scope": -1, "term": "(le T96 T97)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T96", "T97" ], "free": [], "exprvars": [] } }, "1": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "683": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "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": [] } }, "642": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T21 X24)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T21"], "free": ["X24"], "exprvars": [] } }, "643": { "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": [] } }, "645": { "goal": [{ "clause": -1, "scope": -1, "term": "(mergesort T22 X25)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T22"], "free": ["X25"], "exprvars": [] } }, "646": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "9": { "goal": [{ "clause": 0, "scope": 1, "term": "(mergesort T1 T2)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": ["T1"], "free": [], "exprvars": [] } }, "649": { "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": [] } }, "21": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "23": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "24": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "652": { "goal": [{ "clause": 5, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "696": { "goal": [{ "clause": 12, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "653": { "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": [] } }, "698": { "goal": [{ "clause": 13, "scope": 6, "term": "(le T78 T80)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T78", "T80" ], "free": [], "exprvars": [] } }, "656": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "733": { "goal": [{ "clause": -1, "scope": -1, "term": "(gt T119 T121)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "657": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "734": { "goal": [{ "clause": -1, "scope": -1, "term": "(merge (. T119 T120) T122 T124)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T120", "T122" ], "free": [], "exprvars": [] } }, "658": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "735": { "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": [] } }, "659": { "goal": [{ "clause": 6, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "736": { "goal": [{ "clause": 9, "scope": 7, "term": "(gt T119 T121)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "737": { "goal": [{ "clause": 10, "scope": 7, "term": "(gt T119 T121)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T119", "T121" ], "free": [], "exprvars": [] } }, "738": { "goal": [{ "clause": -1, "scope": -1, "term": "(gt T137 T138)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T137", "T138" ], "free": [], "exprvars": [] } }, "739": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "33": { "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": [] } }, "34": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "660": { "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": [] } }, "661": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "101": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "662": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "663": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "740": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "741": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "742": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "667": { "goal": [{ "clause": 7, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "668": { "goal": [{ "clause": 8, "scope": 5, "term": "(merge T44 T45 T20)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [ "T44", "T45" ], "free": [], "exprvars": [] } }, "669": { "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": [] } }, "703": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "704": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "705": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "706": { "goal": [{ "clause": -1, "scope": -1, "term": "(true)" }], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "707": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } }, "43": { "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": [] } }, "708": { "goal": [], "kb": { "nonunifying": [], "intvars": {}, "arithmetic": { "type": "PlainIntegerRelationState", "relations": [] }, "ground": [], "free": [], "exprvars": [] } } }, "edges": [ { "from": 1, "to": 4, "label": "CASE" }, { "from": 4, "to": 9, "label": "PARALLEL" }, { "from": 4, "to": 10, "label": "PARALLEL" }, { "from": 9, "to": 11, "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []" }, { "from": 9, "to": 14, "label": "EVAL-BACKTRACK" }, { "from": 10, "to": 18, "label": "PARALLEL" }, { "from": 10, "to": 19, "label": "PARALLEL" }, { "from": 11, "to": 15, "label": "SUCCESS" }, { "from": 18, "to": 21, "label": "EVAL with clause\nmergesort(.(X5, []), .(X5, [])).\nand substitutionX5 -> T7,\nT1 -> .(T7, []),\nT2 -> .(T7, [])" }, { "from": 18, "to": 23, "label": "EVAL-BACKTRACK" }, { "from": 19, "to": 33, "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": 19, "to": 34, "label": "EVAL-BACKTRACK" }, { "from": 21, "to": 24, "label": "SUCCESS" }, { "from": 33, "to": 43, "label": "SPLIT 1" }, { "from": 33, "to": 44, "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": 43, "to": 48, "label": "CASE" }, { "from": 44, "to": 642, "label": "SPLIT 1" }, { "from": 44, "to": 643, "label": "SPLIT 2\nnew knowledge:\nT21 is ground\nT44 is ground\nreplacements:X24 -> T44" }, { "from": 48, "to": 49, "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" }, { "from": 49, "to": 53, "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": 53, "to": 54, "label": "CASE" }, { "from": 54, "to": 56, "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification" }, { "from": 56, "to": 89, "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": 89, "to": 91, "label": "CASE" }, { "from": 91, "to": 93, "label": "PARALLEL" }, { "from": 91, "to": 94, "label": "PARALLEL" }, { "from": 93, "to": 96, "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT37 -> [],\nX61 -> [],\nX60 -> []" }, { "from": 93, "to": 99, "label": "EVAL-BACKTRACK" }, { "from": 94, "to": 110, "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": 94, "to": 111, "label": "EVAL-BACKTRACK" }, { "from": 96, "to": 101, "label": "SUCCESS" }, { "from": 110, "to": 89, "label": "INSTANCE with matching:\nT37 -> T43\nX61 -> X79\nX60 -> X78" }, { "from": 642, "to": 1, "label": "INSTANCE with matching:\nT1 -> T21\nT2 -> X24" }, { "from": 643, "to": 645, "label": "SPLIT 1" }, { "from": 643, "to": 646, "label": "SPLIT 2\nnew knowledge:\nT22 is ground\nT45 is ground\nreplacements:X25 -> T45" }, { "from": 645, "to": 1, "label": "INSTANCE with matching:\nT1 -> T22\nT2 -> X25" }, { "from": 646, "to": 649, "label": "CASE" }, { "from": 649, "to": 652, "label": "PARALLEL" }, { "from": 649, "to": 653, "label": "PARALLEL" }, { "from": 652, "to": 656, "label": "EVAL with clause\nmerge([], X86, X86).\nand substitutionT44 -> [],\nT45 -> T52,\nX86 -> T52,\nT20 -> T52" }, { "from": 652, "to": 657, "label": "EVAL-BACKTRACK" }, { "from": 653, "to": 659, "label": "PARALLEL" }, { "from": 653, "to": 660, "label": "PARALLEL" }, { "from": 656, "to": 658, "label": "SUCCESS" }, { "from": 659, "to": 661, "label": "EVAL with clause\nmerge(X91, [], X91).\nand substitutionT44 -> T57,\nX91 -> T57,\nT45 -> [],\nT20 -> T57" }, { "from": 659, "to": 662, "label": "EVAL-BACKTRACK" }, { "from": 660, "to": 667, "label": "PARALLEL" }, { "from": 660, "to": 668, "label": "PARALLEL" }, { "from": 661, "to": 663, "label": "SUCCESS" }, { "from": 667, "to": 669, "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": 667, "to": 670, "label": "EVAL-BACKTRACK" }, { "from": 668, "to": 709, "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": 668, "to": 710, "label": "EVAL-BACKTRACK" }, { "from": 669, "to": 671, "label": "SPLIT 1" }, { "from": 669, "to": 672, "label": "SPLIT 2\nnew knowledge:\nT78 is ground\nT80 is ground" }, { "from": 671, "to": 673, "label": "CASE" }, { "from": 672, "to": 646, "label": "INSTANCE with matching:\nT44 -> T79\nT45 -> .(T80, T81)\nT20 -> T83" }, { "from": 673, "to": 674, "label": "PARALLEL" }, { "from": 673, "to": 675, "label": "PARALLEL" }, { "from": 674, "to": 681, "label": "EVAL with clause\nle(s(X129), s(X130)) :- le(X129, X130).\nand substitutionX129 -> T96,\nT78 -> s(T96),\nX130 -> T97,\nT80 -> s(T97)" }, { "from": 674, "to": 683, "label": "EVAL-BACKTRACK" }, { "from": 675, "to": 696, "label": "PARALLEL" }, { "from": 675, "to": 698, "label": "PARALLEL" }, { "from": 681, "to": 671, "label": "INSTANCE with matching:\nT78 -> T96\nT80 -> T97" }, { "from": 696, "to": 703, "label": "EVAL with clause\nle(0, s(X137)).\nand substitutionT78 -> 0,\nX137 -> T104,\nT80 -> s(T104)" }, { "from": 696, "to": 704, "label": "EVAL-BACKTRACK" }, { "from": 698, "to": 706, "label": "EVAL with clause\nle(0, 0).\nand substitutionT78 -> 0,\nT80 -> 0" }, { "from": 698, "to": 707, "label": "EVAL-BACKTRACK" }, { "from": 703, "to": 705, "label": "SUCCESS" }, { "from": 706, "to": 708, "label": "SUCCESS" }, { "from": 709, "to": 733, "label": "SPLIT 1" }, { "from": 709, "to": 734, "label": "SPLIT 2\nnew knowledge:\nT119 is ground\nT121 is ground" }, { "from": 733, "to": 735, "label": "CASE" }, { "from": 734, "to": 646, "label": "INSTANCE with matching:\nT44 -> .(T119, T120)\nT45 -> T122\nT20 -> T124" }, { "from": 735, "to": 736, "label": "PARALLEL" }, { "from": 735, "to": 737, "label": "PARALLEL" }, { "from": 736, "to": 738, "label": "EVAL with clause\ngt(s(X167), s(X168)) :- gt(X167, X168).\nand substitutionX167 -> T137,\nT119 -> s(T137),\nX168 -> T138,\nT121 -> s(T138)" }, { "from": 736, "to": 739, "label": "EVAL-BACKTRACK" }, { "from": 737, "to": 740, "label": "EVAL with clause\ngt(s(X173), 0).\nand substitutionX173 -> T143,\nT119 -> s(T143),\nT121 -> 0" }, { "from": 737, "to": 741, "label": "EVAL-BACKTRACK" }, { "from": 738, "to": 733, "label": "INSTANCE with matching:\nT119 -> T137\nT121 -> T138" }, { "from": 740, "to": 742, "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(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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: F1_IN(.(T16, .(T17, T18))) -> U1^1(f33_in(T16, T17, T18), .(T16, .(T17, T18))) F1_IN(.(T16, .(T17, T18))) -> F33_IN(T16, T17, T18) F89_IN(.(T42, T43)) -> U2^1(f89_in(T43), .(T42, T43)) F89_IN(.(T42, T43)) -> F89_IN(T43) F646_IN(.(T78, T79), .(T80, T81)) -> U3^1(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) F646_IN(.(T78, T79), .(T80, T81)) -> F669_IN(T78, T80, T79, T81) F646_IN(.(T119, T120), .(T121, T122)) -> U4^1(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) F646_IN(.(T119, T120), .(T121, T122)) -> F709_IN(T119, T121, T120, T122) F671_IN(s(T96), s(T97)) -> U5^1(f671_in(T96, T97), s(T96), s(T97)) F671_IN(s(T96), s(T97)) -> F671_IN(T96, T97) F733_IN(s(T137), s(T138)) -> U6^1(f733_in(T137, T138), s(T137), s(T138)) F733_IN(s(T137), s(T138)) -> F733_IN(T137, T138) F43_IN(T29, T36, T37) -> U7^1(f89_in(T37), T29, T36, T37) F43_IN(T29, T36, T37) -> F89_IN(T37) F33_IN(T16, T17, T18) -> U8^1(f43_in(T16, T17, T18), T16, T17, T18) F33_IN(T16, T17, T18) -> F43_IN(T16, T17, T18) U8^1(f43_out1(T21, T22), T16, T17, T18) -> U9^1(f44_in(T21, T22), T16, T17, T18, T21, T22) U8^1(f43_out1(T21, T22), T16, T17, T18) -> F44_IN(T21, T22) F44_IN(T21, T22) -> U10^1(f1_in(T21), T21, T22) F44_IN(T21, T22) -> F1_IN(T21) U10^1(f1_out1(T44), T21, T22) -> U11^1(f643_in(T22, T44), T21, T22, T44) U10^1(f1_out1(T44), T21, T22) -> F643_IN(T22, T44) F643_IN(T22, T44) -> U12^1(f1_in(T22), T22, T44) F643_IN(T22, T44) -> F1_IN(T22) U12^1(f1_out1(T45), T22, T44) -> U13^1(f646_in(T44, T45), T22, T44, T45) U12^1(f1_out1(T45), T22, T44) -> F646_IN(T44, T45) F669_IN(T78, T80, T79, T81) -> U14^1(f671_in(T78, T80), T78, T80, T79, T81) F669_IN(T78, T80, T79, T81) -> F671_IN(T78, T80) U14^1(f671_out1, T78, T80, T79, T81) -> U15^1(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U14^1(f671_out1, T78, T80, T79, T81) -> F646_IN(T79, .(T80, T81)) F709_IN(T119, T121, T120, T122) -> U16^1(f733_in(T119, T121), T119, T121, T120, T122) F709_IN(T119, T121, T120, T122) -> F733_IN(T119, T121) U16^1(f733_out1, T119, T121, T120, T122) -> U17^1(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U16^1(f733_out1, T119, T121, T120, T122) -> F646_IN(.(T119, T120), T122) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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: F733_IN(s(T137), s(T138)) -> F733_IN(T137, T138) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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: F733_IN(s(T137), s(T138)) -> F733_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: *F733_IN(s(T137), s(T138)) -> F733_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: F671_IN(s(T96), s(T97)) -> F671_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(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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: F671_IN(s(T96), s(T97)) -> F671_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: *F671_IN(s(T96), s(T97)) -> F671_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: F646_IN(.(T78, T79), .(T80, T81)) -> F669_IN(T78, T80, T79, T81) F669_IN(T78, T80, T79, T81) -> U14^1(f671_in(T78, T80), T78, T80, T79, T81) U14^1(f671_out1, T78, T80, T79, T81) -> F646_IN(T79, .(T80, T81)) F646_IN(.(T119, T120), .(T121, T122)) -> F709_IN(T119, T121, T120, T122) F709_IN(T119, T121, T120, T122) -> U16^1(f733_in(T119, T121), T119, T121, T120, T122) U16^1(f733_out1, T119, T121, T120, T122) -> F646_IN(.(T119, T120), T122) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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. F646_IN(.(T78, T79), .(T80, T81)) -> F669_IN(T78, T80, T79, T81) F646_IN(.(T119, T120), .(T121, T122)) -> F709_IN(T119, T121, T120, T122) U16^1(f733_out1, T119, T121, T120, T122) -> F646_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( f671_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( f671_out1 ) = 2 POL( U16^1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_4 + 2x_5 + 2 POL( f733_in_2(x_1, x_2) ) = x_2 POL( U6_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( f733_out1 ) = 2 POL( F646_IN_2(x_1, x_2) ) = 2x_1 + 2x_2 POL( ._2(x_1, x_2) ) = x_1 + x_2 + 2 POL( F669_IN_4(x_1, ..., x_4) ) = x_1 + 2x_2 + 2x_3 + 2x_4 + 2 POL( F709_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: f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) f733_in(s(T143), 0) -> f733_out1 U5(f671_out1, s(T96), s(T97)) -> f671_out1 U6(f733_out1, s(T137), s(T138)) -> f733_out1 ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: F669_IN(T78, T80, T79, T81) -> U14^1(f671_in(T78, T80), T78, T80, T79, T81) U14^1(f671_out1, T78, T80, T79, T81) -> F646_IN(T79, .(T80, T81)) F709_IN(T119, T121, T120, T122) -> U16^1(f733_in(T119, T121), T119, T121, T120, T122) The TRS R consists of the following rules: f1_in([]) -> f1_out1([]) f1_in(.(T7, [])) -> f1_out1(.(T7, [])) f1_in(.(T16, .(T17, T18))) -> U1(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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: F89_IN(.(T42, T43)) -> F89_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(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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: F89_IN(.(T42, T43)) -> F89_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: *F89_IN(.(T42, T43)) -> F89_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))) -> F33_IN(T16, T17, T18) F33_IN(T16, T17, T18) -> U8^1(f43_in(T16, T17, T18), T16, T17, T18) U8^1(f43_out1(T21, T22), T16, T17, T18) -> F44_IN(T21, T22) F44_IN(T21, T22) -> U10^1(f1_in(T21), T21, T22) U10^1(f1_out1(T44), T21, T22) -> F643_IN(T22, T44) F643_IN(T22, T44) -> F1_IN(T22) F44_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(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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. F1_IN(.(T16, .(T17, T18))) -> F33_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( f43_in_3(x_1, ..., x_3) ) = 2x_3 POL( U7_4(x_1, ..., x_4) ) = 2x_1 POL( f89_in_1(x_1) ) = x_1 POL( f1_in_1(x_1) ) = 0 POL( [] ) = 0 POL( f1_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( f33_in_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 + 2 POL( f33_out1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_3 + 2x_4 + 1 POL( f43_out1_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2} POL( U9_6(x_1, ..., x_6) ) = 2x_5 + 2 POL( f44_in_2(x_1, x_2) ) = 0 POL( f44_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( f643_in_2(x_1, x_2) ) = 2x_1 + 1 POL( f643_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( f646_in_2(x_1, x_2) ) = 0 POL( f89_out1_2(x_1, x_2) ) = x_1 + x_2 POL( U2_2(x_1, x_2) ) = 2x_1 + 1 POL( f646_out1_1(x_1) ) = 2 POL( U3_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2} POL( f669_in_4(x_1, ..., x_4) ) = 2x_2 + 2 POL( U4_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 + 1 POL( f709_in_4(x_1, ..., x_4) ) = 2x_1 + 2x_2 + 2x_3 + 2 POL( f669_out1_1(x_1) ) = 1 POL( U14_5(x_1, ..., x_5) ) = max{0, x_4 + x_5 - 2} POL( f671_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( f671_out1 ) = 0 POL( U15_5(x_1, ..., x_5) ) = max{0, x_2 - 2} POL( f709_out1_1(x_1) ) = 0 POL( U16_5(x_1, ..., x_5) ) = max{0, x_4 + 2x_5 - 2} POL( f733_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( f733_out1 ) = 2 POL( U17_5(x_1, ..., x_5) ) = max{0, 2x_3 - 2} POL( F1_IN_1(x_1) ) = x_1 POL( F33_IN_3(x_1, ..., x_3) ) = 2x_3 + 2 POL( F44_IN_2(x_1, x_2) ) = x_1 + x_2 POL( F643_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: f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) ---------------------------------------- (29) Obligation: Q DP problem: The TRS P consists of the following rules: F33_IN(T16, T17, T18) -> U8^1(f43_in(T16, T17, T18), T16, T17, T18) U8^1(f43_out1(T21, T22), T16, T17, T18) -> F44_IN(T21, T22) F44_IN(T21, T22) -> U10^1(f1_in(T21), T21, T22) U10^1(f1_out1(T44), T21, T22) -> F643_IN(T22, T44) F643_IN(T22, T44) -> F1_IN(T22) F44_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(f33_in(T16, T17, T18), .(T16, .(T17, T18))) U1(f33_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f1_out1(T20) f89_in([]) -> f89_out1([], []) f89_in(.(T42, T43)) -> U2(f89_in(T43), .(T42, T43)) U2(f89_out1(X79, X78), .(T42, T43)) -> f89_out1(.(T42, X78), X79) f646_in([], T52) -> f646_out1(T52) f646_in(T57, []) -> f646_out1(T57) f646_in(.(T78, T79), .(T80, T81)) -> U3(f669_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81)) U3(f669_out1(T83), .(T78, T79), .(T80, T81)) -> f646_out1(.(T78, T83)) f646_in(.(T119, T120), .(T121, T122)) -> U4(f709_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122)) U4(f709_out1(T124), .(T119, T120), .(T121, T122)) -> f646_out1(.(T121, T124)) f671_in(s(T96), s(T97)) -> U5(f671_in(T96, T97), s(T96), s(T97)) U5(f671_out1, s(T96), s(T97)) -> f671_out1 f671_in(0, s(T104)) -> f671_out1 f671_in(0, 0) -> f671_out1 f733_in(s(T137), s(T138)) -> U6(f733_in(T137, T138), s(T137), s(T138)) U6(f733_out1, s(T137), s(T138)) -> f733_out1 f733_in(s(T143), 0) -> f733_out1 f43_in(T29, T36, T37) -> U7(f89_in(T37), T29, T36, T37) U7(f89_out1(X61, X60), T29, T36, T37) -> f43_out1(.(T29, X61), .(T36, X60)) f33_in(T16, T17, T18) -> U8(f43_in(T16, T17, T18), T16, T17, T18) U8(f43_out1(T21, T22), T16, T17, T18) -> U9(f44_in(T21, T22), T16, T17, T18, T21, T22) U9(f44_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f33_out1(T21, T22, X24, X25, T20) f44_in(T21, T22) -> U10(f1_in(T21), T21, T22) U10(f1_out1(T44), T21, T22) -> U11(f643_in(T22, T44), T21, T22, T44) U11(f643_out1(X25, T20), T21, T22, T44) -> f44_out1(T44, X25, T20) f643_in(T22, T44) -> U12(f1_in(T22), T22, T44) U12(f1_out1(T45), T22, T44) -> U13(f646_in(T44, T45), T22, T44, T45) U13(f646_out1(T20), T22, T44, T45) -> f643_out1(T45, T20) f669_in(T78, T80, T79, T81) -> U14(f671_in(T78, T80), T78, T80, T79, T81) U14(f671_out1, T78, T80, T79, T81) -> U15(f646_in(T79, .(T80, T81)), T78, T80, T79, T81) U15(f646_out1(T83), T78, T80, T79, T81) -> f669_out1(T83) f709_in(T119, T121, T120, T122) -> U16(f733_in(T119, T121), T119, T121, T120, T122) U16(f733_out1, T119, T121, T120, T122) -> U17(f646_in(.(T119, T120), T122), T119, T121, T120, T122) U17(f646_out1(T124), T119, T121, T120, T122) -> f709_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