YES
proof of /hpcwork/ff862203/termcomp26/benchmarks/hEccM.pl
# AProVE Commit ID: 23a904c96b029b0a549cde0d0d17dbccf967db59 jckassing 20260626 unpublished dirty


Left Termination of the query pattern

mergesort(g,a,a)

w.r.t. the given Prolog program could successfully be proven:

(0) Prolog
(1) PrologToDTProblemTransformerProof [SOUND, 75 ms]
(2) TRIPLES
(3) TriplesToPiDPProof [SOUND, 0 ms]
(4) PiDP
(5) DependencyGraphProof [EQUIVALENT, 0 ms]
(6) AND
    (7) PiDP
        (8) UsableRulesProof [EQUIVALENT, 0 ms]
        (9) PiDP
        (10) PiDPToQDPProof [EQUIVALENT, 0 ms]
        (11) QDP
        (12) QDPSizeChangeProof [EQUIVALENT, 0 ms]
        (13) YES
    (14) PiDP
        (15) UsableRulesProof [EQUIVALENT, 0 ms]
        (16) PiDP
        (17) PiDPToQDPProof [EQUIVALENT, 0 ms]
        (18) QDP
        (19) QDPSizeChangeProof [EQUIVALENT, 0 ms]
        (20) YES
    (21) PiDP
        (22) UsableRulesProof [EQUIVALENT, 0 ms]
        (23) PiDP
        (24) PiDPToQDPProof [SOUND, 0 ms]
        (25) QDP
        (26) QDPSizeChangeProof [EQUIVALENT, 0 ms]
        (27) YES
    (28) PiDP
        (29) UsableRulesProof [EQUIVALENT, 0 ms]
        (30) PiDP
        (31) PiDPToQDPProof [SOUND, 0 ms]
        (32) QDP
        (33) QDPSizeChangeProof [EQUIVALENT, 0 ms]
        (34) YES
    (35) PiDP
        (36) PiDPToQDPProof [SOUND, 0 ms]
        (37) QDP
        (38) TransformationProof [EQUIVALENT, 6 ms]
        (39) QDP
        (40) QDPOrderProof [EQUIVALENT, 416 ms]
        (41) QDP
        (42) PisEmptyProof [EQUIVALENT, 0 ms]
        (43) YES


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

(0)
Obligation:
Clauses:

mergesort([], [], Ls).
mergesort(.(X, []), .(X, []), Ls).
mergesort(.(X, .(Y, Xs)), Ys, .(H, Ls)) :- ','(split(.(X, .(Y, Xs)), X1s, X2s, .(H, Ls)), ','(mergesort(X1s, Y1s, Ls), ','(mergesort(X2s, Y2s, Ls), merge(Y1s, Y2s, Ys, .(H, Ls))))).
split([], [], [], Ls).
split(.(X, Xs), .(X, Ys), Zs, .(H, Ls)) :- split(Xs, Zs, Ys, Ls).
merge([], Xs, Xs, Ls).
merge(Xs, [], Xs, Ls).
merge(.(X, Xs), .(Y, Ys), .(X, Zs), .(H, Ls)) :- ','(le(X, Y), merge(Xs, .(Y, Ys), Zs, Ls)).
merge(.(X, Xs), .(Y, Ys), .(Y, Zs), .(H, Ls)) :- ','(gt(X, Y), merge(.(X, Xs), Ys, Zs, Ls)).
gt(s(X), s(Y)) :- gt(X, Y).
gt(s(0), 0).
le(s(X), s(Y)) :- le(X, Y).
le(0, s(0)).
le(0, 0).


Query: mergesort(g,a,a)
----------------------------------------

(1) PrologToDTProblemTransformerProof (SOUND)
Built DT problem from termination graph DT10.

{
    "root": 5,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(mergesort ([]) ([]) Ls)",
                null
            ],
            [
                "(mergesort (. X ([])) (. X ([])) Ls)",
                null
            ],
            [
                "(mergesort (. X (. Y Xs)) Ys (. H Ls))",
                "(',' (split (. X (. Y Xs)) X1s X2s (. H Ls)) (',' (mergesort X1s Y1s Ls) (',' (mergesort X2s Y2s Ls) (merge Y1s Y2s Ys (. H Ls)))))"
            ],
            [
                "(split ([]) ([]) ([]) Ls)",
                null
            ],
            [
                "(split (. X Xs) (. X Ys) Zs (. H Ls))",
                "(split Xs Zs Ys Ls)"
            ],
            [
                "(merge ([]) Xs Xs Ls)",
                null
            ],
            [
                "(merge Xs ([]) Xs Ls)",
                null
            ],
            [
                "(merge (. X Xs) (. Y Ys) (. X Zs) (. H Ls))",
                "(',' (le X Y) (merge Xs (. Y Ys) Zs Ls))"
            ],
            [
                "(merge (. X Xs) (. Y Ys) (. Y Zs) (. H Ls))",
                "(',' (gt X Y) (merge (. X Xs) Ys Zs Ls))"
            ],
            [
                "(gt (s X) (s Y))",
                "(gt X Y)"
            ],
            [
                "(gt (s (0)) (0))",
                null
            ],
            [
                "(le (s X) (s Y))",
                "(le X Y)"
            ],
            [
                "(le (0) (s (0)))",
                null
            ],
            [
                "(le (0) (0))",
                null
            ]
        ]
    },
    "graph": {
        "nodes": {
            "909": {
                "goal": [{
                    "clause": 7,
                    "scope": 7,
                    "term": "(merge T164 (. T165 T166) T170 T171)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "352": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(split (. T40 T41) X63 X62 T44)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T40",
                        "T41"
                    ],
                    "free": [
                        "X62",
                        "X63"
                    ],
                    "exprvars": []
                }
            },
            "870": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "354": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (mergesort (. T39 T48) X35 T49) (',' (mergesort T47 X36 T49) (merge X35 X36 T50 (. T51 T49))))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T39",
                        "T47",
                        "T48"
                    ],
                    "free": [
                        "X35",
                        "X36"
                    ],
                    "exprvars": []
                }
            },
            "871": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "872": {
                "goal": [
                    {
                        "clause": 5,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    },
                    {
                        "clause": 6,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    },
                    {
                        "clause": 7,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    },
                    {
                        "clause": 8,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "873": {
                "goal": [{
                    "clause": 5,
                    "scope": 7,
                    "term": "(merge T164 (. T165 T166) T170 T171)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "874": {
                "goal": [
                    {
                        "clause": 6,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    },
                    {
                        "clause": 7,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    },
                    {
                        "clause": 8,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "910": {
                "goal": [{
                    "clause": 8,
                    "scope": 7,
                    "term": "(merge T164 (. T165 T166) T170 T171)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "878": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "879": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "880": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "5": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(mergesort T1 T2 T3)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "800": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(mergesort T47 X36 T88)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T47"],
                    "free": ["X36"],
                    "exprvars": []
                }
            },
            "9": {
                "goal": [
                    {
                        "clause": 0,
                        "scope": 1,
                        "term": "(mergesort T1 T2 T3)"
                    },
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(mergesort T1 T2 T3)"
                    },
                    {
                        "clause": 2,
                        "scope": 1,
                        "term": "(mergesort T1 T2 T3)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [],
                    "exprvars": []
                }
            },
            "801": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(merge T87 T93 T94 (. T95 T96))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "802": {
                "goal": [
                    {
                        "clause": 5,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    },
                    {
                        "clause": 6,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    },
                    {
                        "clause": 7,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    },
                    {
                        "clause": 8,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "803": {
                "goal": [{
                    "clause": 5,
                    "scope": 5,
                    "term": "(merge T87 T93 T94 (. T95 T96))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "804": {
                "goal": [
                    {
                        "clause": 6,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    },
                    {
                        "clause": 7,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    },
                    {
                        "clause": 8,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "805": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "806": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "807": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "808": {
                "goal": [{
                    "clause": 6,
                    "scope": 5,
                    "term": "(merge T87 T93 T94 (. T95 T96))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "809": {
                "goal": [
                    {
                        "clause": 7,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    },
                    {
                        "clause": 8,
                        "scope": 5,
                        "term": "(merge T87 T93 T94 (. T95 T96))"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "651": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(split T61 X92 X91 T64)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T61"],
                    "free": [
                        "X91",
                        "X92"
                    ],
                    "exprvars": []
                }
            },
            "893": {
                "goal": [
                    {
                        "clause": 7,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    },
                    {
                        "clause": 8,
                        "scope": 7,
                        "term": "(merge T164 (. T165 T166) T170 T171)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "656": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "810": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "811": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "658": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 4,
                        "term": "(split T61 X92 X91 T64)"
                    },
                    {
                        "clause": 4,
                        "scope": 4,
                        "term": "(split T61 X92 X91 T64)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T61"],
                    "free": [
                        "X91",
                        "X92"
                    ],
                    "exprvars": []
                }
            },
            "812": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "659": {
                "goal": [{
                    "clause": 3,
                    "scope": 4,
                    "term": "(split T61 X92 X91 T64)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T61"],
                    "free": [
                        "X91",
                        "X92"
                    ],
                    "exprvars": []
                }
            },
            "813": {
                "goal": [{
                    "clause": 7,
                    "scope": 5,
                    "term": "(merge T87 T93 T94 (. T95 T96))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "814": {
                "goal": [{
                    "clause": 8,
                    "scope": 5,
                    "term": "(merge T87 T93 T94 (. T95 T96))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T87",
                        "T93"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "815": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (le T163 T165) (merge T164 (. T165 T166) T170 T171))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "816": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "33": {
                "goal": [
                    {
                        "clause": -1,
                        "scope": -1,
                        "term": "(true)"
                    },
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(mergesort ([]) T2 T3)"
                    },
                    {
                        "clause": 2,
                        "scope": 1,
                        "term": "(mergesort ([]) T2 T3)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "34": {
                "goal": [
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(mergesort T1 T2 T3)"
                    },
                    {
                        "clause": 2,
                        "scope": 1,
                        "term": "(mergesort T1 T2 T3)"
                    }
                ],
                "kb": {
                    "nonunifying": [[
                        "(mergesort T1 T2 T3)",
                        "(mergesort ([]) ([]) X2)"
                    ]],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": ["X2"],
                    "exprvars": []
                }
            },
            "35": {
                "goal": [
                    {
                        "clause": 1,
                        "scope": 1,
                        "term": "(mergesort ([]) T2 T3)"
                    },
                    {
                        "clause": 2,
                        "scope": 1,
                        "term": "(mergesort ([]) T2 T3)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "36": {
                "goal": [{
                    "clause": 2,
                    "scope": 1,
                    "term": "(mergesort ([]) T2 T3)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "37": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "38": {
                "goal": [
                    {
                        "clause": -1,
                        "scope": -1,
                        "term": "(true)"
                    },
                    {
                        "clause": 2,
                        "scope": 1,
                        "term": "(mergesort (. T8 ([])) T2 T3)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T8"],
                    "free": [],
                    "exprvars": []
                }
            },
            "660": {
                "goal": [{
                    "clause": 4,
                    "scope": 4,
                    "term": "(split T61 X92 X91 T64)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T61"],
                    "free": [
                        "X91",
                        "X92"
                    ],
                    "exprvars": []
                }
            },
            "386": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 3,
                        "term": "(split (. T40 T41) X63 X62 T44)"
                    },
                    {
                        "clause": 4,
                        "scope": 3,
                        "term": "(split (. T40 T41) X63 X62 T44)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T40",
                        "T41"
                    ],
                    "free": [
                        "X62",
                        "X63"
                    ],
                    "exprvars": []
                }
            },
            "388": {
                "goal": [{
                    "clause": 4,
                    "scope": 3,
                    "term": "(split (. T40 T41) X63 X62 T44)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T40",
                        "T41"
                    ],
                    "free": [
                        "X62",
                        "X63"
                    ],
                    "exprvars": []
                }
            },
            "664": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "665": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "666": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "820": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(le T163 T165)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T165"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "667": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(split T81 X123 X122 T84)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T81"],
                    "free": [
                        "X122",
                        "X123"
                    ],
                    "exprvars": []
                }
            },
            "821": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(merge T164 (. T165 T166) T170 T171)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T164",
                        "T165",
                        "T166"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "825": {
                "goal": [
                    {
                        "clause": 11,
                        "scope": 6,
                        "term": "(le T163 T165)"
                    },
                    {
                        "clause": 12,
                        "scope": 6,
                        "term": "(le T163 T165)"
                    },
                    {
                        "clause": 13,
                        "scope": 6,
                        "term": "(le T163 T165)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T165"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "827": {
                "goal": [{
                    "clause": 11,
                    "scope": 6,
                    "term": "(le T163 T165)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T165"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "42": {
                "goal": [{
                    "clause": 2,
                    "scope": 1,
                    "term": "(mergesort T1 T2 T3)"
                }],
                "kb": {
                    "nonunifying": [
                        [
                            "(mergesort T1 T2 T3)",
                            "(mergesort ([]) ([]) X2)"
                        ],
                        [
                            "(mergesort T1 T2 T3)",
                            "(mergesort (. X13 ([])) (. X13 ([])) X14)"
                        ]
                    ],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T1"],
                    "free": [
                        "X2",
                        "X13",
                        "X14"
                    ],
                    "exprvars": []
                }
            },
            "828": {
                "goal": [
                    {
                        "clause": 12,
                        "scope": 6,
                        "term": "(le T163 T165)"
                    },
                    {
                        "clause": 13,
                        "scope": 6,
                        "term": "(le T163 T165)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T165"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "45": {
                "goal": [{
                    "clause": 2,
                    "scope": 1,
                    "term": "(mergesort (. T8 ([])) T2 T3)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T8"],
                    "free": [],
                    "exprvars": []
                }
            },
            "792": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(mergesort (. T39 T48) X35 T49)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T39",
                        "T48"
                    ],
                    "free": ["X35"],
                    "exprvars": []
                }
            },
            "793": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (mergesort T47 X36 T88) (merge T87 X36 T89 (. T90 T88)))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T47",
                        "T87"
                    ],
                    "free": ["X36"],
                    "exprvars": []
                }
            },
            "286": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (split (. T17 (. T18 T19)) X33 X34 (. T23 T24)) (',' (mergesort X33 X35 T24) (',' (mergesort X34 X36 T24) (merge X35 X36 T25 (. T23 T24)))))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T17",
                        "T18",
                        "T19"
                    ],
                    "free": [
                        "X33",
                        "X34",
                        "X35",
                        "X36"
                    ],
                    "exprvars": []
                }
            },
            "287": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "288": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 2,
                        "term": "(',' (split (. T17 (. T18 T19)) X33 X34 (. T23 T24)) (',' (mergesort X33 X35 T24) (',' (mergesort X34 X36 T24) (merge X35 X36 T25 (. T23 T24)))))"
                    },
                    {
                        "clause": 4,
                        "scope": 2,
                        "term": "(',' (split (. T17 (. T18 T19)) X33 X34 (. T23 T24)) (',' (mergesort X33 X35 T24) (',' (mergesort X34 X36 T24) (merge X35 X36 T25 (. T23 T24)))))"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T17",
                        "T18",
                        "T19"
                    ],
                    "free": [
                        "X33",
                        "X34",
                        "X35",
                        "X36"
                    ],
                    "exprvars": []
                }
            },
            "289": {
                "goal": [{
                    "clause": 4,
                    "scope": 2,
                    "term": "(',' (split (. T17 (. T18 T19)) X33 X34 (. T23 T24)) (',' (mergesort X33 X35 T24) (',' (mergesort X34 X36 T24) (merge X35 X36 T25 (. T23 T24)))))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T17",
                        "T18",
                        "T19"
                    ],
                    "free": [
                        "X33",
                        "X34",
                        "X35",
                        "X36"
                    ],
                    "exprvars": []
                }
            },
            "961": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (le T238 T240) (merge T239 (. T240 T241) T245 T246))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T238",
                        "T239",
                        "T240",
                        "T241"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "962": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "963": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (gt T263 T265) (merge (. T263 T264) T266 T270 T271))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T265",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "964": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "965": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(gt T263 T265)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T265"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "966": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(merge (. T263 T264) T266 T270 T271)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "967": {
                "goal": [
                    {
                        "clause": 9,
                        "scope": 8,
                        "term": "(gt T263 T265)"
                    },
                    {
                        "clause": 10,
                        "scope": 8,
                        "term": "(gt T263 T265)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T265"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "968": {
                "goal": [{
                    "clause": 9,
                    "scope": 8,
                    "term": "(gt T263 T265)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T265"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "969": {
                "goal": [{
                    "clause": 10,
                    "scope": 8,
                    "term": "(gt T263 T265)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T265"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "69": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "690": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "970": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(gt T284 T285)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T284",
                        "T285"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "971": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "972": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "973": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "974": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "975": {
                "goal": [
                    {
                        "clause": 5,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    },
                    {
                        "clause": 6,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    },
                    {
                        "clause": 7,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    },
                    {
                        "clause": 8,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "976": {
                "goal": [
                    {
                        "clause": 6,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    },
                    {
                        "clause": 7,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    },
                    {
                        "clause": 8,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "977": {
                "goal": [{
                    "clause": 6,
                    "scope": 9,
                    "term": "(merge (. T263 T264) T266 T270 T271)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "978": {
                "goal": [
                    {
                        "clause": 7,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    },
                    {
                        "clause": 8,
                        "scope": 9,
                        "term": "(merge (. T263 T264) T266 T270 T271)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "979": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "980": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "981": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "982": {
                "goal": [{
                    "clause": 7,
                    "scope": 9,
                    "term": "(merge (. T263 T264) T266 T270 T271)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "862": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(le T184 T185)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T184",
                        "T185"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "983": {
                "goal": [{
                    "clause": 8,
                    "scope": 9,
                    "term": "(merge (. T263 T264) T266 T270 T271)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T263",
                        "T264",
                        "T266"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "863": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "984": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (le T331 T333) (merge T332 (. T333 T334) T338 T339))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T331",
                        "T332",
                        "T333",
                        "T334"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "347": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (split (. T40 T41) X63 X62 T44) (',' (mergesort (. T39 X62) X35 T44) (',' (mergesort X63 X36 T44) (merge X35 X36 T45 (. T46 T44)))))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T39",
                        "T40",
                        "T41"
                    ],
                    "free": [
                        "X35",
                        "X36",
                        "X62",
                        "X63"
                    ],
                    "exprvars": []
                }
            },
            "864": {
                "goal": [{
                    "clause": 12,
                    "scope": 6,
                    "term": "(le T163 T165)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T165"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "985": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "865": {
                "goal": [{
                    "clause": 13,
                    "scope": 6,
                    "term": "(le T163 T165)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T163",
                        "T165"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "986": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (gt T356 T358) (merge (. T356 T357) T359 T363 T364))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T356",
                        "T357",
                        "T358",
                        "T359"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "866": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "987": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "867": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "988": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (gt T381 T383) (merge (. T381 T382) T384 T388 T389))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [
                        "T381",
                        "T382",
                        "T383",
                        "T384"
                    ],
                    "free": [],
                    "exprvars": []
                }
            },
            "868": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "989": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "869": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 5,
                "to": 9,
                "label": "CASE"
            },
            {
                "from": 9,
                "to": 33,
                "label": "EVAL with clause\nmergesort([], [], X2).\nand substitutionT1 -> [],\nT2 -> [],\nT3 -> T5,\nX2 -> T5"
            },
            {
                "from": 9,
                "to": 34,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 33,
                "to": 35,
                "label": "SUCCESS"
            },
            {
                "from": 34,
                "to": 38,
                "label": "EVAL with clause\nmergesort(.(X13, []), .(X13, []), X14).\nand substitutionX13 -> T8,\nT1 -> .(T8, []),\nT2 -> .(T8, []),\nT3 -> T9,\nX14 -> T9"
            },
            {
                "from": 34,
                "to": 42,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 35,
                "to": 36,
                "label": "BACKTRACK\nfor clause: mergesort(.(X, []), .(X, []), Ls)because of non-unification"
            },
            {
                "from": 36,
                "to": 37,
                "label": "BACKTRACK\nfor clause: mergesort(.(X, .(Y, Xs)), Ys, .(H, Ls)) :- ','(split(.(X, .(Y, Xs)), X1s, X2s, .(H, Ls)), ','(mergesort(X1s, Y1s, Ls), ','(mergesort(X2s, Y2s, Ls), merge(Y1s, Y2s, Ys, .(H, Ls)))))because of non-unification"
            },
            {
                "from": 38,
                "to": 45,
                "label": "SUCCESS"
            },
            {
                "from": 42,
                "to": 286,
                "label": "EVAL with clause\nmergesort(.(X27, .(X28, X29)), X30, .(X31, X32)) :- ','(split(.(X27, .(X28, X29)), X33, X34, .(X31, X32)), ','(mergesort(X33, X35, X32), ','(mergesort(X34, X36, X32), merge(X35, X36, X30, .(X31, X32))))).\nand substitutionX27 -> T17,\nX28 -> T18,\nX29 -> T19,\nT1 -> .(T17, .(T18, T19)),\nT2 -> T25,\nX30 -> T25,\nX31 -> T23,\nX32 -> T24,\nT3 -> .(T23, T24),\nT21 -> T23,\nT22 -> T24,\nT20 -> T25"
            },
            {
                "from": 42,
                "to": 287,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 45,
                "to": 69,
                "label": "BACKTRACK\nfor clause: mergesort(.(X, .(Y, Xs)), Ys, .(H, Ls)) :- ','(split(.(X, .(Y, Xs)), X1s, X2s, .(H, Ls)), ','(mergesort(X1s, Y1s, Ls), ','(mergesort(X2s, Y2s, Ls), merge(Y1s, Y2s, Ys, .(H, Ls)))))because of non-unification"
            },
            {
                "from": 286,
                "to": 288,
                "label": "CASE"
            },
            {
                "from": 288,
                "to": 289,
                "label": "BACKTRACK\nfor clause: split([], [], [], Ls)because of non-unification"
            },
            {
                "from": 289,
                "to": 347,
                "label": "ONLY EVAL with clause\nsplit(.(X56, X57), .(X56, X58), X59, .(X60, X61)) :- split(X57, X59, X58, X61).\nand substitutionT17 -> T39,\nX56 -> T39,\nT18 -> T40,\nT19 -> T41,\nX57 -> .(T40, T41),\nX58 -> X62,\nX33 -> .(T39, X62),\nX34 -> X63,\nX59 -> X63,\nT23 -> T46,\nX60 -> T46,\nT24 -> T44,\nX61 -> T44,\nT43 -> T44,\nT25 -> T45,\nT42 -> T46"
            },
            {
                "from": 347,
                "to": 352,
                "label": "SPLIT 1"
            },
            {
                "from": 347,
                "to": 354,
                "label": "SPLIT 2\nnew knowledge:\nT40 is ground\nT41 is ground\nT47 is ground\nT48 is ground\nreplacements:X63 -> T47,\nX62 -> T48,\nT44 -> T49,\nT45 -> T50,\nT46 -> T51"
            },
            {
                "from": 352,
                "to": 386,
                "label": "CASE"
            },
            {
                "from": 354,
                "to": 792,
                "label": "SPLIT 1"
            },
            {
                "from": 354,
                "to": 793,
                "label": "SPLIT 2\nnew knowledge:\nT39 is ground\nT48 is ground\nT87 is ground\nreplacements:X35 -> T87,\nT49 -> T88,\nT50 -> T89,\nT51 -> T90"
            },
            {
                "from": 386,
                "to": 388,
                "label": "BACKTRACK\nfor clause: split([], [], [], Ls)because of non-unification"
            },
            {
                "from": 388,
                "to": 651,
                "label": "EVAL with clause\nsplit(.(X85, X86), .(X85, X87), X88, .(X89, X90)) :- split(X86, X88, X87, X90).\nand substitutionT40 -> T60,\nX85 -> T60,\nT41 -> T61,\nX86 -> T61,\nX87 -> X91,\nX63 -> .(T60, X91),\nX62 -> X92,\nX88 -> X92,\nX89 -> T62,\nX90 -> T64,\nT44 -> .(T62, T64),\nT63 -> T64"
            },
            {
                "from": 388,
                "to": 656,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 651,
                "to": 658,
                "label": "CASE"
            },
            {
                "from": 658,
                "to": 659,
                "label": "PARALLEL"
            },
            {
                "from": 658,
                "to": 660,
                "label": "PARALLEL"
            },
            {
                "from": 659,
                "to": 664,
                "label": "EVAL with clause\nsplit([], [], [], X99).\nand substitutionT61 -> [],\nX92 -> [],\nX91 -> [],\nT64 -> T71,\nX99 -> T71"
            },
            {
                "from": 659,
                "to": 665,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 660,
                "to": 667,
                "label": "EVAL with clause\nsplit(.(X116, X117), .(X116, X118), X119, .(X120, X121)) :- split(X117, X119, X118, X121).\nand substitutionX116 -> T80,\nX117 -> T81,\nT61 -> .(T80, T81),\nX118 -> X122,\nX92 -> .(T80, X122),\nX91 -> X123,\nX119 -> X123,\nX120 -> T82,\nX121 -> T84,\nT64 -> .(T82, T84),\nT83 -> T84"
            },
            {
                "from": 660,
                "to": 690,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 664,
                "to": 666,
                "label": "SUCCESS"
            },
            {
                "from": 667,
                "to": 651,
                "label": "INSTANCE with matching:\nT61 -> T81\nX92 -> X123\nX91 -> X122\nT64 -> T84"
            },
            {
                "from": 792,
                "to": 5,
                "label": "INSTANCE with matching:\nT1 -> .(T39, T48)\nT2 -> X35\nT3 -> T49"
            },
            {
                "from": 793,
                "to": 800,
                "label": "SPLIT 1"
            },
            {
                "from": 793,
                "to": 801,
                "label": "SPLIT 2\nnew knowledge:\nT47 is ground\nT93 is ground\nreplacements:X36 -> T93,\nT89 -> T94,\nT90 -> T95,\nT88 -> T96"
            },
            {
                "from": 800,
                "to": 5,
                "label": "INSTANCE with matching:\nT1 -> T47\nT2 -> X36\nT3 -> T88"
            },
            {
                "from": 801,
                "to": 802,
                "label": "CASE"
            },
            {
                "from": 802,
                "to": 803,
                "label": "PARALLEL"
            },
            {
                "from": 802,
                "to": 804,
                "label": "PARALLEL"
            },
            {
                "from": 803,
                "to": 805,
                "label": "EVAL with clause\nmerge([], X146, X146, X147).\nand substitutionT87 -> [],\nT93 -> T117,\nX146 -> T117,\nT94 -> T117,\nT95 -> T118,\nT96 -> T119,\nX147 -> .(T118, T119)"
            },
            {
                "from": 803,
                "to": 806,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 804,
                "to": 808,
                "label": "PARALLEL"
            },
            {
                "from": 804,
                "to": 809,
                "label": "PARALLEL"
            },
            {
                "from": 805,
                "to": 807,
                "label": "SUCCESS"
            },
            {
                "from": 808,
                "to": 810,
                "label": "EVAL with clause\nmerge(X156, [], X156, X157).\nand substitutionT87 -> T132,\nX156 -> T132,\nT93 -> [],\nT94 -> T132,\nT95 -> T133,\nT96 -> T134,\nX157 -> .(T133, T134)"
            },
            {
                "from": 808,
                "to": 811,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 809,
                "to": 813,
                "label": "PARALLEL"
            },
            {
                "from": 809,
                "to": 814,
                "label": "PARALLEL"
            },
            {
                "from": 810,
                "to": 812,
                "label": "SUCCESS"
            },
            {
                "from": 813,
                "to": 815,
                "label": "EVAL with clause\nmerge(.(X186, X187), .(X188, X189), .(X186, X190), .(X191, X192)) :- ','(le(X186, X188), merge(X187, .(X188, X189), X190, X192)).\nand substitutionX186 -> T163,\nX187 -> T164,\nT87 -> .(T163, T164),\nX188 -> T165,\nX189 -> T166,\nT93 -> .(T165, T166),\nX190 -> T170,\nT94 -> .(T163, T170),\nT95 -> T168,\nX191 -> T168,\nT96 -> T171,\nX192 -> T171,\nT167 -> T170,\nT169 -> T171"
            },
            {
                "from": 813,
                "to": 816,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 814,
                "to": 988,
                "label": "EVAL with clause\nmerge(.(X389, X390), .(X391, X392), .(X391, X393), .(X394, X395)) :- ','(gt(X389, X391), merge(.(X389, X390), X392, X393, X395)).\nand substitutionX389 -> T381,\nX390 -> T382,\nT87 -> .(T381, T382),\nX391 -> T383,\nX392 -> T384,\nT93 -> .(T383, T384),\nX393 -> T388,\nT94 -> .(T383, T388),\nT95 -> T386,\nX394 -> T386,\nT96 -> T389,\nX395 -> T389,\nT385 -> T388,\nT387 -> T389"
            },
            {
                "from": 814,
                "to": 989,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 815,
                "to": 820,
                "label": "SPLIT 1"
            },
            {
                "from": 815,
                "to": 821,
                "label": "SPLIT 2\nnew knowledge:\nT163 is ground\nT165 is ground"
            },
            {
                "from": 820,
                "to": 825,
                "label": "CASE"
            },
            {
                "from": 821,
                "to": 872,
                "label": "CASE"
            },
            {
                "from": 825,
                "to": 827,
                "label": "PARALLEL"
            },
            {
                "from": 825,
                "to": 828,
                "label": "PARALLEL"
            },
            {
                "from": 827,
                "to": 862,
                "label": "EVAL with clause\nle(s(X205), s(X206)) :- le(X205, X206).\nand substitutionX205 -> T184,\nT163 -> s(T184),\nX206 -> T185,\nT165 -> s(T185)"
            },
            {
                "from": 827,
                "to": 863,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 828,
                "to": 864,
                "label": "PARALLEL"
            },
            {
                "from": 828,
                "to": 865,
                "label": "PARALLEL"
            },
            {
                "from": 862,
                "to": 820,
                "label": "INSTANCE with matching:\nT163 -> T184\nT165 -> T185"
            },
            {
                "from": 864,
                "to": 866,
                "label": "EVAL with clause\nle(0, s(0)).\nand substitutionT163 -> 0,\nT165 -> s(0)"
            },
            {
                "from": 864,
                "to": 867,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 865,
                "to": 869,
                "label": "EVAL with clause\nle(0, 0).\nand substitutionT163 -> 0,\nT165 -> 0"
            },
            {
                "from": 865,
                "to": 870,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 866,
                "to": 868,
                "label": "SUCCESS"
            },
            {
                "from": 869,
                "to": 871,
                "label": "SUCCESS"
            },
            {
                "from": 872,
                "to": 873,
                "label": "PARALLEL"
            },
            {
                "from": 872,
                "to": 874,
                "label": "PARALLEL"
            },
            {
                "from": 873,
                "to": 878,
                "label": "EVAL with clause\nmerge([], X221, X221, X222).\nand substitutionT164 -> [],\nT165 -> T206,\nT166 -> T207,\nX221 -> .(T206, T207),\nT170 -> .(T206, T207),\nT171 -> T208,\nX222 -> T208"
            },
            {
                "from": 873,
                "to": 879,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 874,
                "to": 893,
                "label": "BACKTRACK\nfor clause: merge(Xs, [], Xs, Ls)because of non-unification"
            },
            {
                "from": 878,
                "to": 880,
                "label": "SUCCESS"
            },
            {
                "from": 893,
                "to": 909,
                "label": "PARALLEL"
            },
            {
                "from": 893,
                "to": 910,
                "label": "PARALLEL"
            },
            {
                "from": 909,
                "to": 961,
                "label": "EVAL with clause\nmerge(.(X253, X254), .(X255, X256), .(X253, X257), .(X258, X259)) :- ','(le(X253, X255), merge(X254, .(X255, X256), X257, X259)).\nand substitutionX253 -> T238,\nX254 -> T239,\nT164 -> .(T238, T239),\nT165 -> T240,\nX255 -> T240,\nT166 -> T241,\nX256 -> T241,\nX257 -> T245,\nT170 -> .(T238, T245),\nX258 -> T243,\nX259 -> T246,\nT171 -> .(T243, T246),\nT242 -> T245,\nT244 -> T246"
            },
            {
                "from": 909,
                "to": 962,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 910,
                "to": 963,
                "label": "EVAL with clause\nmerge(.(X276, X277), .(X278, X279), .(X278, X280), .(X281, X282)) :- ','(gt(X276, X278), merge(.(X276, X277), X279, X280, X282)).\nand substitutionX276 -> T263,\nX277 -> T264,\nT164 -> .(T263, T264),\nT165 -> T265,\nX278 -> T265,\nT166 -> T266,\nX279 -> T266,\nX280 -> T270,\nT170 -> .(T265, T270),\nX281 -> T268,\nX282 -> T271,\nT171 -> .(T268, T271),\nT267 -> T270,\nT269 -> T271"
            },
            {
                "from": 910,
                "to": 964,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 961,
                "to": 815,
                "label": "INSTANCE with matching:\nT163 -> T238\nT165 -> T240\nT164 -> T239\nT166 -> T241\nT170 -> T245\nT171 -> T246"
            },
            {
                "from": 963,
                "to": 965,
                "label": "SPLIT 1"
            },
            {
                "from": 963,
                "to": 966,
                "label": "SPLIT 2\nnew knowledge:\nT263 is ground\nT265 is ground"
            },
            {
                "from": 965,
                "to": 967,
                "label": "CASE"
            },
            {
                "from": 966,
                "to": 975,
                "label": "CASE"
            },
            {
                "from": 967,
                "to": 968,
                "label": "PARALLEL"
            },
            {
                "from": 967,
                "to": 969,
                "label": "PARALLEL"
            },
            {
                "from": 968,
                "to": 970,
                "label": "EVAL with clause\ngt(s(X295), s(X296)) :- gt(X295, X296).\nand substitutionX295 -> T284,\nT263 -> s(T284),\nX296 -> T285,\nT265 -> s(T285)"
            },
            {
                "from": 968,
                "to": 971,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 969,
                "to": 972,
                "label": "EVAL with clause\ngt(s(0), 0).\nand substitutionT263 -> s(0),\nT265 -> 0"
            },
            {
                "from": 969,
                "to": 973,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 970,
                "to": 965,
                "label": "INSTANCE with matching:\nT263 -> T284\nT265 -> T285"
            },
            {
                "from": 972,
                "to": 974,
                "label": "SUCCESS"
            },
            {
                "from": 975,
                "to": 976,
                "label": "BACKTRACK\nfor clause: merge([], Xs, Xs, Ls)because of non-unification"
            },
            {
                "from": 976,
                "to": 977,
                "label": "PARALLEL"
            },
            {
                "from": 976,
                "to": 978,
                "label": "PARALLEL"
            },
            {
                "from": 977,
                "to": 979,
                "label": "EVAL with clause\nmerge(X313, [], X313, X314).\nand substitutionT263 -> T300,\nT264 -> T301,\nX313 -> .(T300, T301),\nT266 -> [],\nT270 -> .(T300, T301),\nT271 -> T302,\nX314 -> T302"
            },
            {
                "from": 977,
                "to": 980,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 978,
                "to": 982,
                "label": "PARALLEL"
            },
            {
                "from": 978,
                "to": 983,
                "label": "PARALLEL"
            },
            {
                "from": 979,
                "to": 981,
                "label": "SUCCESS"
            },
            {
                "from": 982,
                "to": 984,
                "label": "EVAL with clause\nmerge(.(X343, X344), .(X345, X346), .(X343, X347), .(X348, X349)) :- ','(le(X343, X345), merge(X344, .(X345, X346), X347, X349)).\nand substitutionT263 -> T331,\nX343 -> T331,\nT264 -> T332,\nX344 -> T332,\nX345 -> T333,\nX346 -> T334,\nT266 -> .(T333, T334),\nX347 -> T338,\nT270 -> .(T331, T338),\nX348 -> T336,\nX349 -> T339,\nT271 -> .(T336, T339),\nT335 -> T338,\nT337 -> T339"
            },
            {
                "from": 982,
                "to": 985,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 983,
                "to": 986,
                "label": "EVAL with clause\nmerge(.(X366, X367), .(X368, X369), .(X368, X370), .(X371, X372)) :- ','(gt(X366, X368), merge(.(X366, X367), X369, X370, X372)).\nand substitutionT263 -> T356,\nX366 -> T356,\nT264 -> T357,\nX367 -> T357,\nX368 -> T358,\nX369 -> T359,\nT266 -> .(T358, T359),\nX370 -> T363,\nT270 -> .(T358, T363),\nX371 -> T361,\nX372 -> T364,\nT271 -> .(T361, T364),\nT360 -> T363,\nT362 -> T364"
            },
            {
                "from": 983,
                "to": 987,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 984,
                "to": 815,
                "label": "INSTANCE with matching:\nT163 -> T331\nT165 -> T333\nT164 -> T332\nT166 -> T334\nT170 -> T338\nT171 -> T339"
            },
            {
                "from": 986,
                "to": 963,
                "label": "INSTANCE with matching:\nT263 -> T356\nT265 -> T358\nT264 -> T357\nT266 -> T359\nT270 -> T363\nT271 -> T364"
            },
            {
                "from": 988,
                "to": 963,
                "label": "INSTANCE with matching:\nT263 -> T381\nT265 -> T383\nT264 -> T382\nT266 -> T384\nT270 -> T388\nT271 -> T389"
            }
        ],
        "type": "Graph"
    }
}

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

(2)
Obligation:
Triples:

splitA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) :- splitA(X2, X4, X3, X6).
leF(s(X1), s(X2)) :- leF(X1, X2).
pD(X1, X2, X3, X4, X5, X6) :- leF(X1, X2).
pD(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) :- ','(lecF(X1, X2), pD(X3, X2, X4, X5, X6, X8)).
pD(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) :- ','(lecF(X1, X2), pE(X3, X2, X4, X5, X6, X8)).
gtG(s(X1), s(X2)) :- gtG(X1, X2).
pE(X1, X2, X3, X4, X5, X6) :- gtG(X1, X2).
pE(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) :- ','(gtcG(X1, X2), pD(X1, X4, X3, X5, X6, X8)).
pE(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) :- ','(gtcG(X1, X2), pE(X1, X4, X3, X5, X6, X8)).
mergesortB(.(X1, .(X2, X3)), X4, .(X5, .(X6, X7))) :- splitA(X3, X8, X9, X7).
mergesortB(.(X1, .(X2, X3)), X4, .(X5, X6)) :- ','(splitcC(X2, X3, X7, X8, X6), mergesortB(.(X1, X8), X9, X6)).
mergesortB(.(X1, .(X2, X3)), X4, .(X5, X6)) :- ','(splitcC(X2, X3, X7, X8, X6), ','(mergesortcB(.(X1, X8), X9, X6), mergesortB(X7, X10, X6))).
mergesortB(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) :- ','(splitcC(X2, X3, X8, X9, X7), ','(mergesortcB(.(X1, X9), .(X4, X10), X7), ','(mergesortcB(X8, .(X11, X12), X7), pD(X4, X11, X10, X12, X5, X7)))).
mergesortB(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) :- ','(splitcC(X2, X3, X8, X9, X7), ','(mergesortcB(.(X1, X9), .(X10, X11), X7), ','(mergesortcB(X8, .(X4, X12), X7), pE(X10, X4, X11, X12, X5, X7)))).

Clauses:

splitcA([], [], [], X1).
splitcA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) :- splitcA(X2, X4, X3, X6).
mergesortcB([], [], X1).
mergesortcB(.(X1, []), .(X1, []), X2).
mergesortcB(.(X1, .(X2, X3)), X4, .(X5, X6)) :- ','(splitcC(X2, X3, X7, X8, X6), ','(mergesortcB(.(X1, X8), [], X6), mergesortcB(X7, X4, X6))).
mergesortcB(.(X1, .(X2, X3)), X4, .(X5, X6)) :- ','(splitcC(X2, X3, X7, X8, X6), ','(mergesortcB(.(X1, X8), X4, X6), mergesortcB(X7, [], X6))).
mergesortcB(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) :- ','(splitcC(X2, X3, X8, X9, X7), ','(mergesortcB(.(X1, X9), .(X4, X10), X7), ','(mergesortcB(X8, .(X11, X12), X7), qcD(X4, X11, X10, X12, X5, X7)))).
mergesortcB(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) :- ','(splitcC(X2, X3, X8, X9, X7), ','(mergesortcB(.(X1, X9), .(X10, X11), X7), ','(mergesortcB(X8, .(X4, X12), X7), qcE(X10, X4, X11, X12, X5, X7)))).
lecF(s(X1), s(X2)) :- lecF(X1, X2).
lecF(0, s(0)).
lecF(0, 0).
qcD(X1, X2, [], X3, .(X2, X3), X4) :- lecF(X1, X2).
qcD(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) :- ','(lecF(X1, X2), qcD(X3, X2, X4, X5, X6, X8)).
qcD(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) :- ','(lecF(X1, X2), qcE(X3, X2, X4, X5, X6, X8)).
gtcG(s(X1), s(X2)) :- gtcG(X1, X2).
gtcG(s(0), 0).
qcE(X1, X2, X3, [], .(X1, X3), X4) :- gtcG(X1, X2).
qcE(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) :- ','(gtcG(X1, X2), qcD(X1, X4, X3, X5, X6, X8)).
qcE(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) :- ','(gtcG(X1, X2), qcE(X1, X4, X3, X5, X6, X8)).
splitcC(X1, X2, .(X1, X3), X4, .(X5, X6)) :- splitcA(X2, X4, X3, X6).

Afs:

mergesortB(x1, x2, x3)  =  mergesortB(x1)


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

(3) TriplesToPiDPProof (SOUND)
We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:

mergesortB_in_3: (b,f,f)

splitA_in_4: (b,f,f,f)

splitcC_in_5: (b,b,f,f,f)

splitcA_in_4: (b,f,f,f)

mergesortcB_in_3: (b,f,f) (b,b,f)

qcD_in_6: (b,b,b,b,f,f) (b,b,b,b,b,f)

lecF_in_2: (b,b)

qcE_in_6: (b,b,b,b,f,f) (b,b,b,b,b,f)

gtcG_in_2: (b,b)

pD_in_6: (b,b,b,b,f,f)

leF_in_2: (b,b)

pE_in_6: (b,b,b,b,f,f)

gtG_in_2: (b,b)

Transforming TRIPLES into the following Term Rewriting System:

Pi DP problem:
The TRS P consists of the following rules:

   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, .(X6, X7))) -> U14_GAA(X1, X2, X3, X4, X5, X6, X7, splitA_in_gaaa(X3, X8, X9, X7))
   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, .(X6, X7))) -> SPLITA_IN_GAAA(X3, X8, X9, X7)
   SPLITA_IN_GAAA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U1_GAAA(X1, X2, X3, X4, X5, X6, splitA_in_gaaa(X2, X4, X3, X6))
   SPLITA_IN_GAAA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> SPLITA_IN_GAAA(X2, X4, X3, X6)
   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U16_GAA(X1, X2, X3, X4, X5, X6, mergesortB_in_gaa(.(X1, X8), X9, X6))
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> MERGESORTB_IN_GAA(.(X1, X8), X9, X6)
   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U19_GAA(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U19_GAA(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U20_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U20_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U21_GAA(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U21_GAA(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U22_GAA(X1, X2, X3, X4, X5, X6, X7, pD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   U21_GAA(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> PD_IN_GGGGAA(X4, X11, X10, X12, X5, X7)
   PD_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> U3_GGGGAA(X1, X2, X3, X4, X5, X6, leF_in_gg(X1, X2))
   PD_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> LEF_IN_GG(X1, X2)
   LEF_IN_GG(s(X1), s(X2)) -> U2_GG(X1, X2, leF_in_gg(X1, X2))
   LEF_IN_GG(s(X1), s(X2)) -> LEF_IN_GG(X1, X2)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U5_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PD_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U7_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PE_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> U9_GGGGAA(X1, X2, X3, X4, X5, X6, gtG_in_gg(X1, X2))
   PE_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> GTG_IN_GG(X1, X2)
   GTG_IN_GG(s(X1), s(X2)) -> U8_GG(X1, X2, gtG_in_gg(X1, X2))
   GTG_IN_GG(s(X1), s(X2)) -> GTG_IN_GG(X1, X2)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U11_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PD_IN_GGGGAA(X1, X4, X3, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U13_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PE_IN_GGGGAA(X1, X4, X3, X5, X6, X8)
   U19_GAA(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U23_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U23_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U24_GAA(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U24_GAA(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U25_GAA(X1, X2, X3, X4, X5, X6, X7, pE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U24_GAA(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> PE_IN_GGGGAA(X10, X4, X11, X12, X5, X7)
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X9, X6))
   U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X9, X6)) -> U18_GAA(X1, X2, X3, X4, X5, X6, mergesortB_in_gaa(X7, X10, X6))
   U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X9, X6)) -> MERGESORTB_IN_GAA(X7, X10, X6)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
mergesortB_in_gaa(x1, x2, x3)  =  mergesortB_in_gaa(x1)

.(x1, x2)  =  .(x1, x2)

splitA_in_gaaa(x1, x2, x3, x4)  =  splitA_in_gaaa(x1)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

pD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pD_in_ggggaa(x1, x2, x3, x4)

leF_in_gg(x1, x2)  =  leF_in_gg(x1, x2)

pE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pE_in_ggggaa(x1, x2, x3, x4)

gtG_in_gg(x1, x2)  =  gtG_in_gg(x1, x2)

MERGESORTB_IN_GAA(x1, x2, x3)  =  MERGESORTB_IN_GAA(x1)

U14_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U14_GAA(x1, x2, x3, x8)

SPLITA_IN_GAAA(x1, x2, x3, x4)  =  SPLITA_IN_GAAA(x1)

U1_GAAA(x1, x2, x3, x4, x5, x6, x7)  =  U1_GAAA(x1, x2, x7)

U15_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U15_GAA(x1, x2, x3, x7)

U16_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GAA(x1, x2, x3, x7)

U19_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U19_GAA(x1, x2, x3, x8)

U20_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U20_GAA(x1, x2, x3, x8, x9)

U21_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U21_GAA(x1, x2, x3, x4, x8, x9)

U22_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_GAA(x1, x2, x3, x8)

PD_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PD_IN_GGGGAA(x1, x2, x3, x4)

U3_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U3_GGGGAA(x1, x2, x3, x4, x7)

LEF_IN_GG(x1, x2)  =  LEF_IN_GG(x1, x2)

U2_GG(x1, x2, x3)  =  U2_GG(x1, x2, x3)

U4_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GGGGAA(x1, x2, x3, x4, x5, x9)

U5_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U5_GGGGAA(x1, x2, x3, x4, x5, x9)

U6_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U6_GGGGAA(x1, x2, x3, x4, x5, x9)

U7_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U7_GGGGAA(x1, x2, x3, x4, x5, x9)

PE_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PE_IN_GGGGAA(x1, x2, x3, x4)

U9_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U9_GGGGAA(x1, x2, x3, x4, x7)

GTG_IN_GG(x1, x2)  =  GTG_IN_GG(x1, x2)

U8_GG(x1, x2, x3)  =  U8_GG(x1, x2, x3)

U10_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U10_GGGGAA(x1, x2, x3, x4, x5, x9)

U11_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U11_GGGGAA(x1, x2, x3, x4, x5, x9)

U12_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U12_GGGGAA(x1, x2, x3, x4, x5, x9)

U13_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U13_GGGGAA(x1, x2, x3, x4, x5, x9)

U23_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U23_GAA(x1, x2, x3, x8, x9)

U24_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U24_GAA(x1, x2, x3, x8, x9, x10)

U25_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U25_GAA(x1, x2, x3, x8)

U17_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U17_GAA(x1, x2, x3, x7, x8)

U18_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAA(x1, x2, x3, x7)


We have to consider all (P,R,Pi)-chains


Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES



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

(4)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, .(X6, X7))) -> U14_GAA(X1, X2, X3, X4, X5, X6, X7, splitA_in_gaaa(X3, X8, X9, X7))
   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, .(X6, X7))) -> SPLITA_IN_GAAA(X3, X8, X9, X7)
   SPLITA_IN_GAAA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U1_GAAA(X1, X2, X3, X4, X5, X6, splitA_in_gaaa(X2, X4, X3, X6))
   SPLITA_IN_GAAA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> SPLITA_IN_GAAA(X2, X4, X3, X6)
   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U16_GAA(X1, X2, X3, X4, X5, X6, mergesortB_in_gaa(.(X1, X8), X9, X6))
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> MERGESORTB_IN_GAA(.(X1, X8), X9, X6)
   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U19_GAA(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U19_GAA(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U20_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U20_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U21_GAA(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U21_GAA(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U22_GAA(X1, X2, X3, X4, X5, X6, X7, pD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   U21_GAA(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> PD_IN_GGGGAA(X4, X11, X10, X12, X5, X7)
   PD_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> U3_GGGGAA(X1, X2, X3, X4, X5, X6, leF_in_gg(X1, X2))
   PD_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> LEF_IN_GG(X1, X2)
   LEF_IN_GG(s(X1), s(X2)) -> U2_GG(X1, X2, leF_in_gg(X1, X2))
   LEF_IN_GG(s(X1), s(X2)) -> LEF_IN_GG(X1, X2)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U5_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PD_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U7_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PE_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> U9_GGGGAA(X1, X2, X3, X4, X5, X6, gtG_in_gg(X1, X2))
   PE_IN_GGGGAA(X1, X2, X3, X4, X5, X6) -> GTG_IN_GG(X1, X2)
   GTG_IN_GG(s(X1), s(X2)) -> U8_GG(X1, X2, gtG_in_gg(X1, X2))
   GTG_IN_GG(s(X1), s(X2)) -> GTG_IN_GG(X1, X2)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U11_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PD_IN_GGGGAA(X1, X4, X3, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U13_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, pE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PE_IN_GGGGAA(X1, X4, X3, X5, X6, X8)
   U19_GAA(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U23_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U23_GAA(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U24_GAA(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U24_GAA(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U25_GAA(X1, X2, X3, X4, X5, X6, X7, pE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U24_GAA(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> PE_IN_GGGGAA(X10, X4, X11, X12, X5, X7)
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X9, X6))
   U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X9, X6)) -> U18_GAA(X1, X2, X3, X4, X5, X6, mergesortB_in_gaa(X7, X10, X6))
   U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X9, X6)) -> MERGESORTB_IN_GAA(X7, X10, X6)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
mergesortB_in_gaa(x1, x2, x3)  =  mergesortB_in_gaa(x1)

.(x1, x2)  =  .(x1, x2)

splitA_in_gaaa(x1, x2, x3, x4)  =  splitA_in_gaaa(x1)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

pD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pD_in_ggggaa(x1, x2, x3, x4)

leF_in_gg(x1, x2)  =  leF_in_gg(x1, x2)

pE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pE_in_ggggaa(x1, x2, x3, x4)

gtG_in_gg(x1, x2)  =  gtG_in_gg(x1, x2)

MERGESORTB_IN_GAA(x1, x2, x3)  =  MERGESORTB_IN_GAA(x1)

U14_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U14_GAA(x1, x2, x3, x8)

SPLITA_IN_GAAA(x1, x2, x3, x4)  =  SPLITA_IN_GAAA(x1)

U1_GAAA(x1, x2, x3, x4, x5, x6, x7)  =  U1_GAAA(x1, x2, x7)

U15_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U15_GAA(x1, x2, x3, x7)

U16_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GAA(x1, x2, x3, x7)

U19_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U19_GAA(x1, x2, x3, x8)

U20_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U20_GAA(x1, x2, x3, x8, x9)

U21_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U21_GAA(x1, x2, x3, x4, x8, x9)

U22_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_GAA(x1, x2, x3, x8)

PD_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PD_IN_GGGGAA(x1, x2, x3, x4)

U3_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U3_GGGGAA(x1, x2, x3, x4, x7)

LEF_IN_GG(x1, x2)  =  LEF_IN_GG(x1, x2)

U2_GG(x1, x2, x3)  =  U2_GG(x1, x2, x3)

U4_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GGGGAA(x1, x2, x3, x4, x5, x9)

U5_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U5_GGGGAA(x1, x2, x3, x4, x5, x9)

U6_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U6_GGGGAA(x1, x2, x3, x4, x5, x9)

U7_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U7_GGGGAA(x1, x2, x3, x4, x5, x9)

PE_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PE_IN_GGGGAA(x1, x2, x3, x4)

U9_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U9_GGGGAA(x1, x2, x3, x4, x7)

GTG_IN_GG(x1, x2)  =  GTG_IN_GG(x1, x2)

U8_GG(x1, x2, x3)  =  U8_GG(x1, x2, x3)

U10_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U10_GGGGAA(x1, x2, x3, x4, x5, x9)

U11_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U11_GGGGAA(x1, x2, x3, x4, x5, x9)

U12_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U12_GGGGAA(x1, x2, x3, x4, x5, x9)

U13_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U13_GGGGAA(x1, x2, x3, x4, x5, x9)

U23_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U23_GAA(x1, x2, x3, x8, x9)

U24_GAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U24_GAA(x1, x2, x3, x8, x9, x10)

U25_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U25_GAA(x1, x2, x3, x8)

U17_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U17_GAA(x1, x2, x3, x7, x8)

U18_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAA(x1, x2, x3, x7)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(5) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 24 less nodes.
----------------------------------------

(6)
Complex Obligation (AND)

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

(7)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   GTG_IN_GG(s(X1), s(X2)) -> GTG_IN_GG(X1, X2)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

GTG_IN_GG(x1, x2)  =  GTG_IN_GG(x1, x2)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(8) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(9)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   GTG_IN_GG(s(X1), s(X2)) -> GTG_IN_GG(X1, X2)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains
----------------------------------------

(10) PiDPToQDPProof (EQUIVALENT)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

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

   GTG_IN_GG(s(X1), s(X2)) -> GTG_IN_GG(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
----------------------------------------

(12) 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:
*GTG_IN_GG(s(X1), s(X2)) -> GTG_IN_GG(X1, X2)
The graph contains the following edges 1 > 1, 2 > 2


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

(13)
YES

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

(14)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   LEF_IN_GG(s(X1), s(X2)) -> LEF_IN_GG(X1, X2)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

LEF_IN_GG(x1, x2)  =  LEF_IN_GG(x1, x2)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(15) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(16)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   LEF_IN_GG(s(X1), s(X2)) -> LEF_IN_GG(X1, X2)

R is empty.
Pi is empty.
We have to consider all (P,R,Pi)-chains
----------------------------------------

(17) PiDPToQDPProof (EQUIVALENT)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

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

   LEF_IN_GG(s(X1), s(X2)) -> LEF_IN_GG(X1, X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
----------------------------------------

(19) 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:
*LEF_IN_GG(s(X1), s(X2)) -> LEF_IN_GG(X1, X2)
The graph contains the following edges 1 > 1, 2 > 2


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

(20)
YES

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

(21)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PD_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PE_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PD_IN_GGGGAA(X1, X4, X3, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PE_IN_GGGGAA(X1, X4, X3, X5, X6, X8)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

PD_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PD_IN_GGGGAA(x1, x2, x3, x4)

U4_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GGGGAA(x1, x2, x3, x4, x5, x9)

U6_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U6_GGGGAA(x1, x2, x3, x4, x5, x9)

PE_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PE_IN_GGGGAA(x1, x2, x3, x4)

U10_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U10_GGGGAA(x1, x2, x3, x4, x5, x9)

U12_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U12_GGGGAA(x1, x2, x3, x4, x5, x9)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(22) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(23)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U4_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PD_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U6_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> PE_IN_GGGGAA(X3, X2, X4, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U10_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PD_IN_GGGGAA(X1, X4, X3, X5, X6, X8)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U12_GGGGAA(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> PE_IN_GGGGAA(X1, X4, X3, X5, X6, X8)

The TRS R consists of the following rules:

   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

PD_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PD_IN_GGGGAA(x1, x2, x3, x4)

U4_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GGGGAA(x1, x2, x3, x4, x5, x9)

U6_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U6_GGGGAA(x1, x2, x3, x4, x5, x9)

PE_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PE_IN_GGGGAA(x1, x2, x3, x4)

U10_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U10_GGGGAA(x1, x2, x3, x4, x5, x9)

U12_GGGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U12_GGGGAA(x1, x2, x3, x4, x5, x9)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(24) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

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

   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5) -> U4_GGGGAA(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U4_GGGGAA(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> PD_IN_GGGGAA(X3, X2, X4, X5)
   PD_IN_GGGGAA(X1, X2, .(X3, X4), X5) -> U6_GGGGAA(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U6_GGGGAA(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> PE_IN_GGGGAA(X3, X2, X4, X5)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5)) -> U10_GGGGAA(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U10_GGGGAA(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> PD_IN_GGGGAA(X1, X4, X3, X5)
   PE_IN_GGGGAA(X1, X2, X3, .(X4, X5)) -> U12_GGGGAA(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U12_GGGGAA(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> PE_IN_GGGGAA(X1, X4, X3, X5)

The TRS R consists of the following rules:

   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))

The set Q consists of the following terms:

   lecF_in_gg(x0, x1)
   gtcG_in_gg(x0, x1)
   U40_gg(x0, x1, x2)
   U46_gg(x0, x1, x2)

We have to consider all (P,Q,R)-chains.
----------------------------------------

(26) 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:
*U4_GGGGAA(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> PD_IN_GGGGAA(X3, X2, X4, X5)
The graph contains the following edges 3 >= 1, 2 >= 2, 6 > 2, 4 >= 3, 5 >= 4


*U10_GGGGAA(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> PD_IN_GGGGAA(X1, X4, X3, X5)
The graph contains the following edges 1 >= 1, 6 > 1, 4 >= 2, 3 >= 3, 5 >= 4


*PD_IN_GGGGAA(X1, X2, .(X3, X4), X5) -> U4_GGGGAA(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 4 >= 5


*PD_IN_GGGGAA(X1, X2, .(X3, X4), X5) -> U6_GGGGAA(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3, 3 > 4, 4 >= 5


*U6_GGGGAA(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> PE_IN_GGGGAA(X3, X2, X4, X5)
The graph contains the following edges 3 >= 1, 2 >= 2, 6 > 2, 4 >= 3, 5 >= 4


*U12_GGGGAA(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> PE_IN_GGGGAA(X1, X4, X3, X5)
The graph contains the following edges 1 >= 1, 6 > 1, 4 >= 2, 3 >= 3, 5 >= 4


*PE_IN_GGGGAA(X1, X2, X3, .(X4, X5)) -> U10_GGGGAA(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 4 > 5


*PE_IN_GGGGAA(X1, X2, X3, .(X4, X5)) -> U12_GGGGAA(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 > 4, 4 > 5


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

(27)
YES

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

(28)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   SPLITA_IN_GAAA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> SPLITA_IN_GAAA(X2, X4, X3, X6)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

SPLITA_IN_GAAA(x1, x2, x3, x4)  =  SPLITA_IN_GAAA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(29) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(30)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   SPLITA_IN_GAAA(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> SPLITA_IN_GAAA(X2, X4, X3, X6)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

SPLITA_IN_GAAA(x1, x2, x3, x4)  =  SPLITA_IN_GAAA(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(31) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

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

   SPLITA_IN_GAAA(.(X1, X2)) -> SPLITA_IN_GAAA(X2)

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
----------------------------------------

(33) 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:
*SPLITA_IN_GAAA(.(X1, X2)) -> SPLITA_IN_GAAA(X2)
The graph contains the following edges 1 > 1


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

(34)
YES

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

(35)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   MERGESORTB_IN_GAA(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> MERGESORTB_IN_GAA(.(X1, X8), X9, X6)
   U15_GAA(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X9, X6))
   U17_GAA(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X9, X6)) -> MERGESORTB_IN_GAA(X7, X10, X6)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6)) -> U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   splitcA_in_gaaa([], [], [], X1) -> splitcA_out_gaaa([], [], [], X1)
   splitcA_in_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6)) -> U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_in_gaaa(X2, X4, X3, X6))
   U27_gaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4, .(X5, X6))
   U52_ggaaa(X1, X2, X3, X4, X5, X6, splitcA_out_gaaa(X2, X4, X3, X6)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4, .(X5, X6))
   mergesortcB_in_gaa([], [], X1) -> mergesortcB_out_gaa([], [], X1)
   mergesortcB_in_gaa(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gaa(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gaa(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga([], [], X1) -> mergesortcB_out_gga([], [], X1)
   mergesortcB_in_gga(.(X1, []), .(X1, []), X2) -> mergesortcB_out_gga(.(X1, []), .(X1, []), X2)
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4, .(X5, X6)) -> U28_gga(X1, X2, X3, X4, X5, X6, splitcC_in_ggaaa(X2, X3, X7, X8, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), [], X6))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   mergesortcB_in_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7)) -> U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_in_ggaaa(X2, X3, X8, X9, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X4, X10), X7))
   U34_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gaa(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggaa(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggaa(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggaa(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggaa(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggaa(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U49_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggaa(X1, X4, X3, X5, X6, X8))
   U51_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggaa(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggaa(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gaa(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggaa(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gaa(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gaa(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gaa(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggaa(X10, X4, X11, X12, X5, X7))
   U39_gaa(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggaa(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U34_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10), X7)) -> U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_in_gaa(X8, .(X11, X12), X7))
   U35_gga(X1, X2, X3, X4, X5, X6, X7, X10, mergesortcB_out_gaa(X8, .(X11, X12), X7)) -> U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_in_ggggga(X4, X11, X10, X12, X5, X7))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3), X4) -> U41_ggggga(X1, X2, X3, X4, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, X4, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3), X4)
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X3, X2, X4, X5, X6, X8))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3), X4) -> U47_ggggga(X1, X2, X3, X4, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, X4, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3), X4)
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_in_ggggga(X1, X4, X3, X5, X6, X8))
   U49_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6), .(X7, X8))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_in_ggggga(X1, X4, X3, X5, X6, X8))
   U51_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X1, X4, X3, X5, X6, X8)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6), .(X7, X8))
   U45_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcE_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6), .(X7, X8))
   U43_ggggga(X1, X2, X3, X4, X5, X6, X7, X8, qcD_out_ggggga(X3, X2, X4, X5, X6, X8)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6), .(X7, X8))
   U36_gga(X1, X2, X3, X4, X5, X6, X7, qcD_out_ggggga(X4, X11, X10, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U33_gga(X1, X2, X3, X4, X5, X6, X7, splitcC_out_ggaaa(X2, X3, X8, X9, X7)) -> U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_in_gaa(.(X1, X9), .(X10, X11), X7))
   U37_gga(X1, X2, X3, X4, X5, X6, X7, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11), X7)) -> U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_in_gaa(X8, .(X4, X12), X7))
   U38_gga(X1, X2, X3, X4, X5, X6, X7, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12), X7)) -> U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_in_ggggga(X10, X4, X11, X12, X5, X7))
   U39_gga(X1, X2, X3, X4, X5, X6, X7, qcE_out_ggggga(X10, X4, X11, X12, X5, X7)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5), .(X6, X7))
   U29_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, X4, X6))
   U30_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, X4, X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gga(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gga(.(X1, X8), X4, X6))
   U31_gga(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), X4, X6)) -> U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gga(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4, .(X5, X6))
   U29_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gga(.(X1, X8), [], X6)) -> U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gaa(X7, X4, X6))
   U30_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gaa(X7, X4, X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))
   U28_gaa(X1, X2, X3, X4, X5, X6, splitcC_out_ggaaa(X2, X3, X7, X8, X6)) -> U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_in_gaa(.(X1, X8), X4, X6))
   U31_gaa(X1, X2, X3, X4, X5, X6, X7, mergesortcB_out_gaa(.(X1, X8), X4, X6)) -> U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_in_gga(X7, [], X6))
   U32_gaa(X1, X2, X3, X4, X5, X6, mergesortcB_out_gga(X7, [], X6)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4, .(X5, X6))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

splitcC_in_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_in_ggaaa(x1, x2)

U52_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U52_ggaaa(x1, x2, x7)

splitcA_in_gaaa(x1, x2, x3, x4)  =  splitcA_in_gaaa(x1)

[]  =  []

splitcA_out_gaaa(x1, x2, x3, x4)  =  splitcA_out_gaaa(x1, x2, x3)

U27_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_gaaa(x1, x2, x7)

splitcC_out_ggaaa(x1, x2, x3, x4, x5)  =  splitcC_out_ggaaa(x1, x2, x3, x4)

mergesortcB_in_gaa(x1, x2, x3)  =  mergesortcB_in_gaa(x1)

mergesortcB_out_gaa(x1, x2, x3)  =  mergesortcB_out_gaa(x1, x2)

U28_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_gaa(x1, x2, x3, x7)

U29_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaa(x1, x2, x3, x7, x8)

mergesortcB_in_gga(x1, x2, x3)  =  mergesortcB_in_gga(x1, x2)

mergesortcB_out_gga(x1, x2, x3)  =  mergesortcB_out_gga(x1, x2)

U28_gga(x1, x2, x3, x4, x5, x6, x7)  =  U28_gga(x1, x2, x3, x4, x7)

U29_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gga(x1, x2, x3, x4, x7, x8)

U33_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gga(x1, x2, x3, x4, x5, x8)

U34_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gga(x1, x2, x3, x4, x5, x8, x9)

U33_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U33_gaa(x1, x2, x3, x8)

U34_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U34_gaa(x1, x2, x3, x8, x9)

U35_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gaa(x1, x2, x3, x4, x8, x9)

U36_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gaa(x1, x2, x3, x4, x8)

qcD_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggaa(x1, x2, x3, x4)

U41_ggggaa(x1, x2, x3, x4, x5)  =  U41_ggggaa(x1, x2, x3, x5)

lecF_in_gg(x1, x2)  =  lecF_in_gg(x1, x2)

s(x1)  =  s(x1)

U40_gg(x1, x2, x3)  =  U40_gg(x1, x2, x3)

0  =  0

lecF_out_gg(x1, x2)  =  lecF_out_gg(x1, x2)

qcD_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggaa(x1, x2, x3, x4, x5)

U42_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggaa(x1, x2, x3, x4, x5, x9)

U43_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggaa(x1, x2, x3, x4, x5, x9)

U44_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggaa(x1, x2, x3, x4, x5, x9)

U45_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggaa(x1, x2, x3, x4, x5, x9)

qcE_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggaa(x1, x2, x3, x4)

U47_ggggaa(x1, x2, x3, x4, x5)  =  U47_ggggaa(x1, x2, x3, x5)

gtcG_in_gg(x1, x2)  =  gtcG_in_gg(x1, x2)

U46_gg(x1, x2, x3)  =  U46_gg(x1, x2, x3)

gtcG_out_gg(x1, x2)  =  gtcG_out_gg(x1, x2)

qcE_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggaa(x1, x2, x3, x4, x5)

U48_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggaa(x1, x2, x3, x4, x5, x9)

U49_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggaa(x1, x2, x3, x4, x5, x9)

U50_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggaa(x1, x2, x3, x4, x5, x9)

U51_ggggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggaa(x1, x2, x3, x4, x5, x9)

U37_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gaa(x1, x2, x3, x8, x9)

U38_gaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gaa(x1, x2, x3, x8, x9, x10)

U39_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gaa(x1, x2, x3, x4, x8)

U35_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U35_gga(x1, x2, x3, x4, x5, x8, x9)

U36_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U36_gga(x1, x2, x3, x4, x5, x8)

qcD_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_in_ggggga(x1, x2, x3, x4, x5)

U41_ggggga(x1, x2, x3, x4, x5)  =  U41_ggggga(x1, x2, x3, x5)

qcD_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcD_out_ggggga(x1, x2, x3, x4, x5)

U42_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U42_ggggga(x1, x2, x3, x4, x5, x6, x9)

U43_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U43_ggggga(x1, x2, x3, x4, x5, x6, x9)

U44_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U44_ggggga(x1, x2, x3, x4, x5, x6, x9)

U45_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U45_ggggga(x1, x2, x3, x4, x5, x6, x9)

qcE_in_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_in_ggggga(x1, x2, x3, x4, x5)

U47_ggggga(x1, x2, x3, x4, x5)  =  U47_ggggga(x1, x2, x3, x5)

qcE_out_ggggga(x1, x2, x3, x4, x5, x6)  =  qcE_out_ggggga(x1, x2, x3, x4, x5)

U48_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U48_ggggga(x1, x2, x3, x4, x5, x6, x9)

U49_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U49_ggggga(x1, x2, x3, x4, x5, x6, x9)

U50_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U50_ggggga(x1, x2, x3, x4, x5, x6, x9)

U51_ggggga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U51_ggggga(x1, x2, x3, x4, x5, x6, x9)

U37_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U37_gga(x1, x2, x3, x4, x5, x8, x9)

U38_gga(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U38_gga(x1, x2, x3, x4, x5, x8, x9, x10)

U39_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U39_gga(x1, x2, x3, x4, x5, x8)

U30_gga(x1, x2, x3, x4, x5, x6, x7)  =  U30_gga(x1, x2, x3, x4, x7)

U31_gga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gga(x1, x2, x3, x4, x7, x8)

U32_gga(x1, x2, x3, x4, x5, x6, x7)  =  U32_gga(x1, x2, x3, x4, x7)

U30_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U30_gaa(x1, x2, x3, x7)

U31_gaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U31_gaa(x1, x2, x3, x7, x8)

U32_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U32_gaa(x1, x2, x3, x4, x7)

MERGESORTB_IN_GAA(x1, x2, x3)  =  MERGESORTB_IN_GAA(x1)

U15_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U15_GAA(x1, x2, x3, x7)

U17_GAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U17_GAA(x1, x2, x3, x7, x8)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(36) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

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

   MERGESORTB_IN_GAA(.(X1, .(X2, X3))) -> U15_GAA(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U15_GAA(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> MERGESORTB_IN_GAA(.(X1, X8))
   U15_GAA(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U17_GAA(X1, X2, X3, X7, mergesortcB_in_gaa(.(X1, X8)))
   U17_GAA(X1, X2, X3, X7, mergesortcB_out_gaa(.(X1, X8), X9)) -> MERGESORTB_IN_GAA(X7)

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2) -> U52_ggaaa(X1, X2, splitcA_in_gaaa(X2))
   splitcA_in_gaaa([]) -> splitcA_out_gaaa([], [], [])
   splitcA_in_gaaa(.(X1, X2)) -> U27_gaaa(X1, X2, splitcA_in_gaaa(X2))
   U27_gaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4)
   U52_ggaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4)
   mergesortcB_in_gaa([]) -> mergesortcB_out_gaa([], [])
   mergesortcB_in_gaa(.(X1, [])) -> mergesortcB_out_gaa(.(X1, []), .(X1, []))
   mergesortcB_in_gaa(.(X1, .(X2, X3))) -> U28_gaa(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U28_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U29_gaa(X1, X2, X3, X7, mergesortcB_in_gga(.(X1, X8), []))
   mergesortcB_in_gga([], []) -> mergesortcB_out_gga([], [])
   mergesortcB_in_gga(.(X1, []), .(X1, [])) -> mergesortcB_out_gga(.(X1, []), .(X1, []))
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4) -> U28_gga(X1, X2, X3, X4, splitcC_in_ggaaa(X2, X3))
   U28_gga(X1, X2, X3, X4, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U29_gga(X1, X2, X3, X4, X7, mergesortcB_in_gga(.(X1, X8), []))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5)) -> U33_gga(X1, X2, X3, X4, X5, splitcC_in_ggaaa(X2, X3))
   U33_gga(X1, X2, X3, X4, X5, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U34_gga(X1, X2, X3, X4, X5, X8, mergesortcB_in_gaa(.(X1, X9)))
   mergesortcB_in_gaa(.(X1, .(X2, X3))) -> U33_gaa(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U33_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U34_gaa(X1, X2, X3, X8, mergesortcB_in_gaa(.(X1, X9)))
   U34_gaa(X1, X2, X3, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10))) -> U35_gaa(X1, X2, X3, X4, X10, mergesortcB_in_gaa(X8))
   U35_gaa(X1, X2, X3, X4, X10, mergesortcB_out_gaa(X8, .(X11, X12))) -> U36_gaa(X1, X2, X3, X4, qcD_in_ggggaa(X4, X11, X10, X12))
   qcD_in_ggggaa(X1, X2, [], X3) -> U41_ggggaa(X1, X2, X3, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5) -> U42_ggggaa(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, qcD_in_ggggaa(X3, X2, X4, X5))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5) -> U44_ggggaa(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, qcE_in_ggggaa(X3, X2, X4, X5))
   qcE_in_ggggaa(X1, X2, X3, []) -> U47_ggggaa(X1, X2, X3, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5)) -> U48_ggggaa(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, qcD_in_ggggaa(X1, X4, X3, X5))
   U49_ggggaa(X1, X2, X3, X4, X5, qcD_out_ggggaa(X1, X4, X3, X5, X6)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5)) -> U50_ggggaa(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, qcE_in_ggggaa(X1, X4, X3, X5))
   U51_ggggaa(X1, X2, X3, X4, X5, qcE_out_ggggaa(X1, X4, X3, X5, X6)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6))
   U45_ggggaa(X1, X2, X3, X4, X5, qcE_out_ggggaa(X3, X2, X4, X5, X6)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6))
   U43_ggggaa(X1, X2, X3, X4, X5, qcD_out_ggggaa(X3, X2, X4, X5, X6)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6))
   U36_gaa(X1, X2, X3, X4, qcD_out_ggggaa(X4, X11, X10, X12, X5)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5))
   U33_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U37_gaa(X1, X2, X3, X8, mergesortcB_in_gaa(.(X1, X9)))
   U37_gaa(X1, X2, X3, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11))) -> U38_gaa(X1, X2, X3, X10, X11, mergesortcB_in_gaa(X8))
   U38_gaa(X1, X2, X3, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12))) -> U39_gaa(X1, X2, X3, X4, qcE_in_ggggaa(X10, X4, X11, X12))
   U39_gaa(X1, X2, X3, X4, qcE_out_ggggaa(X10, X4, X11, X12, X5)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5))
   U34_gga(X1, X2, X3, X4, X5, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10))) -> U35_gga(X1, X2, X3, X4, X5, X10, mergesortcB_in_gaa(X8))
   U35_gga(X1, X2, X3, X4, X5, X10, mergesortcB_out_gaa(X8, .(X11, X12))) -> U36_gga(X1, X2, X3, X4, X5, qcD_in_ggggga(X4, X11, X10, X12, X5))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3)) -> U41_ggggga(X1, X2, X3, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, qcD_in_ggggga(X3, X2, X4, X5, X6))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, qcE_in_ggggga(X3, X2, X4, X5, X6))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3)) -> U47_ggggga(X1, X2, X3, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, qcD_in_ggggga(X1, X4, X3, X5, X6))
   U49_ggggga(X1, X2, X3, X4, X5, X6, qcD_out_ggggga(X1, X4, X3, X5, X6)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, qcE_in_ggggga(X1, X4, X3, X5, X6))
   U51_ggggga(X1, X2, X3, X4, X5, X6, qcE_out_ggggga(X1, X4, X3, X5, X6)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6))
   U45_ggggga(X1, X2, X3, X4, X5, X6, qcE_out_ggggga(X3, X2, X4, X5, X6)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6))
   U43_ggggga(X1, X2, X3, X4, X5, X6, qcD_out_ggggga(X3, X2, X4, X5, X6)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6))
   U36_gga(X1, X2, X3, X4, X5, qcD_out_ggggga(X4, X11, X10, X12, X5)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5))
   U33_gga(X1, X2, X3, X4, X5, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U37_gga(X1, X2, X3, X4, X5, X8, mergesortcB_in_gaa(.(X1, X9)))
   U37_gga(X1, X2, X3, X4, X5, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11))) -> U38_gga(X1, X2, X3, X4, X5, X10, X11, mergesortcB_in_gaa(X8))
   U38_gga(X1, X2, X3, X4, X5, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12))) -> U39_gga(X1, X2, X3, X4, X5, qcE_in_ggggga(X10, X4, X11, X12, X5))
   U39_gga(X1, X2, X3, X4, X5, qcE_out_ggggga(X10, X4, X11, X12, X5)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5))
   U29_gga(X1, X2, X3, X4, X7, mergesortcB_out_gga(.(X1, X8), [])) -> U30_gga(X1, X2, X3, X4, mergesortcB_in_gga(X7, X4))
   U30_gga(X1, X2, X3, X4, mergesortcB_out_gga(X7, X4)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4)
   U28_gga(X1, X2, X3, X4, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U31_gga(X1, X2, X3, X4, X7, mergesortcB_in_gga(.(X1, X8), X4))
   U31_gga(X1, X2, X3, X4, X7, mergesortcB_out_gga(.(X1, X8), X4)) -> U32_gga(X1, X2, X3, X4, mergesortcB_in_gga(X7, []))
   U32_gga(X1, X2, X3, X4, mergesortcB_out_gga(X7, [])) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4)
   U29_gaa(X1, X2, X3, X7, mergesortcB_out_gga(.(X1, X8), [])) -> U30_gaa(X1, X2, X3, mergesortcB_in_gaa(X7))
   U30_gaa(X1, X2, X3, mergesortcB_out_gaa(X7, X4)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4)
   U28_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U31_gaa(X1, X2, X3, X7, mergesortcB_in_gaa(.(X1, X8)))
   U31_gaa(X1, X2, X3, X7, mergesortcB_out_gaa(.(X1, X8), X4)) -> U32_gaa(X1, X2, X3, X4, mergesortcB_in_gga(X7, []))
   U32_gaa(X1, X2, X3, X4, mergesortcB_out_gga(X7, [])) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4)

The set Q consists of the following terms:

   splitcC_in_ggaaa(x0, x1)
   splitcA_in_gaaa(x0)
   U27_gaaa(x0, x1, x2)
   U52_ggaaa(x0, x1, x2)
   mergesortcB_in_gaa(x0)
   U28_gaa(x0, x1, x2, x3)
   mergesortcB_in_gga(x0, x1)
   U28_gga(x0, x1, x2, x3, x4)
   U33_gga(x0, x1, x2, x3, x4, x5)
   U33_gaa(x0, x1, x2, x3)
   U34_gaa(x0, x1, x2, x3, x4)
   U35_gaa(x0, x1, x2, x3, x4, x5)
   qcD_in_ggggaa(x0, x1, x2, x3)
   lecF_in_gg(x0, x1)
   U40_gg(x0, x1, x2)
   U41_ggggaa(x0, x1, x2, x3)
   U42_ggggaa(x0, x1, x2, x3, x4, x5)
   U44_ggggaa(x0, x1, x2, x3, x4, x5)
   qcE_in_ggggaa(x0, x1, x2, x3)
   gtcG_in_gg(x0, x1)
   U46_gg(x0, x1, x2)
   U47_ggggaa(x0, x1, x2, x3)
   U48_ggggaa(x0, x1, x2, x3, x4, x5)
   U49_ggggaa(x0, x1, x2, x3, x4, x5)
   U50_ggggaa(x0, x1, x2, x3, x4, x5)
   U51_ggggaa(x0, x1, x2, x3, x4, x5)
   U45_ggggaa(x0, x1, x2, x3, x4, x5)
   U43_ggggaa(x0, x1, x2, x3, x4, x5)
   U36_gaa(x0, x1, x2, x3, x4)
   U37_gaa(x0, x1, x2, x3, x4)
   U38_gaa(x0, x1, x2, x3, x4, x5)
   U39_gaa(x0, x1, x2, x3, x4)
   U34_gga(x0, x1, x2, x3, x4, x5, x6)
   U35_gga(x0, x1, x2, x3, x4, x5, x6)
   qcD_in_ggggga(x0, x1, x2, x3, x4)
   U41_ggggga(x0, x1, x2, x3)
   U42_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U44_ggggga(x0, x1, x2, x3, x4, x5, x6)
   qcE_in_ggggga(x0, x1, x2, x3, x4)
   U47_ggggga(x0, x1, x2, x3)
   U48_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U49_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U50_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U51_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U45_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U43_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U36_gga(x0, x1, x2, x3, x4, x5)
   U37_gga(x0, x1, x2, x3, x4, x5, x6)
   U38_gga(x0, x1, x2, x3, x4, x5, x6, x7)
   U39_gga(x0, x1, x2, x3, x4, x5)
   U29_gga(x0, x1, x2, x3, x4, x5)
   U30_gga(x0, x1, x2, x3, x4)
   U31_gga(x0, x1, x2, x3, x4, x5)
   U32_gga(x0, x1, x2, x3, x4)
   U29_gaa(x0, x1, x2, x3, x4)
   U30_gaa(x0, x1, x2, x3)
   U31_gaa(x0, x1, x2, x3, x4)
   U32_gaa(x0, x1, x2, x3, x4)

We have to consider all (P,Q,R)-chains.
----------------------------------------

(38) TransformationProof (EQUIVALENT)
By rewriting [LPAR04] the rule MERGESORTB_IN_GAA(.(X1, .(X2, X3))) -> U15_GAA(X1, X2, X3, splitcC_in_ggaaa(X2, X3)) at position [3] we obtained the following new rules [LPAR04]:

   (MERGESORTB_IN_GAA(.(X1, .(X2, X3))) -> U15_GAA(X1, X2, X3, U52_ggaaa(X2, X3, splitcA_in_gaaa(X3))),MERGESORTB_IN_GAA(.(X1, .(X2, X3))) -> U15_GAA(X1, X2, X3, U52_ggaaa(X2, X3, splitcA_in_gaaa(X3))))


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

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

   U15_GAA(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> MERGESORTB_IN_GAA(.(X1, X8))
   U15_GAA(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U17_GAA(X1, X2, X3, X7, mergesortcB_in_gaa(.(X1, X8)))
   U17_GAA(X1, X2, X3, X7, mergesortcB_out_gaa(.(X1, X8), X9)) -> MERGESORTB_IN_GAA(X7)
   MERGESORTB_IN_GAA(.(X1, .(X2, X3))) -> U15_GAA(X1, X2, X3, U52_ggaaa(X2, X3, splitcA_in_gaaa(X3)))

The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2) -> U52_ggaaa(X1, X2, splitcA_in_gaaa(X2))
   splitcA_in_gaaa([]) -> splitcA_out_gaaa([], [], [])
   splitcA_in_gaaa(.(X1, X2)) -> U27_gaaa(X1, X2, splitcA_in_gaaa(X2))
   U27_gaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4)
   U52_ggaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4)
   mergesortcB_in_gaa([]) -> mergesortcB_out_gaa([], [])
   mergesortcB_in_gaa(.(X1, [])) -> mergesortcB_out_gaa(.(X1, []), .(X1, []))
   mergesortcB_in_gaa(.(X1, .(X2, X3))) -> U28_gaa(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U28_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U29_gaa(X1, X2, X3, X7, mergesortcB_in_gga(.(X1, X8), []))
   mergesortcB_in_gga([], []) -> mergesortcB_out_gga([], [])
   mergesortcB_in_gga(.(X1, []), .(X1, [])) -> mergesortcB_out_gga(.(X1, []), .(X1, []))
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4) -> U28_gga(X1, X2, X3, X4, splitcC_in_ggaaa(X2, X3))
   U28_gga(X1, X2, X3, X4, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U29_gga(X1, X2, X3, X4, X7, mergesortcB_in_gga(.(X1, X8), []))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5)) -> U33_gga(X1, X2, X3, X4, X5, splitcC_in_ggaaa(X2, X3))
   U33_gga(X1, X2, X3, X4, X5, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U34_gga(X1, X2, X3, X4, X5, X8, mergesortcB_in_gaa(.(X1, X9)))
   mergesortcB_in_gaa(.(X1, .(X2, X3))) -> U33_gaa(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U33_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U34_gaa(X1, X2, X3, X8, mergesortcB_in_gaa(.(X1, X9)))
   U34_gaa(X1, X2, X3, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10))) -> U35_gaa(X1, X2, X3, X4, X10, mergesortcB_in_gaa(X8))
   U35_gaa(X1, X2, X3, X4, X10, mergesortcB_out_gaa(X8, .(X11, X12))) -> U36_gaa(X1, X2, X3, X4, qcD_in_ggggaa(X4, X11, X10, X12))
   qcD_in_ggggaa(X1, X2, [], X3) -> U41_ggggaa(X1, X2, X3, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5) -> U42_ggggaa(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, qcD_in_ggggaa(X3, X2, X4, X5))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5) -> U44_ggggaa(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, qcE_in_ggggaa(X3, X2, X4, X5))
   qcE_in_ggggaa(X1, X2, X3, []) -> U47_ggggaa(X1, X2, X3, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5)) -> U48_ggggaa(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, qcD_in_ggggaa(X1, X4, X3, X5))
   U49_ggggaa(X1, X2, X3, X4, X5, qcD_out_ggggaa(X1, X4, X3, X5, X6)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5)) -> U50_ggggaa(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, qcE_in_ggggaa(X1, X4, X3, X5))
   U51_ggggaa(X1, X2, X3, X4, X5, qcE_out_ggggaa(X1, X4, X3, X5, X6)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6))
   U45_ggggaa(X1, X2, X3, X4, X5, qcE_out_ggggaa(X3, X2, X4, X5, X6)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6))
   U43_ggggaa(X1, X2, X3, X4, X5, qcD_out_ggggaa(X3, X2, X4, X5, X6)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6))
   U36_gaa(X1, X2, X3, X4, qcD_out_ggggaa(X4, X11, X10, X12, X5)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5))
   U33_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U37_gaa(X1, X2, X3, X8, mergesortcB_in_gaa(.(X1, X9)))
   U37_gaa(X1, X2, X3, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11))) -> U38_gaa(X1, X2, X3, X10, X11, mergesortcB_in_gaa(X8))
   U38_gaa(X1, X2, X3, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12))) -> U39_gaa(X1, X2, X3, X4, qcE_in_ggggaa(X10, X4, X11, X12))
   U39_gaa(X1, X2, X3, X4, qcE_out_ggggaa(X10, X4, X11, X12, X5)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5))
   U34_gga(X1, X2, X3, X4, X5, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10))) -> U35_gga(X1, X2, X3, X4, X5, X10, mergesortcB_in_gaa(X8))
   U35_gga(X1, X2, X3, X4, X5, X10, mergesortcB_out_gaa(X8, .(X11, X12))) -> U36_gga(X1, X2, X3, X4, X5, qcD_in_ggggga(X4, X11, X10, X12, X5))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3)) -> U41_ggggga(X1, X2, X3, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, qcD_in_ggggga(X3, X2, X4, X5, X6))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, qcE_in_ggggga(X3, X2, X4, X5, X6))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3)) -> U47_ggggga(X1, X2, X3, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, qcD_in_ggggga(X1, X4, X3, X5, X6))
   U49_ggggga(X1, X2, X3, X4, X5, X6, qcD_out_ggggga(X1, X4, X3, X5, X6)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, qcE_in_ggggga(X1, X4, X3, X5, X6))
   U51_ggggga(X1, X2, X3, X4, X5, X6, qcE_out_ggggga(X1, X4, X3, X5, X6)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6))
   U45_ggggga(X1, X2, X3, X4, X5, X6, qcE_out_ggggga(X3, X2, X4, X5, X6)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6))
   U43_ggggga(X1, X2, X3, X4, X5, X6, qcD_out_ggggga(X3, X2, X4, X5, X6)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6))
   U36_gga(X1, X2, X3, X4, X5, qcD_out_ggggga(X4, X11, X10, X12, X5)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5))
   U33_gga(X1, X2, X3, X4, X5, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U37_gga(X1, X2, X3, X4, X5, X8, mergesortcB_in_gaa(.(X1, X9)))
   U37_gga(X1, X2, X3, X4, X5, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11))) -> U38_gga(X1, X2, X3, X4, X5, X10, X11, mergesortcB_in_gaa(X8))
   U38_gga(X1, X2, X3, X4, X5, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12))) -> U39_gga(X1, X2, X3, X4, X5, qcE_in_ggggga(X10, X4, X11, X12, X5))
   U39_gga(X1, X2, X3, X4, X5, qcE_out_ggggga(X10, X4, X11, X12, X5)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5))
   U29_gga(X1, X2, X3, X4, X7, mergesortcB_out_gga(.(X1, X8), [])) -> U30_gga(X1, X2, X3, X4, mergesortcB_in_gga(X7, X4))
   U30_gga(X1, X2, X3, X4, mergesortcB_out_gga(X7, X4)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4)
   U28_gga(X1, X2, X3, X4, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U31_gga(X1, X2, X3, X4, X7, mergesortcB_in_gga(.(X1, X8), X4))
   U31_gga(X1, X2, X3, X4, X7, mergesortcB_out_gga(.(X1, X8), X4)) -> U32_gga(X1, X2, X3, X4, mergesortcB_in_gga(X7, []))
   U32_gga(X1, X2, X3, X4, mergesortcB_out_gga(X7, [])) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4)
   U29_gaa(X1, X2, X3, X7, mergesortcB_out_gga(.(X1, X8), [])) -> U30_gaa(X1, X2, X3, mergesortcB_in_gaa(X7))
   U30_gaa(X1, X2, X3, mergesortcB_out_gaa(X7, X4)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4)
   U28_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U31_gaa(X1, X2, X3, X7, mergesortcB_in_gaa(.(X1, X8)))
   U31_gaa(X1, X2, X3, X7, mergesortcB_out_gaa(.(X1, X8), X4)) -> U32_gaa(X1, X2, X3, X4, mergesortcB_in_gga(X7, []))
   U32_gaa(X1, X2, X3, X4, mergesortcB_out_gga(X7, [])) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4)

The set Q consists of the following terms:

   splitcC_in_ggaaa(x0, x1)
   splitcA_in_gaaa(x0)
   U27_gaaa(x0, x1, x2)
   U52_ggaaa(x0, x1, x2)
   mergesortcB_in_gaa(x0)
   U28_gaa(x0, x1, x2, x3)
   mergesortcB_in_gga(x0, x1)
   U28_gga(x0, x1, x2, x3, x4)
   U33_gga(x0, x1, x2, x3, x4, x5)
   U33_gaa(x0, x1, x2, x3)
   U34_gaa(x0, x1, x2, x3, x4)
   U35_gaa(x0, x1, x2, x3, x4, x5)
   qcD_in_ggggaa(x0, x1, x2, x3)
   lecF_in_gg(x0, x1)
   U40_gg(x0, x1, x2)
   U41_ggggaa(x0, x1, x2, x3)
   U42_ggggaa(x0, x1, x2, x3, x4, x5)
   U44_ggggaa(x0, x1, x2, x3, x4, x5)
   qcE_in_ggggaa(x0, x1, x2, x3)
   gtcG_in_gg(x0, x1)
   U46_gg(x0, x1, x2)
   U47_ggggaa(x0, x1, x2, x3)
   U48_ggggaa(x0, x1, x2, x3, x4, x5)
   U49_ggggaa(x0, x1, x2, x3, x4, x5)
   U50_ggggaa(x0, x1, x2, x3, x4, x5)
   U51_ggggaa(x0, x1, x2, x3, x4, x5)
   U45_ggggaa(x0, x1, x2, x3, x4, x5)
   U43_ggggaa(x0, x1, x2, x3, x4, x5)
   U36_gaa(x0, x1, x2, x3, x4)
   U37_gaa(x0, x1, x2, x3, x4)
   U38_gaa(x0, x1, x2, x3, x4, x5)
   U39_gaa(x0, x1, x2, x3, x4)
   U34_gga(x0, x1, x2, x3, x4, x5, x6)
   U35_gga(x0, x1, x2, x3, x4, x5, x6)
   qcD_in_ggggga(x0, x1, x2, x3, x4)
   U41_ggggga(x0, x1, x2, x3)
   U42_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U44_ggggga(x0, x1, x2, x3, x4, x5, x6)
   qcE_in_ggggga(x0, x1, x2, x3, x4)
   U47_ggggga(x0, x1, x2, x3)
   U48_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U49_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U50_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U51_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U45_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U43_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U36_gga(x0, x1, x2, x3, x4, x5)
   U37_gga(x0, x1, x2, x3, x4, x5, x6)
   U38_gga(x0, x1, x2, x3, x4, x5, x6, x7)
   U39_gga(x0, x1, x2, x3, x4, x5)
   U29_gga(x0, x1, x2, x3, x4, x5)
   U30_gga(x0, x1, x2, x3, x4)
   U31_gga(x0, x1, x2, x3, x4, x5)
   U32_gga(x0, x1, x2, x3, x4)
   U29_gaa(x0, x1, x2, x3, x4)
   U30_gaa(x0, x1, x2, x3)
   U31_gaa(x0, x1, x2, x3, x4)
   U32_gaa(x0, x1, x2, x3, x4)

We have to consider all (P,Q,R)-chains.
----------------------------------------

(40) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.

   U15_GAA(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> MERGESORTB_IN_GAA(.(X1, X8))
   U15_GAA(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U17_GAA(X1, X2, X3, X7, mergesortcB_in_gaa(.(X1, X8)))
   U17_GAA(X1, X2, X3, X7, mergesortcB_out_gaa(.(X1, X8), X9)) -> MERGESORTB_IN_GAA(X7)
   MERGESORTB_IN_GAA(.(X1, .(X2, X3))) -> U15_GAA(X1, X2, X3, U52_ggaaa(X2, X3, splitcA_in_gaaa(X3)))
The remaining pairs can at least be oriented weakly.
Used ordering:  Polynomial Order [NEGPOLO,POLO] with Interpretation:

POL( U17_GAA_5(x_1, ..., x_5) ) = 2x_4 + 2
POL( mergesortcB_in_gaa_1(x_1) ) = 2
POL( ._2(x_1, x_2) ) = 2x_2 + 2
POL( [] ) = 2
POL( mergesortcB_out_gaa_2(x_1, x_2) ) = 2x_1 + 2
POL( U28_gaa_4(x_1, ..., x_4) ) = max{0, 2x_1 + x_2 + 2x_3 - 2}
POL( splitcC_in_ggaaa_2(x_1, x_2) ) = 2
POL( U33_gaa_4(x_1, ..., x_4) ) = max{0, 2x_1 + x_3 - 2}
POL( U15_GAA_4(x_1, ..., x_4) ) = 2x_4 + 2
POL( U52_ggaaa_3(x_1, ..., x_3) ) = 2x_3 + 2
POL( U28_gga_5(x_1, ..., x_5) ) = x_1 + 2x_3 + 2x_4 + 2
POL( U33_gga_6(x_1, ..., x_6) ) = max{0, 2x_1 + 2x_2 - 2}
POL( splitcA_in_gaaa_1(x_1) ) = 2x_1 + 1
POL( splitcA_out_gaaa_3(x_1, ..., x_3) ) = x_2 + x_3 + 1
POL( U27_gaaa_3(x_1, ..., x_3) ) = 2x_3 + 1
POL( splitcC_out_ggaaa_4(x_1, ..., x_4) ) = x_3 + 2x_4 + 2
POL( U29_gaa_5(x_1, ..., x_5) ) = 2x_2 + x_3 + 2
POL( mergesortcB_in_gga_2(x_1, x_2) ) = max{0, 2x_1 - 2}
POL( U29_gga_6(x_1, ..., x_6) ) = x_2 + x_3 + 2x_5 + 2
POL( mergesortcB_out_gga_2(x_1, x_2) ) = 2
POL( U30_gga_5(x_1, ..., x_5) ) = 2x_1 + 2x_2 + 2x_3 + 2x_4 + 2
POL( U32_gaa_5(x_1, ..., x_5) ) = 2x_1 + 2
POL( U32_gga_5(x_1, ..., x_5) ) = max{0, 2x_1 + 2x_3 + 2x_4 + 2x_5 - 2}
POL( U31_gga_6(x_1, ..., x_6) ) = x_2 + x_3 + 2x_5 + 2
POL( U34_gga_7(x_1, ..., x_7) ) = max{0, 2x_1 + x_2 + 2x_3 + 2x_5 + 2x_6 - 2}
POL( U31_gaa_5(x_1, ..., x_5) ) = 2x_2 + x_3 + x_4 + x_5 + 2
POL( U34_gaa_5(x_1, ..., x_5) ) = max{0, 2x_2 + 2x_3 + 2x_4 - 2}
POL( U35_gaa_6(x_1, ..., x_6) ) = 2x_1 + 2x_4 + 2
POL( U30_gaa_4(x_1, ..., x_4) ) = max{0, 2x_1 + 2x_2 - 2}
POL( U35_gga_7(x_1, ..., x_7) ) = x_1 + x_4 + 2x_5 + 2x_6 + 2x_7
POL( U38_gaa_6(x_1, ..., x_6) ) = max{0, x_1 + 2x_4 + x_5 - 2}
POL( U38_gga_8(x_1, ..., x_8) ) = 2x_1 + 2x_5 + 2x_6 + 2x_7 + 2
POL( U36_gaa_5(x_1, ..., x_5) ) = 2x_1 + 2
POL( qcD_in_ggggaa_4(x_1, ..., x_4) ) = x_1 + 2
POL( U37_gaa_5(x_1, ..., x_5) ) = max{0, 2x_1 + x_2 + x_3 + 2x_4 - 2}
POL( U39_gaa_5(x_1, ..., x_5) ) = max{0, 2x_3 + 2x_5 - 2}
POL( qcE_in_ggggaa_4(x_1, ..., x_4) ) = 2x_1 + 2x_2 + x_4
POL( U36_gga_6(x_1, ..., x_6) ) = max{0, 2x_2 - 2}
POL( qcD_in_ggggga_5(x_1, ..., x_5) ) = 0
POL( U37_gga_7(x_1, ..., x_7) ) = max{0, x_2 + x_3 + x_4 + 2x_6 - 2}
POL( U39_gga_6(x_1, ..., x_6) ) = 2x_1 + x_3 + 2x_4 + 2
POL( qcE_in_ggggga_5(x_1, ..., x_5) ) = 2x_4
POL( U43_ggggaa_6(x_1, ..., x_6) ) = max{0, 2x_1 - 2}
POL( U49_ggggaa_6(x_1, ..., x_6) ) = 2x_1 + 2x_2 + 2
POL( U41_ggggaa_4(x_1, ..., x_4) ) = 2x_3 + 2
POL( lecF_in_gg_2(x_1, x_2) ) = 0
POL( U42_ggggaa_6(x_1, ..., x_6) ) = max{0, 2x_2 + 2x_3 + 2x_4 + 2x_5 - 2}
POL( U44_ggggaa_6(x_1, ..., x_6) ) = max{0, 2x_1 + 2x_3 + 2x_4 + 2x_6 - 2}
POL( qcD_out_ggggaa_5(x_1, ..., x_5) ) = max{0, 2x_2 - 2}
POL( U45_ggggaa_6(x_1, ..., x_6) ) = max{0, 2x_1 + 2x_4 + 2x_5 - 2}
POL( U51_ggggaa_6(x_1, ..., x_6) ) = 2x_1 + 2x_2 + 2x_4 + 2x_5 + 2
POL( U47_ggggaa_4(x_1, ..., x_4) ) = max{0, x_4 - 2}
POL( gtcG_in_gg_2(x_1, x_2) ) = 0
POL( U48_ggggaa_6(x_1, ..., x_6) ) = 2x_4 + 2x_5 + 2
POL( U50_ggggaa_6(x_1, ..., x_6) ) = 2x_3 + 2x_4 + x_5 + 2
POL( qcE_out_ggggaa_5(x_1, ..., x_5) ) = max{0, 2x_2 + 2x_3 - 2}
POL( U41_ggggga_4(x_1, ..., x_4) ) = 2
POL( U42_ggggga_7(x_1, ..., x_7) ) = x_2 + x_4 + x_6 + 2
POL( U44_ggggga_7(x_1, ..., x_7) ) = max{0, 2x_3 + x_4 + x_5 + 2x_6 - 2}
POL( U43_ggggga_7(x_1, ..., x_7) ) = x_1 + 2x_2 + x_3 + 2
POL( U49_ggggga_7(x_1, ..., x_7) ) = max{0, 2x_2 - 2}
POL( s_1(x_1) ) = max{0, x_1 - 2}
POL( U40_gg_3(x_1, ..., x_3) ) = 2x_1 + 2x_2 + 2
POL( 0 ) = 0
POL( lecF_out_gg_2(x_1, x_2) ) = max{0, x_1 - 2}
POL( U48_ggggga_7(x_1, ..., x_7) ) = max{0, 2x_1 + x_3 + x_4 + 2x_5 + x_6 + 2x_7 - 2}
POL( U50_ggggga_7(x_1, ..., x_7) ) = max{0, x_2 + 2x_5 + 2x_6 - 2}
POL( U47_ggggga_4(x_1, ..., x_4) ) = max{0, 2x_1 + x_3 - 2}
POL( U45_ggggga_7(x_1, ..., x_7) ) = max{0, 2x_1 + 2x_6 - 2}
POL( U51_ggggga_7(x_1, ..., x_7) ) = 2x_1 + x_2 + x_4 + 2x_6 + 2
POL( U46_gg_3(x_1, ..., x_3) ) = 2
POL( gtcG_out_gg_2(x_1, x_2) ) = max{0, 2x_1 - 2}
POL( qcD_out_ggggga_5(x_1, ..., x_5) ) = max{0, 2x_1 + 2x_2 + 2x_4 - 2}
POL( qcE_out_ggggga_5(x_1, ..., x_5) ) = max{0, 2x_3 - 2}
POL( MERGESORTB_IN_GAA_1(x_1) ) = max{0, 2x_1 - 1}

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

   splitcA_in_gaaa([]) -> splitcA_out_gaaa([], [], [])
   splitcA_in_gaaa(.(X1, X2)) -> U27_gaaa(X1, X2, splitcA_in_gaaa(X2))
   U52_ggaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4)
   U27_gaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4)


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

(41)
Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:

   splitcC_in_ggaaa(X1, X2) -> U52_ggaaa(X1, X2, splitcA_in_gaaa(X2))
   splitcA_in_gaaa([]) -> splitcA_out_gaaa([], [], [])
   splitcA_in_gaaa(.(X1, X2)) -> U27_gaaa(X1, X2, splitcA_in_gaaa(X2))
   U27_gaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcA_out_gaaa(.(X1, X2), .(X1, X3), X4)
   U52_ggaaa(X1, X2, splitcA_out_gaaa(X2, X4, X3)) -> splitcC_out_ggaaa(X1, X2, .(X1, X3), X4)
   mergesortcB_in_gaa([]) -> mergesortcB_out_gaa([], [])
   mergesortcB_in_gaa(.(X1, [])) -> mergesortcB_out_gaa(.(X1, []), .(X1, []))
   mergesortcB_in_gaa(.(X1, .(X2, X3))) -> U28_gaa(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U28_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U29_gaa(X1, X2, X3, X7, mergesortcB_in_gga(.(X1, X8), []))
   mergesortcB_in_gga([], []) -> mergesortcB_out_gga([], [])
   mergesortcB_in_gga(.(X1, []), .(X1, [])) -> mergesortcB_out_gga(.(X1, []), .(X1, []))
   mergesortcB_in_gga(.(X1, .(X2, X3)), X4) -> U28_gga(X1, X2, X3, X4, splitcC_in_ggaaa(X2, X3))
   U28_gga(X1, X2, X3, X4, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U29_gga(X1, X2, X3, X4, X7, mergesortcB_in_gga(.(X1, X8), []))
   mergesortcB_in_gga(.(X1, .(X2, X3)), .(X4, X5)) -> U33_gga(X1, X2, X3, X4, X5, splitcC_in_ggaaa(X2, X3))
   U33_gga(X1, X2, X3, X4, X5, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U34_gga(X1, X2, X3, X4, X5, X8, mergesortcB_in_gaa(.(X1, X9)))
   mergesortcB_in_gaa(.(X1, .(X2, X3))) -> U33_gaa(X1, X2, X3, splitcC_in_ggaaa(X2, X3))
   U33_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U34_gaa(X1, X2, X3, X8, mergesortcB_in_gaa(.(X1, X9)))
   U34_gaa(X1, X2, X3, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10))) -> U35_gaa(X1, X2, X3, X4, X10, mergesortcB_in_gaa(X8))
   U35_gaa(X1, X2, X3, X4, X10, mergesortcB_out_gaa(X8, .(X11, X12))) -> U36_gaa(X1, X2, X3, X4, qcD_in_ggggaa(X4, X11, X10, X12))
   qcD_in_ggggaa(X1, X2, [], X3) -> U41_ggggaa(X1, X2, X3, lecF_in_gg(X1, X2))
   lecF_in_gg(s(X1), s(X2)) -> U40_gg(X1, X2, lecF_in_gg(X1, X2))
   lecF_in_gg(0, s(0)) -> lecF_out_gg(0, s(0))
   lecF_in_gg(0, 0) -> lecF_out_gg(0, 0)
   U40_gg(X1, X2, lecF_out_gg(X1, X2)) -> lecF_out_gg(s(X1), s(X2))
   U41_ggggaa(X1, X2, X3, lecF_out_gg(X1, X2)) -> qcD_out_ggggaa(X1, X2, [], X3, .(X2, X3))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5) -> U42_ggggaa(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U42_ggggaa(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> U43_ggggaa(X1, X2, X3, X4, X5, qcD_in_ggggaa(X3, X2, X4, X5))
   qcD_in_ggggaa(X1, X2, .(X3, X4), X5) -> U44_ggggaa(X1, X2, X3, X4, X5, lecF_in_gg(X1, X2))
   U44_ggggaa(X1, X2, X3, X4, X5, lecF_out_gg(X1, X2)) -> U45_ggggaa(X1, X2, X3, X4, X5, qcE_in_ggggaa(X3, X2, X4, X5))
   qcE_in_ggggaa(X1, X2, X3, []) -> U47_ggggaa(X1, X2, X3, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(X1), s(X2)) -> U46_gg(X1, X2, gtcG_in_gg(X1, X2))
   gtcG_in_gg(s(0), 0) -> gtcG_out_gg(s(0), 0)
   U46_gg(X1, X2, gtcG_out_gg(X1, X2)) -> gtcG_out_gg(s(X1), s(X2))
   U47_ggggaa(X1, X2, X3, gtcG_out_gg(X1, X2)) -> qcE_out_ggggaa(X1, X2, X3, [], .(X1, X3))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5)) -> U48_ggggaa(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U48_ggggaa(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> U49_ggggaa(X1, X2, X3, X4, X5, qcD_in_ggggaa(X1, X4, X3, X5))
   U49_ggggaa(X1, X2, X3, X4, X5, qcD_out_ggggaa(X1, X4, X3, X5, X6)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X1, X6))
   qcE_in_ggggaa(X1, X2, X3, .(X4, X5)) -> U50_ggggaa(X1, X2, X3, X4, X5, gtcG_in_gg(X1, X2))
   U50_ggggaa(X1, X2, X3, X4, X5, gtcG_out_gg(X1, X2)) -> U51_ggggaa(X1, X2, X3, X4, X5, qcE_in_ggggaa(X1, X4, X3, X5))
   U51_ggggaa(X1, X2, X3, X4, X5, qcE_out_ggggaa(X1, X4, X3, X5, X6)) -> qcE_out_ggggaa(X1, X2, X3, .(X4, X5), .(X4, X6))
   U45_ggggaa(X1, X2, X3, X4, X5, qcE_out_ggggaa(X3, X2, X4, X5, X6)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X2, X6))
   U43_ggggaa(X1, X2, X3, X4, X5, qcD_out_ggggaa(X3, X2, X4, X5, X6)) -> qcD_out_ggggaa(X1, X2, .(X3, X4), X5, .(X3, X6))
   U36_gaa(X1, X2, X3, X4, qcD_out_ggggaa(X4, X11, X10, X12, X5)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5))
   U33_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U37_gaa(X1, X2, X3, X8, mergesortcB_in_gaa(.(X1, X9)))
   U37_gaa(X1, X2, X3, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11))) -> U38_gaa(X1, X2, X3, X10, X11, mergesortcB_in_gaa(X8))
   U38_gaa(X1, X2, X3, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12))) -> U39_gaa(X1, X2, X3, X4, qcE_in_ggggaa(X10, X4, X11, X12))
   U39_gaa(X1, X2, X3, X4, qcE_out_ggggaa(X10, X4, X11, X12, X5)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), .(X4, X5))
   U34_gga(X1, X2, X3, X4, X5, X8, mergesortcB_out_gaa(.(X1, X9), .(X4, X10))) -> U35_gga(X1, X2, X3, X4, X5, X10, mergesortcB_in_gaa(X8))
   U35_gga(X1, X2, X3, X4, X5, X10, mergesortcB_out_gaa(X8, .(X11, X12))) -> U36_gga(X1, X2, X3, X4, X5, qcD_in_ggggga(X4, X11, X10, X12, X5))
   qcD_in_ggggga(X1, X2, [], X3, .(X2, X3)) -> U41_ggggga(X1, X2, X3, lecF_in_gg(X1, X2))
   U41_ggggga(X1, X2, X3, lecF_out_gg(X1, X2)) -> qcD_out_ggggga(X1, X2, [], X3, .(X2, X3))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6)) -> U42_ggggga(X1, X2, X3, X4, X5, X6, lecF_in_gg(X1, X2))
   U42_ggggga(X1, X2, X3, X4, X5, X6, lecF_out_gg(X1, X2)) -> U43_ggggga(X1, X2, X3, X4, X5, X6, qcD_in_ggggga(X3, X2, X4, X5, X6))
   qcD_in_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6)) -> U44_ggggga(X1, X2, X3, X4, X5, X6, lecF_in_gg(X1, X2))
   U44_ggggga(X1, X2, X3, X4, X5, X6, lecF_out_gg(X1, X2)) -> U45_ggggga(X1, X2, X3, X4, X5, X6, qcE_in_ggggga(X3, X2, X4, X5, X6))
   qcE_in_ggggga(X1, X2, X3, [], .(X1, X3)) -> U47_ggggga(X1, X2, X3, gtcG_in_gg(X1, X2))
   U47_ggggga(X1, X2, X3, gtcG_out_gg(X1, X2)) -> qcE_out_ggggga(X1, X2, X3, [], .(X1, X3))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6)) -> U48_ggggga(X1, X2, X3, X4, X5, X6, gtcG_in_gg(X1, X2))
   U48_ggggga(X1, X2, X3, X4, X5, X6, gtcG_out_gg(X1, X2)) -> U49_ggggga(X1, X2, X3, X4, X5, X6, qcD_in_ggggga(X1, X4, X3, X5, X6))
   U49_ggggga(X1, X2, X3, X4, X5, X6, qcD_out_ggggga(X1, X4, X3, X5, X6)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X1, X6))
   qcE_in_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6)) -> U50_ggggga(X1, X2, X3, X4, X5, X6, gtcG_in_gg(X1, X2))
   U50_ggggga(X1, X2, X3, X4, X5, X6, gtcG_out_gg(X1, X2)) -> U51_ggggga(X1, X2, X3, X4, X5, X6, qcE_in_ggggga(X1, X4, X3, X5, X6))
   U51_ggggga(X1, X2, X3, X4, X5, X6, qcE_out_ggggga(X1, X4, X3, X5, X6)) -> qcE_out_ggggga(X1, X2, X3, .(X4, X5), .(X4, X6))
   U45_ggggga(X1, X2, X3, X4, X5, X6, qcE_out_ggggga(X3, X2, X4, X5, X6)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X2, X6))
   U43_ggggga(X1, X2, X3, X4, X5, X6, qcD_out_ggggga(X3, X2, X4, X5, X6)) -> qcD_out_ggggga(X1, X2, .(X3, X4), X5, .(X3, X6))
   U36_gga(X1, X2, X3, X4, X5, qcD_out_ggggga(X4, X11, X10, X12, X5)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5))
   U33_gga(X1, X2, X3, X4, X5, splitcC_out_ggaaa(X2, X3, X8, X9)) -> U37_gga(X1, X2, X3, X4, X5, X8, mergesortcB_in_gaa(.(X1, X9)))
   U37_gga(X1, X2, X3, X4, X5, X8, mergesortcB_out_gaa(.(X1, X9), .(X10, X11))) -> U38_gga(X1, X2, X3, X4, X5, X10, X11, mergesortcB_in_gaa(X8))
   U38_gga(X1, X2, X3, X4, X5, X10, X11, mergesortcB_out_gaa(X8, .(X4, X12))) -> U39_gga(X1, X2, X3, X4, X5, qcE_in_ggggga(X10, X4, X11, X12, X5))
   U39_gga(X1, X2, X3, X4, X5, qcE_out_ggggga(X10, X4, X11, X12, X5)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), .(X4, X5))
   U29_gga(X1, X2, X3, X4, X7, mergesortcB_out_gga(.(X1, X8), [])) -> U30_gga(X1, X2, X3, X4, mergesortcB_in_gga(X7, X4))
   U30_gga(X1, X2, X3, X4, mergesortcB_out_gga(X7, X4)) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4)
   U28_gga(X1, X2, X3, X4, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U31_gga(X1, X2, X3, X4, X7, mergesortcB_in_gga(.(X1, X8), X4))
   U31_gga(X1, X2, X3, X4, X7, mergesortcB_out_gga(.(X1, X8), X4)) -> U32_gga(X1, X2, X3, X4, mergesortcB_in_gga(X7, []))
   U32_gga(X1, X2, X3, X4, mergesortcB_out_gga(X7, [])) -> mergesortcB_out_gga(.(X1, .(X2, X3)), X4)
   U29_gaa(X1, X2, X3, X7, mergesortcB_out_gga(.(X1, X8), [])) -> U30_gaa(X1, X2, X3, mergesortcB_in_gaa(X7))
   U30_gaa(X1, X2, X3, mergesortcB_out_gaa(X7, X4)) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4)
   U28_gaa(X1, X2, X3, splitcC_out_ggaaa(X2, X3, X7, X8)) -> U31_gaa(X1, X2, X3, X7, mergesortcB_in_gaa(.(X1, X8)))
   U31_gaa(X1, X2, X3, X7, mergesortcB_out_gaa(.(X1, X8), X4)) -> U32_gaa(X1, X2, X3, X4, mergesortcB_in_gga(X7, []))
   U32_gaa(X1, X2, X3, X4, mergesortcB_out_gga(X7, [])) -> mergesortcB_out_gaa(.(X1, .(X2, X3)), X4)

The set Q consists of the following terms:

   splitcC_in_ggaaa(x0, x1)
   splitcA_in_gaaa(x0)
   U27_gaaa(x0, x1, x2)
   U52_ggaaa(x0, x1, x2)
   mergesortcB_in_gaa(x0)
   U28_gaa(x0, x1, x2, x3)
   mergesortcB_in_gga(x0, x1)
   U28_gga(x0, x1, x2, x3, x4)
   U33_gga(x0, x1, x2, x3, x4, x5)
   U33_gaa(x0, x1, x2, x3)
   U34_gaa(x0, x1, x2, x3, x4)
   U35_gaa(x0, x1, x2, x3, x4, x5)
   qcD_in_ggggaa(x0, x1, x2, x3)
   lecF_in_gg(x0, x1)
   U40_gg(x0, x1, x2)
   U41_ggggaa(x0, x1, x2, x3)
   U42_ggggaa(x0, x1, x2, x3, x4, x5)
   U44_ggggaa(x0, x1, x2, x3, x4, x5)
   qcE_in_ggggaa(x0, x1, x2, x3)
   gtcG_in_gg(x0, x1)
   U46_gg(x0, x1, x2)
   U47_ggggaa(x0, x1, x2, x3)
   U48_ggggaa(x0, x1, x2, x3, x4, x5)
   U49_ggggaa(x0, x1, x2, x3, x4, x5)
   U50_ggggaa(x0, x1, x2, x3, x4, x5)
   U51_ggggaa(x0, x1, x2, x3, x4, x5)
   U45_ggggaa(x0, x1, x2, x3, x4, x5)
   U43_ggggaa(x0, x1, x2, x3, x4, x5)
   U36_gaa(x0, x1, x2, x3, x4)
   U37_gaa(x0, x1, x2, x3, x4)
   U38_gaa(x0, x1, x2, x3, x4, x5)
   U39_gaa(x0, x1, x2, x3, x4)
   U34_gga(x0, x1, x2, x3, x4, x5, x6)
   U35_gga(x0, x1, x2, x3, x4, x5, x6)
   qcD_in_ggggga(x0, x1, x2, x3, x4)
   U41_ggggga(x0, x1, x2, x3)
   U42_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U44_ggggga(x0, x1, x2, x3, x4, x5, x6)
   qcE_in_ggggga(x0, x1, x2, x3, x4)
   U47_ggggga(x0, x1, x2, x3)
   U48_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U49_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U50_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U51_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U45_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U43_ggggga(x0, x1, x2, x3, x4, x5, x6)
   U36_gga(x0, x1, x2, x3, x4, x5)
   U37_gga(x0, x1, x2, x3, x4, x5, x6)
   U38_gga(x0, x1, x2, x3, x4, x5, x6, x7)
   U39_gga(x0, x1, x2, x3, x4, x5)
   U29_gga(x0, x1, x2, x3, x4, x5)
   U30_gga(x0, x1, x2, x3, x4)
   U31_gga(x0, x1, x2, x3, x4, x5)
   U32_gga(x0, x1, x2, x3, x4)
   U29_gaa(x0, x1, x2, x3, x4)
   U30_gaa(x0, x1, x2, x3)
   U31_gaa(x0, x1, x2, x3, x4)
   U32_gaa(x0, x1, x2, x3, x4)

We have to consider all (P,Q,R)-chains.
----------------------------------------

(42) PisEmptyProof (EQUIVALENT)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
----------------------------------------

(43)
YES
