YES
proof of /hpcwork/ff862203/termcomp26/benchmarks/MS9Jy.pl
# AProVE Commit ID: 23a904c96b029b0a549cde0d0d17dbccf967db59 jckassing 20260626 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, 46 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, 7 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, 130 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": {
            "type": "Nodes",
            "550": {
                "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": []
                }
            },
            "750": {
                "goal": [{
                    "clause": 9,
                    "scope": 7,
                    "term": "(gt T119 T121)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T119",
                        "T121"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "751": {
                "goal": [{
                    "clause": 10,
                    "scope": 7,
                    "term": "(gt T119 T121)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T119",
                        "T121"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "631": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(mergesort T22 X25)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T22"],
                    "free": ["X25"],
                    "exprvars": []
                }
            },
            "632": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(merge T44 T45 T20)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T44",
                        "T45"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "753": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(gt T137 T138)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T137",
                        "T138"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "754": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "755": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "712": {
                "goal": [{
                    "clause": 7,
                    "scope": 5,
                    "term": "(merge T44 T45 T20)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T44",
                        "T45"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "756": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "559": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(split T37 X61 X60)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T37"],
                    "free": [
                        "X60",
                        "X61"
                    ],
                    "exprvars": []
                }
            },
            "636": {
                "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": []
                }
            },
            "713": {
                "goal": [{
                    "clause": 8,
                    "scope": 5,
                    "term": "(merge T44 T45 T20)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T44",
                        "T45"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "757": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "719": {
                "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": []
                }
            },
            "562": {
                "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": []
                }
            },
            "2": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(mergesort T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "563": {
                "goal": [{
                    "clause": 3,
                    "scope": 4,
                    "term": "(split T37 X61 X60)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T37"],
                    "free": [
                        "X60",
                        "X61"
                    ],
                    "exprvars": []
                }
            },
            "640": {
                "goal": [{
                    "clause": 5,
                    "scope": 5,
                    "term": "(merge T44 T45 T20)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T44",
                        "T45"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "564": {
                "goal": [{
                    "clause": 4,
                    "scope": 4,
                    "term": "(split T37 X61 X60)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T37"],
                    "free": [
                        "X60",
                        "X61"
                    ],
                    "exprvars": []
                }
            },
            "641": {
                "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": []
                }
            },
            "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": []
                }
            },
            "565": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "566": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "720": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "6": {
                "goal": [{
                    "clause": 0,
                    "scope": 1,
                    "term": "(mergesort T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "567": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "644": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "7": {
                "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": []
                }
            },
            "645": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "646": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "723": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(le T78 T80)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T78",
                        "T80"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "724": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(merge T79 (. T80 T81) T83)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T79",
                        "T80",
                        "T81"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "60": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "725": {
                "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": []
                }
            },
            "61": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "727": {
                "goal": [{
                    "clause": 11,
                    "scope": 6,
                    "term": "(le T78 T80)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T78",
                        "T80"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "64": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "729": {
                "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": []
                }
            },
            "65": {
                "goal": [{
                    "clause": 1,
                    "scope": 1,
                    "term": "(mergesort T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "66": {
                "goal": [{
                    "clause": 2,
                    "scope": 1,
                    "term": "(mergesort T1 T2)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "67": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "68": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "69": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "650": {
                "goal": [{
                    "clause": 6,
                    "scope": 5,
                    "term": "(merge T44 T45 T20)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T44",
                        "T45"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "651": {
                "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": []
                }
            },
            "652": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "532": {
                "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": []
                }
            },
            "653": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "533": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "654": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "731": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(le T96 T97)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T96",
                        "T97"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "732": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "733": {
                "goal": [{
                    "clause": 12,
                    "scope": 6,
                    "term": "(le T78 T80)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T78",
                        "T80"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "536": {
                "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": []
                }
            },
            "734": {
                "goal": [{
                    "clause": 13,
                    "scope": 6,
                    "term": "(le T78 T80)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T78",
                        "T80"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "537": {
                "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": []
                }
            },
            "735": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "736": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "737": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "738": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "739": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "740": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "543": {
                "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": []
                }
            },
            "544": {
                "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": []
                }
            },
            "743": {
                "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": []
                }
            },
            "744": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "548": {
                "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": []
                }
            },
            "625": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(split T43 X79 X78)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T43"],
                    "free": [
                        "X78",
                        "X79"
                    ],
                    "exprvars": []
                }
            },
            "549": {
                "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": []
                }
            },
            "626": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "747": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(gt T119 T121)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T119",
                        "T121"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "627": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(mergesort T21 X24)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T21"],
                    "free": ["X24"],
                    "exprvars": []
                }
            },
            "748": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(merge (. T119 T120) T122 T124)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T119",
                        "T120",
                        "T122"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "628": {
                "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": []
                }
            },
            "749": {
                "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": []
                }
            }
        },
        "edges": [
            {
                "from": 2,
                "to": 4,
                "label": "CASE"
            },
            {
                "from": 4,
                "to": 6,
                "label": "PARALLEL"
            },
            {
                "from": 4,
                "to": 7,
                "label": "PARALLEL"
            },
            {
                "from": 6,
                "to": 60,
                "label": "EVAL with clause\nmergesort([], []).\nand substitutionT1 -> [],\nT2 -> []"
            },
            {
                "from": 6,
                "to": 61,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 7,
                "to": 65,
                "label": "PARALLEL"
            },
            {
                "from": 7,
                "to": 66,
                "label": "PARALLEL"
            },
            {
                "from": 60,
                "to": 64,
                "label": "SUCCESS"
            },
            {
                "from": 65,
                "to": 67,
                "label": "EVAL with clause\nmergesort(.(X5, []), .(X5, [])).\nand substitutionX5 -> T7,\nT1 -> .(T7, []),\nT2 -> .(T7, [])"
            },
            {
                "from": 65,
                "to": 68,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 66,
                "to": 532,
                "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": 66,
                "to": 533,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 67,
                "to": 69,
                "label": "SUCCESS"
            },
            {
                "from": 532,
                "to": 536,
                "label": "SPLIT 1"
            },
            {
                "from": 532,
                "to": 537,
                "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": 536,
                "to": 543,
                "label": "CASE"
            },
            {
                "from": 537,
                "to": 627,
                "label": "SPLIT 1"
            },
            {
                "from": 537,
                "to": 628,
                "label": "SPLIT 2\nnew knowledge:\nT21 is ground\nT44 is ground\nreplacements:X24 -> T44"
            },
            {
                "from": 543,
                "to": 544,
                "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification"
            },
            {
                "from": 544,
                "to": 548,
                "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": 548,
                "to": 549,
                "label": "CASE"
            },
            {
                "from": 549,
                "to": 550,
                "label": "BACKTRACK\nfor clause: split([], [], [])because of non-unification"
            },
            {
                "from": 550,
                "to": 559,
                "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": 559,
                "to": 562,
                "label": "CASE"
            },
            {
                "from": 562,
                "to": 563,
                "label": "PARALLEL"
            },
            {
                "from": 562,
                "to": 564,
                "label": "PARALLEL"
            },
            {
                "from": 563,
                "to": 565,
                "label": "EVAL with clause\nsplit([], [], []).\nand substitutionT37 -> [],\nX61 -> [],\nX60 -> []"
            },
            {
                "from": 563,
                "to": 566,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 564,
                "to": 625,
                "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": 564,
                "to": 626,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 565,
                "to": 567,
                "label": "SUCCESS"
            },
            {
                "from": 625,
                "to": 559,
                "label": "INSTANCE with matching:\nT37 -> T43\nX61 -> X79\nX60 -> X78"
            },
            {
                "from": 627,
                "to": 2,
                "label": "INSTANCE with matching:\nT1 -> T21\nT2 -> X24"
            },
            {
                "from": 628,
                "to": 631,
                "label": "SPLIT 1"
            },
            {
                "from": 628,
                "to": 632,
                "label": "SPLIT 2\nnew knowledge:\nT22 is ground\nT45 is ground\nreplacements:X25 -> T45"
            },
            {
                "from": 631,
                "to": 2,
                "label": "INSTANCE with matching:\nT1 -> T22\nT2 -> X25"
            },
            {
                "from": 632,
                "to": 636,
                "label": "CASE"
            },
            {
                "from": 636,
                "to": 640,
                "label": "PARALLEL"
            },
            {
                "from": 636,
                "to": 641,
                "label": "PARALLEL"
            },
            {
                "from": 640,
                "to": 644,
                "label": "EVAL with clause\nmerge([], X86, X86).\nand substitutionT44 -> [],\nT45 -> T52,\nX86 -> T52,\nT20 -> T52"
            },
            {
                "from": 640,
                "to": 645,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 641,
                "to": 650,
                "label": "PARALLEL"
            },
            {
                "from": 641,
                "to": 651,
                "label": "PARALLEL"
            },
            {
                "from": 644,
                "to": 646,
                "label": "SUCCESS"
            },
            {
                "from": 650,
                "to": 652,
                "label": "EVAL with clause\nmerge(X91, [], X91).\nand substitutionT44 -> T57,\nX91 -> T57,\nT45 -> [],\nT20 -> T57"
            },
            {
                "from": 650,
                "to": 653,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 651,
                "to": 712,
                "label": "PARALLEL"
            },
            {
                "from": 651,
                "to": 713,
                "label": "PARALLEL"
            },
            {
                "from": 652,
                "to": 654,
                "label": "SUCCESS"
            },
            {
                "from": 712,
                "to": 719,
                "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": 712,
                "to": 720,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 713,
                "to": 743,
                "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": 713,
                "to": 744,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 719,
                "to": 723,
                "label": "SPLIT 1"
            },
            {
                "from": 719,
                "to": 724,
                "label": "SPLIT 2\nnew knowledge:\nT78 is ground\nT80 is ground"
            },
            {
                "from": 723,
                "to": 725,
                "label": "CASE"
            },
            {
                "from": 724,
                "to": 632,
                "label": "INSTANCE with matching:\nT44 -> T79\nT45 -> .(T80, T81)\nT20 -> T83"
            },
            {
                "from": 725,
                "to": 727,
                "label": "PARALLEL"
            },
            {
                "from": 725,
                "to": 729,
                "label": "PARALLEL"
            },
            {
                "from": 727,
                "to": 731,
                "label": "EVAL with clause\nle(s(X129), s(X130)) :- le(X129, X130).\nand substitutionX129 -> T96,\nT78 -> s(T96),\nX130 -> T97,\nT80 -> s(T97)"
            },
            {
                "from": 727,
                "to": 732,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 729,
                "to": 733,
                "label": "PARALLEL"
            },
            {
                "from": 729,
                "to": 734,
                "label": "PARALLEL"
            },
            {
                "from": 731,
                "to": 723,
                "label": "INSTANCE with matching:\nT78 -> T96\nT80 -> T97"
            },
            {
                "from": 733,
                "to": 735,
                "label": "EVAL with clause\nle(0, s(X137)).\nand substitutionT78 -> 0,\nX137 -> T104,\nT80 -> s(T104)"
            },
            {
                "from": 733,
                "to": 736,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 734,
                "to": 738,
                "label": "EVAL with clause\nle(0, 0).\nand substitutionT78 -> 0,\nT80 -> 0"
            },
            {
                "from": 734,
                "to": 739,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 735,
                "to": 737,
                "label": "SUCCESS"
            },
            {
                "from": 738,
                "to": 740,
                "label": "SUCCESS"
            },
            {
                "from": 743,
                "to": 747,
                "label": "SPLIT 1"
            },
            {
                "from": 743,
                "to": 748,
                "label": "SPLIT 2\nnew knowledge:\nT119 is ground\nT121 is ground"
            },
            {
                "from": 747,
                "to": 749,
                "label": "CASE"
            },
            {
                "from": 748,
                "to": 632,
                "label": "INSTANCE with matching:\nT44 -> .(T119, T120)\nT45 -> T122\nT20 -> T124"
            },
            {
                "from": 749,
                "to": 750,
                "label": "PARALLEL"
            },
            {
                "from": 749,
                "to": 751,
                "label": "PARALLEL"
            },
            {
                "from": 750,
                "to": 753,
                "label": "EVAL with clause\ngt(s(X167), s(X168)) :- gt(X167, X168).\nand substitutionX167 -> T137,\nT119 -> s(T137),\nX168 -> T138,\nT121 -> s(T138)"
            },
            {
                "from": 750,
                "to": 754,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 751,
                "to": 755,
                "label": "EVAL with clause\ngt(s(X173), 0).\nand substitutionX173 -> T143,\nT119 -> s(T143),\nT121 -> 0"
            },
            {
                "from": 751,
                "to": 756,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 753,
                "to": 747,
                "label": "INSTANCE with matching:\nT119 -> T137\nT121 -> T138"
            },
            {
                "from": 755,
                "to": 757,
                "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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   F2_IN(.(T16, .(T17, T18))) -> F532_IN(T16, T17, T18)
   F559_IN(.(T42, T43)) -> U2^1(f559_in(T43), .(T42, T43))
   F559_IN(.(T42, T43)) -> F559_IN(T43)
   F632_IN(.(T78, T79), .(T80, T81)) -> U3^1(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   F632_IN(.(T78, T79), .(T80, T81)) -> F719_IN(T78, T80, T79, T81)
   F632_IN(.(T119, T120), .(T121, T122)) -> U4^1(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   F632_IN(.(T119, T120), .(T121, T122)) -> F743_IN(T119, T121, T120, T122)
   F723_IN(s(T96), s(T97)) -> U5^1(f723_in(T96, T97), s(T96), s(T97))
   F723_IN(s(T96), s(T97)) -> F723_IN(T96, T97)
   F747_IN(s(T137), s(T138)) -> U6^1(f747_in(T137, T138), s(T137), s(T138))
   F747_IN(s(T137), s(T138)) -> F747_IN(T137, T138)
   F536_IN(T29, T36, T37) -> U7^1(f559_in(T37), T29, T36, T37)
   F536_IN(T29, T36, T37) -> F559_IN(T37)
   F532_IN(T16, T17, T18) -> U8^1(f536_in(T16, T17, T18), T16, T17, T18)
   F532_IN(T16, T17, T18) -> F536_IN(T16, T17, T18)
   U8^1(f536_out1(T21, T22), T16, T17, T18) -> U9^1(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U8^1(f536_out1(T21, T22), T16, T17, T18) -> F537_IN(T21, T22)
   F537_IN(T21, T22) -> U10^1(f2_in(T21), T21, T22)
   F537_IN(T21, T22) -> F2_IN(T21)
   U10^1(f2_out1(T44), T21, T22) -> U11^1(f628_in(T22, T44), T21, T22, T44)
   U10^1(f2_out1(T44), T21, T22) -> F628_IN(T22, T44)
   F628_IN(T22, T44) -> U12^1(f2_in(T22), T22, T44)
   F628_IN(T22, T44) -> F2_IN(T22)
   U12^1(f2_out1(T45), T22, T44) -> U13^1(f632_in(T44, T45), T22, T44, T45)
   U12^1(f2_out1(T45), T22, T44) -> F632_IN(T44, T45)
   F719_IN(T78, T80, T79, T81) -> U14^1(f723_in(T78, T80), T78, T80, T79, T81)
   F719_IN(T78, T80, T79, T81) -> F723_IN(T78, T80)
   U14^1(f723_out1, T78, T80, T79, T81) -> U15^1(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U14^1(f723_out1, T78, T80, T79, T81) -> F632_IN(T79, .(T80, T81))
   F743_IN(T119, T121, T120, T122) -> U16^1(f747_in(T119, T121), T119, T121, T120, T122)
   F743_IN(T119, T121, T120, T122) -> F747_IN(T119, T121)
   U16^1(f747_out1, T119, T121, T120, T122) -> U17^1(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U16^1(f747_out1, T119, T121, T120, T122) -> F632_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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:

   F747_IN(s(T137), s(T138)) -> F747_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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:

   F747_IN(s(T137), s(T138)) -> F747_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:
*F747_IN(s(T137), s(T138)) -> F747_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:

   F723_IN(s(T96), s(T97)) -> F723_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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:

   F723_IN(s(T96), s(T97)) -> F723_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:
*F723_IN(s(T96), s(T97)) -> F723_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:

   F632_IN(.(T78, T79), .(T80, T81)) -> F719_IN(T78, T80, T79, T81)
   F719_IN(T78, T80, T79, T81) -> U14^1(f723_in(T78, T80), T78, T80, T79, T81)
   U14^1(f723_out1, T78, T80, T79, T81) -> F632_IN(T79, .(T80, T81))
   F632_IN(.(T119, T120), .(T121, T122)) -> F743_IN(T119, T121, T120, T122)
   F743_IN(T119, T121, T120, T122) -> U16^1(f747_in(T119, T121), T119, T121, T120, T122)
   U16^1(f747_out1, T119, T121, T120, T122) -> F632_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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.

   F632_IN(.(T78, T79), .(T80, T81)) -> F719_IN(T78, T80, T79, T81)
   F632_IN(.(T119, T120), .(T121, T122)) -> F743_IN(T119, T121, T120, T122)
   U16^1(f747_out1, T119, T121, T120, T122) -> F632_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( f723_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( f723_out1 ) = 2
POL( U16^1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_4 + 2x_5 + 2
POL( f747_in_2(x_1, x_2) ) = x_2
POL( U6_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2}
POL( f747_out1 ) = 2
POL( F632_IN_2(x_1, x_2) ) = 2x_1 + 2x_2
POL( ._2(x_1, x_2) ) = x_1 + x_2 + 2
POL( F719_IN_4(x_1, ..., x_4) ) = x_1 + 2x_2 + 2x_3 + 2x_4 + 2
POL( F743_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:

   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   f747_in(s(T143), 0) -> f747_out1
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   U6(f747_out1, s(T137), s(T138)) -> f747_out1


----------------------------------------

(19)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F719_IN(T78, T80, T79, T81) -> U14^1(f723_in(T78, T80), T78, T80, T79, T81)
   U14^1(f723_out1, T78, T80, T79, T81) -> F632_IN(T79, .(T80, T81))
   F743_IN(T119, T121, T120, T122) -> U16^1(f747_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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:

   F559_IN(.(T42, T43)) -> F559_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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:

   F559_IN(.(T42, T43)) -> F559_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:
*F559_IN(.(T42, T43)) -> F559_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))) -> F532_IN(T16, T17, T18)
   F532_IN(T16, T17, T18) -> U8^1(f536_in(T16, T17, T18), T16, T17, T18)
   U8^1(f536_out1(T21, T22), T16, T17, T18) -> F537_IN(T21, T22)
   F537_IN(T21, T22) -> U10^1(f2_in(T21), T21, T22)
   U10^1(f2_out1(T44), T21, T22) -> F628_IN(T22, T44)
   F628_IN(T22, T44) -> F2_IN(T22)
   F537_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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))) -> F532_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( f536_in_3(x_1, ..., x_3) ) = 2x_3
POL( U7_4(x_1, ..., x_4) ) = 2x_1
POL( f559_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( f532_in_3(x_1, ..., x_3) ) = x_1 + 2x_2 + x_3 + 2
POL( f532_out1_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_3 + 2x_4 + 1
POL( f536_out1_2(x_1, x_2) ) = max{0, x_1 + x_2 - 2}
POL( U9_6(x_1, ..., x_6) ) = 2x_5 + 2
POL( f537_in_2(x_1, x_2) ) = 0
POL( f537_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( f628_in_2(x_1, x_2) ) = 2x_1 + 1
POL( f628_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( f632_in_2(x_1, x_2) ) = 0
POL( f559_out1_2(x_1, x_2) ) = x_1 + x_2
POL( U2_2(x_1, x_2) ) = 2x_1 + 1
POL( f632_out1_1(x_1) ) = 2
POL( U3_3(x_1, ..., x_3) ) = max{0, 2x_1 - 2}
POL( f719_in_4(x_1, ..., x_4) ) = 2x_2 + 2
POL( U4_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + x_3 + 1
POL( f743_in_4(x_1, ..., x_4) ) = 2x_1 + 2x_2 + 2x_3 + 2
POL( f719_out1_1(x_1) ) = 1
POL( U14_5(x_1, ..., x_5) ) = max{0, x_4 + x_5 - 2}
POL( f723_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( f723_out1 ) = 0
POL( U15_5(x_1, ..., x_5) ) = max{0, x_2 - 2}
POL( f743_out1_1(x_1) ) = 0
POL( U16_5(x_1, ..., x_5) ) = max{0, x_4 + 2x_5 - 2}
POL( f747_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( f747_out1 ) = 2
POL( U17_5(x_1, ..., x_5) ) = max{0, 2x_3 - 2}
POL( F2_IN_1(x_1) ) = x_1
POL( F532_IN_3(x_1, ..., x_3) ) = 2x_3 + 2
POL( F537_IN_2(x_1, x_2) ) = x_1 + x_2
POL( F628_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:

   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)


----------------------------------------

(29)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   F532_IN(T16, T17, T18) -> U8^1(f536_in(T16, T17, T18), T16, T17, T18)
   U8^1(f536_out1(T21, T22), T16, T17, T18) -> F537_IN(T21, T22)
   F537_IN(T21, T22) -> U10^1(f2_in(T21), T21, T22)
   U10^1(f2_out1(T44), T21, T22) -> F628_IN(T22, T44)
   F628_IN(T22, T44) -> F2_IN(T22)
   F537_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(f532_in(T16, T17, T18), .(T16, .(T17, T18)))
   U1(f532_out1(X22, X23, X24, X25, T20), .(T16, .(T17, T18))) -> f2_out1(T20)
   f559_in([]) -> f559_out1([], [])
   f559_in(.(T42, T43)) -> U2(f559_in(T43), .(T42, T43))
   U2(f559_out1(X79, X78), .(T42, T43)) -> f559_out1(.(T42, X78), X79)
   f632_in([], T52) -> f632_out1(T52)
   f632_in(T57, []) -> f632_out1(T57)
   f632_in(.(T78, T79), .(T80, T81)) -> U3(f719_in(T78, T80, T79, T81), .(T78, T79), .(T80, T81))
   U3(f719_out1(T83), .(T78, T79), .(T80, T81)) -> f632_out1(.(T78, T83))
   f632_in(.(T119, T120), .(T121, T122)) -> U4(f743_in(T119, T121, T120, T122), .(T119, T120), .(T121, T122))
   U4(f743_out1(T124), .(T119, T120), .(T121, T122)) -> f632_out1(.(T121, T124))
   f723_in(s(T96), s(T97)) -> U5(f723_in(T96, T97), s(T96), s(T97))
   U5(f723_out1, s(T96), s(T97)) -> f723_out1
   f723_in(0, s(T104)) -> f723_out1
   f723_in(0, 0) -> f723_out1
   f747_in(s(T137), s(T138)) -> U6(f747_in(T137, T138), s(T137), s(T138))
   U6(f747_out1, s(T137), s(T138)) -> f747_out1
   f747_in(s(T143), 0) -> f747_out1
   f536_in(T29, T36, T37) -> U7(f559_in(T37), T29, T36, T37)
   U7(f559_out1(X61, X60), T29, T36, T37) -> f536_out1(.(T29, X61), .(T36, X60))
   f532_in(T16, T17, T18) -> U8(f536_in(T16, T17, T18), T16, T17, T18)
   U8(f536_out1(T21, T22), T16, T17, T18) -> U9(f537_in(T21, T22), T16, T17, T18, T21, T22)
   U9(f537_out1(X24, X25, T20), T16, T17, T18, T21, T22) -> f532_out1(T21, T22, X24, X25, T20)
   f537_in(T21, T22) -> U10(f2_in(T21), T21, T22)
   U10(f2_out1(T44), T21, T22) -> U11(f628_in(T22, T44), T21, T22, T44)
   U11(f628_out1(X25, T20), T21, T22, T44) -> f537_out1(T44, X25, T20)
   f628_in(T22, T44) -> U12(f2_in(T22), T22, T44)
   U12(f2_out1(T45), T22, T44) -> U13(f632_in(T44, T45), T22, T44, T45)
   U13(f632_out1(T20), T22, T44, T45) -> f628_out1(T45, T20)
   f719_in(T78, T80, T79, T81) -> U14(f723_in(T78, T80), T78, T80, T79, T81)
   U14(f723_out1, T78, T80, T79, T81) -> U15(f632_in(T79, .(T80, T81)), T78, T80, T79, T81)
   U15(f632_out1(T83), T78, T80, T79, T81) -> f719_out1(T83)
   f743_in(T119, T121, T120, T122) -> U16(f747_in(T119, T121), T119, T121, T120, T122)
   U16(f747_out1, T119, T121, T120, T122) -> U17(f632_in(.(T119, T120), T122), T119, T121, T120, T122)
   U17(f632_out1(T124), T119, T121, T120, T122) -> f743_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
