(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) PrologToPiTRSViaGraphTransformerProof (SOUND transformation)

Transformed Prolog program to (Pi-)TRS.

(2) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

MERGESORTA_IN_GAA(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_GAA(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
MERGESORTA_IN_GAA(.(T39, .(T40, T41)), T45, .(T46, T44)) → PB_IN_GGAAAGAAAA(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)
PB_IN_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
PB_IN_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → SPLITD_IN_GGAAA(T40, T41, T47, T48, T49)
SPLITD_IN_GGAAA(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_GGAAA(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
SPLITD_IN_GGAAA(T60, T61, .(T60, X91), X92, .(T62, T64)) → SPLITC_IN_GAAA(T61, X92, X91, T64)
SPLITC_IN_GAAA(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_GAAA(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
SPLITC_IN_GAAA(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → SPLITC_IN_GAAA(T81, X123, X122, T84)
U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → PN_IN_GGAAGAAA(T39, T48, X35, T49, T47, X36, T50, T51)
PN_IN_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90) → U15_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
PN_IN_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90) → MERGESORTA_IN_GAA(.(T39, T48), T87, T88)
U15_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
U15_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → PO_IN_GAAGAA(T47, X36, T88, T87, T89, T90)
PO_IN_GAAGAA(T47, T93, T96, T87, T94, T95) → U17_GAAGAA(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
PO_IN_GAAGAA(T47, T93, T96, T87, T94, T95) → MERGESORTE_IN_GAA(T47, T93, T96)
MERGESORTE_IN_GAA(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_GAA(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
MERGESORTE_IN_GAA(.(T124, .(T125, T126)), X177, .(T129, T130)) → PF_IN_GGGAAAAAAA(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)
PF_IN_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
PF_IN_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → SPLITD_IN_GGAAA(T124, .(T125, T126), T131, T132, .(T134, T133))
U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → PP_IN_GAAGAAA(T131, X175, T133, T132, X176, X177, T134)
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → MERGESORTE_IN_GAA(T131, T137, T138)
U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → PQ_IN_GAAGAA(T132, X176, T138, T137, X177, T139)
PQ_IN_GAAGAA(T132, T144, T146, T137, X177, T145) → U23_GAAGAA(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
PQ_IN_GAAGAA(T132, T144, T146, T137, X177, T145) → MERGESORTE_IN_GAA(T132, T144, T146)
U23_GAAGAA(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_GAAGAA(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
U23_GAAGAA(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → MERGEG_IN_GGAAA(T137, T144, X177, T145, T146)
MERGEG_IN_GGAAA(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_GGAAA(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
MERGEG_IN_GGAAA(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227)
PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227) → U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227) → LEJ_IN_GG(T219, T221)
LEJ_IN_GG(s(T240), s(T241)) → U7_GG(T240, T241, leJ_in_gg(T240, T241))
LEJ_IN_GG(s(T240), s(T241)) → LEJ_IN_GG(T240, T241)
U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_GGGGAA(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → MERGEL_IN_GGGAA(T220, T221, T222, T226, T227)
MERGEL_IN_GGGAA(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_GGGAA(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
MERGEL_IN_GGGAA(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → PH_IN_GGGGAA(T294, T296, T295, T297, T301, T302)
MERGEL_IN_GGGAA(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_GGGAA(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
MERGEL_IN_GGGAA(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327)
PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327) → U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327) → GTK_IN_GG(T319, T321)
GTK_IN_GG(s(T340), s(T341)) → U8_GG(T340, T341, gtK_in_gg(T340, T341))
GTK_IN_GG(s(T340), s(T341)) → GTK_IN_GG(T340, T341)
U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_GGGGAA(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → MERGEM_IN_GGGAA(T319, T320, T322, T326, T327)
MERGEM_IN_GGGAA(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_GGGAA(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
MERGEM_IN_GGGAA(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → PH_IN_GGGGAA(T387, T389, T388, T390, T394, T395)
MERGEM_IN_GGGAA(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_GGGAA(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
MERGEM_IN_GGGAA(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → PI_IN_GGGGAA(T412, T414, T413, T415, T419, T420)
MERGEG_IN_GGAAA(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_GGAAA(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
MERGEG_IN_GGAAA(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → PI_IN_GGGGAA(T437, T439, T438, T440, T444, T445)
U17_GAAGAA(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_GAAGAA(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U17_GAAGAA(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → MERGEG_IN_GGAAA(T87, T93, T94, T95, T96)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
MERGESORTA_IN_GAA(x1, x2, x3)  =  MERGESORTA_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U1_GAA(x1, x2, x3, x7)
PB_IN_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PB_IN_GGAAAGAAAA(x1, x2, x6)
U13_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_GGAAAGAAAA(x1, x2, x6, x11)
SPLITD_IN_GGAAA(x1, x2, x3, x4, x5)  =  SPLITD_IN_GGAAA(x1, x2)
U3_GGAAA(x1, x2, x3, x4, x5, x6, x7)  =  U3_GGAAA(x1, x2, x7)
SPLITC_IN_GAAA(x1, x2, x3, x4)  =  SPLITC_IN_GAAA(x1)
U2_GAAA(x1, x2, x3, x4, x5, x6, x7)  =  U2_GAAA(x1, x2, x7)
U14_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_GGAAAGAAAA(x1, x2, x3, x4, x6, x11)
PN_IN_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PN_IN_GGAAGAAA(x1, x2, x5)
U15_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_GGAAGAAA(x1, x2, x5, x9)
U16_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_GGAAGAAA(x1, x2, x3, x5, x9)
PO_IN_GAAGAA(x1, x2, x3, x4, x5, x6)  =  PO_IN_GAAGAA(x1, x4)
U17_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_GAAGAA(x1, x4, x7)
MERGESORTE_IN_GAA(x1, x2, x3)  =  MERGESORTE_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U4_GAA(x1, x2, x3, x7)
PF_IN_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PF_IN_GGGAAAAAAA(x1, x2, x3)
U19_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_GGGAAAAAAA(x1, x2, x3, x11)
U20_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_GGGAAAAAAA(x1, x2, x3, x4, x5, x11)
PP_IN_GAAGAAA(x1, x2, x3, x4, x5, x6, x7)  =  PP_IN_GAAGAAA(x1, x4)
U21_GAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_GAAGAAA(x1, x4, x8)
U22_GAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_GAAGAAA(x1, x2, x4, x8)
PQ_IN_GAAGAA(x1, x2, x3, x4, x5, x6)  =  PQ_IN_GAAGAA(x1, x4)
U23_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U23_GAAGAA(x1, x4, x7)
U24_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U24_GAAGAA(x1, x2, x4, x7)
MERGEG_IN_GGAAA(x1, x2, x3, x4, x5)  =  MERGEG_IN_GGAAA(x1, x2)
U5_GGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GGAAA(x1, x2, x3, x4, x8)
PH_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PH_IN_GGGGAA(x1, x2, x3, x4)
U25_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U25_GGGGAA(x1, x2, x3, x4, x7)
LEJ_IN_GG(x1, x2)  =  LEJ_IN_GG(x1, x2)
U7_GG(x1, x2, x3)  =  U7_GG(x1, x2, x3)
U26_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U26_GGGGAA(x1, x2, x3, x4, x7)
MERGEL_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEL_IN_GGGAA(x1, x2, x3)
U9_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_GGGAA(x1, x2, x3, x4, x8)
U10_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_GGGAA(x1, x2, x3, x4, x8)
PI_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PI_IN_GGGGAA(x1, x2, x3, x4)
U27_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U27_GGGGAA(x1, x2, x3, x4, x7)
GTK_IN_GG(x1, x2)  =  GTK_IN_GG(x1, x2)
U8_GG(x1, x2, x3)  =  U8_GG(x1, x2, x3)
U28_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U28_GGGGAA(x1, x2, x3, x4, x7)
MERGEM_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEM_IN_GGGAA(x1, x2, x3)
U11_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_GGGAA(x1, x2, x3, x4, x8)
U12_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_GGGAA(x1, x2, x3, x4, x8)
U6_GGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_GGAAA(x1, x2, x3, x4, x8)
U18_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAAGAA(x1, x2, x4, x7)

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

(4) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_GAA(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
MERGESORTA_IN_GAA(.(T39, .(T40, T41)), T45, .(T46, T44)) → PB_IN_GGAAAGAAAA(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)
PB_IN_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
PB_IN_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → SPLITD_IN_GGAAA(T40, T41, T47, T48, T49)
SPLITD_IN_GGAAA(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_GGAAA(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
SPLITD_IN_GGAAA(T60, T61, .(T60, X91), X92, .(T62, T64)) → SPLITC_IN_GAAA(T61, X92, X91, T64)
SPLITC_IN_GAAA(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_GAAA(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
SPLITC_IN_GAAA(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → SPLITC_IN_GAAA(T81, X123, X122, T84)
U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → PN_IN_GGAAGAAA(T39, T48, X35, T49, T47, X36, T50, T51)
PN_IN_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90) → U15_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
PN_IN_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90) → MERGESORTA_IN_GAA(.(T39, T48), T87, T88)
U15_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
U15_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → PO_IN_GAAGAA(T47, X36, T88, T87, T89, T90)
PO_IN_GAAGAA(T47, T93, T96, T87, T94, T95) → U17_GAAGAA(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
PO_IN_GAAGAA(T47, T93, T96, T87, T94, T95) → MERGESORTE_IN_GAA(T47, T93, T96)
MERGESORTE_IN_GAA(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_GAA(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
MERGESORTE_IN_GAA(.(T124, .(T125, T126)), X177, .(T129, T130)) → PF_IN_GGGAAAAAAA(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)
PF_IN_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
PF_IN_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → SPLITD_IN_GGAAA(T124, .(T125, T126), T131, T132, .(T134, T133))
U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → PP_IN_GAAGAAA(T131, X175, T133, T132, X176, X177, T134)
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → MERGESORTE_IN_GAA(T131, T137, T138)
U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → PQ_IN_GAAGAA(T132, X176, T138, T137, X177, T139)
PQ_IN_GAAGAA(T132, T144, T146, T137, X177, T145) → U23_GAAGAA(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
PQ_IN_GAAGAA(T132, T144, T146, T137, X177, T145) → MERGESORTE_IN_GAA(T132, T144, T146)
U23_GAAGAA(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_GAAGAA(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
U23_GAAGAA(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → MERGEG_IN_GGAAA(T137, T144, X177, T145, T146)
MERGEG_IN_GGAAA(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_GGAAA(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
MERGEG_IN_GGAAA(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227)
PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227) → U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227) → LEJ_IN_GG(T219, T221)
LEJ_IN_GG(s(T240), s(T241)) → U7_GG(T240, T241, leJ_in_gg(T240, T241))
LEJ_IN_GG(s(T240), s(T241)) → LEJ_IN_GG(T240, T241)
U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_GGGGAA(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → MERGEL_IN_GGGAA(T220, T221, T222, T226, T227)
MERGEL_IN_GGGAA(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_GGGAA(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
MERGEL_IN_GGGAA(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → PH_IN_GGGGAA(T294, T296, T295, T297, T301, T302)
MERGEL_IN_GGGAA(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_GGGAA(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
MERGEL_IN_GGGAA(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327)
PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327) → U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327) → GTK_IN_GG(T319, T321)
GTK_IN_GG(s(T340), s(T341)) → U8_GG(T340, T341, gtK_in_gg(T340, T341))
GTK_IN_GG(s(T340), s(T341)) → GTK_IN_GG(T340, T341)
U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_GGGGAA(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → MERGEM_IN_GGGAA(T319, T320, T322, T326, T327)
MERGEM_IN_GGGAA(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_GGGAA(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
MERGEM_IN_GGGAA(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → PH_IN_GGGGAA(T387, T389, T388, T390, T394, T395)
MERGEM_IN_GGGAA(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_GGGAA(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
MERGEM_IN_GGGAA(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → PI_IN_GGGGAA(T412, T414, T413, T415, T419, T420)
MERGEG_IN_GGAAA(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_GGAAA(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
MERGEG_IN_GGAAA(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → PI_IN_GGGGAA(T437, T439, T438, T440, T444, T445)
U17_GAAGAA(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_GAAGAA(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U17_GAAGAA(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → MERGEG_IN_GGAAA(T87, T93, T94, T95, T96)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
MERGESORTA_IN_GAA(x1, x2, x3)  =  MERGESORTA_IN_GAA(x1)
U1_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U1_GAA(x1, x2, x3, x7)
PB_IN_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PB_IN_GGAAAGAAAA(x1, x2, x6)
U13_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_GGAAAGAAAA(x1, x2, x6, x11)
SPLITD_IN_GGAAA(x1, x2, x3, x4, x5)  =  SPLITD_IN_GGAAA(x1, x2)
U3_GGAAA(x1, x2, x3, x4, x5, x6, x7)  =  U3_GGAAA(x1, x2, x7)
SPLITC_IN_GAAA(x1, x2, x3, x4)  =  SPLITC_IN_GAAA(x1)
U2_GAAA(x1, x2, x3, x4, x5, x6, x7)  =  U2_GAAA(x1, x2, x7)
U14_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_GGAAAGAAAA(x1, x2, x3, x4, x6, x11)
PN_IN_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PN_IN_GGAAGAAA(x1, x2, x5)
U15_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_GGAAGAAA(x1, x2, x5, x9)
U16_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_GGAAGAAA(x1, x2, x3, x5, x9)
PO_IN_GAAGAA(x1, x2, x3, x4, x5, x6)  =  PO_IN_GAAGAA(x1, x4)
U17_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U17_GAAGAA(x1, x4, x7)
MERGESORTE_IN_GAA(x1, x2, x3)  =  MERGESORTE_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U4_GAA(x1, x2, x3, x7)
PF_IN_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PF_IN_GGGAAAAAAA(x1, x2, x3)
U19_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_GGGAAAAAAA(x1, x2, x3, x11)
U20_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_GGGAAAAAAA(x1, x2, x3, x4, x5, x11)
PP_IN_GAAGAAA(x1, x2, x3, x4, x5, x6, x7)  =  PP_IN_GAAGAAA(x1, x4)
U21_GAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_GAAGAAA(x1, x4, x8)
U22_GAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_GAAGAAA(x1, x2, x4, x8)
PQ_IN_GAAGAA(x1, x2, x3, x4, x5, x6)  =  PQ_IN_GAAGAA(x1, x4)
U23_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U23_GAAGAA(x1, x4, x7)
U24_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U24_GAAGAA(x1, x2, x4, x7)
MERGEG_IN_GGAAA(x1, x2, x3, x4, x5)  =  MERGEG_IN_GGAAA(x1, x2)
U5_GGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GGAAA(x1, x2, x3, x4, x8)
PH_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PH_IN_GGGGAA(x1, x2, x3, x4)
U25_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U25_GGGGAA(x1, x2, x3, x4, x7)
LEJ_IN_GG(x1, x2)  =  LEJ_IN_GG(x1, x2)
U7_GG(x1, x2, x3)  =  U7_GG(x1, x2, x3)
U26_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U26_GGGGAA(x1, x2, x3, x4, x7)
MERGEL_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEL_IN_GGGAA(x1, x2, x3)
U9_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_GGGAA(x1, x2, x3, x4, x8)
U10_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_GGGAA(x1, x2, x3, x4, x8)
PI_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PI_IN_GGGGAA(x1, x2, x3, x4)
U27_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U27_GGGGAA(x1, x2, x3, x4, x7)
GTK_IN_GG(x1, x2)  =  GTK_IN_GG(x1, x2)
U8_GG(x1, x2, x3)  =  U8_GG(x1, x2, x3)
U28_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U28_GGGGAA(x1, x2, x3, x4, x7)
MERGEM_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEM_IN_GGGAA(x1, x2, x3)
U11_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_GGGAA(x1, x2, x3, x4, x8)
U12_GGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_GGGAA(x1, x2, x3, x4, x8)
U6_GGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_GGAAA(x1, x2, x3, x4, x8)
U18_GAAGAA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GAAGAA(x1, x2, x4, x7)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 6 SCCs with 34 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

GTK_IN_GG(s(T340), s(T341)) → GTK_IN_GG(T340, T341)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
GTK_IN_GG(x1, x2)  =  GTK_IN_GG(x1, x2)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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:

GTK_IN_GG(s(T340), s(T341)) → GTK_IN_GG(T340, T341)

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

(10) PiDPToQDPProof (EQUIVALENT transformation)

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:

GTK_IN_GG(s(T340), s(T341)) → GTK_IN_GG(T340, T341)

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

(12) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • GTK_IN_GG(s(T340), s(T341)) → GTK_IN_GG(T340, T341)
    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:

LEJ_IN_GG(s(T240), s(T241)) → LEJ_IN_GG(T240, T241)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
LEJ_IN_GG(x1, x2)  =  LEJ_IN_GG(x1, x2)

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

(15) UsableRulesProof (EQUIVALENT transformation)

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:

LEJ_IN_GG(s(T240), s(T241)) → LEJ_IN_GG(T240, T241)

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

(17) PiDPToQDPProof (EQUIVALENT transformation)

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:

LEJ_IN_GG(s(T240), s(T241)) → LEJ_IN_GG(T240, T241)

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

(19) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • LEJ_IN_GG(s(T240), s(T241)) → LEJ_IN_GG(T240, T241)
    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:

U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → MERGEL_IN_GGGAA(T220, T221, T222, T226, T227)
MERGEL_IN_GGGAA(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → PH_IN_GGGGAA(T294, T296, T295, T297, T301, T302)
PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227) → U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
MERGEL_IN_GGGAA(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327)
PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327) → U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → MERGEM_IN_GGGAA(T319, T320, T322, T326, T327)
MERGEM_IN_GGGAA(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → PH_IN_GGGGAA(T387, T389, T388, T390, T394, T395)
MERGEM_IN_GGGAA(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → PI_IN_GGGGAA(T412, T414, T413, T415, T419, T420)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
PH_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PH_IN_GGGGAA(x1, x2, x3, x4)
U25_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U25_GGGGAA(x1, x2, x3, x4, x7)
MERGEL_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEL_IN_GGGAA(x1, x2, x3)
PI_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PI_IN_GGGGAA(x1, x2, x3, x4)
U27_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U27_GGGGAA(x1, x2, x3, x4, x7)
MERGEM_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEM_IN_GGGAA(x1, x2, x3)

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

(22) UsableRulesProof (EQUIVALENT transformation)

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:

U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → MERGEL_IN_GGGAA(T220, T221, T222, T226, T227)
MERGEL_IN_GGGAA(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → PH_IN_GGGGAA(T294, T296, T295, T297, T301, T302)
PH_IN_GGGGAA(T219, T221, T220, T222, T226, T227) → U25_GGGGAA(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
MERGEL_IN_GGGAA(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327)
PI_IN_GGGGAA(T319, T321, T320, T322, T326, T327) → U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
U27_GGGGAA(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → MERGEM_IN_GGGAA(T319, T320, T322, T326, T327)
MERGEM_IN_GGGAA(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → PH_IN_GGGGAA(T387, T389, T388, T390, T394, T395)
MERGEM_IN_GGGAA(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → PI_IN_GGGGAA(T412, T414, T413, T415, T419, T420)

The TRS R consists of the following rules:

leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
PH_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PH_IN_GGGGAA(x1, x2, x3, x4)
U25_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U25_GGGGAA(x1, x2, x3, x4, x7)
MERGEL_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEL_IN_GGGAA(x1, x2, x3)
PI_IN_GGGGAA(x1, x2, x3, x4, x5, x6)  =  PI_IN_GGGGAA(x1, x2, x3, x4)
U27_GGGGAA(x1, x2, x3, x4, x5, x6, x7)  =  U27_GGGGAA(x1, x2, x3, x4, x7)
MERGEM_IN_GGGAA(x1, x2, x3, x4, x5)  =  MERGEM_IN_GGGAA(x1, x2, x3)

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

(24) PiDPToQDPProof (SOUND transformation)

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:

U25_GGGGAA(T219, T221, T220, T222, leJ_out_gg(T219, T221)) → MERGEL_IN_GGGAA(T220, T221, T222)
MERGEL_IN_GGGAA(.(T294, T295), T296, T297) → PH_IN_GGGGAA(T294, T296, T295, T297)
PH_IN_GGGGAA(T219, T221, T220, T222) → U25_GGGGAA(T219, T221, T220, T222, leJ_in_gg(T219, T221))
MERGEL_IN_GGGAA(.(T319, T320), T321, T322) → PI_IN_GGGGAA(T319, T321, T320, T322)
PI_IN_GGGGAA(T319, T321, T320, T322) → U27_GGGGAA(T319, T321, T320, T322, gtK_in_gg(T319, T321))
U27_GGGGAA(T319, T321, T320, T322, gtK_out_gg(T319, T321)) → MERGEM_IN_GGGAA(T319, T320, T322)
MERGEM_IN_GGGAA(T387, T388, .(T389, T390)) → PH_IN_GGGGAA(T387, T389, T388, T390)
MERGEM_IN_GGGAA(T412, T413, .(T414, T415)) → PI_IN_GGGGAA(T412, T414, T413, T415)

The TRS R consists of the following rules:

leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))

The set Q consists of the following terms:

leJ_in_gg(x0, x1)
gtK_in_gg(x0, x1)
U7_gg(x0, x1, x2)
U8_gg(x0, x1, x2)

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

(26) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • PH_IN_GGGGAA(T219, T221, T220, T222) → U25_GGGGAA(T219, T221, T220, T222, leJ_in_gg(T219, T221))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • U25_GGGGAA(T219, T221, T220, T222, leJ_out_gg(T219, T221)) → MERGEL_IN_GGGAA(T220, T221, T222)
    The graph contains the following edges 3 >= 1, 2 >= 2, 5 > 2, 4 >= 3

  • MERGEL_IN_GGGAA(.(T294, T295), T296, T297) → PH_IN_GGGGAA(T294, T296, T295, T297)
    The graph contains the following edges 1 > 1, 2 >= 2, 1 > 3, 3 >= 4

  • MERGEL_IN_GGGAA(.(T319, T320), T321, T322) → PI_IN_GGGGAA(T319, T321, T320, T322)
    The graph contains the following edges 1 > 1, 2 >= 2, 1 > 3, 3 >= 4

  • MERGEM_IN_GGGAA(T387, T388, .(T389, T390)) → PH_IN_GGGGAA(T387, T389, T388, T390)
    The graph contains the following edges 1 >= 1, 3 > 2, 2 >= 3, 3 > 4

  • PI_IN_GGGGAA(T319, T321, T320, T322) → U27_GGGGAA(T319, T321, T320, T322, gtK_in_gg(T319, T321))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 4

  • U27_GGGGAA(T319, T321, T320, T322, gtK_out_gg(T319, T321)) → MERGEM_IN_GGGAA(T319, T320, T322)
    The graph contains the following edges 1 >= 1, 5 > 1, 3 >= 2, 4 >= 3

  • MERGEM_IN_GGGAA(T412, T413, .(T414, T415)) → PI_IN_GGGGAA(T412, T414, T413, T415)
    The graph contains the following edges 1 >= 1, 3 > 2, 2 >= 3, 3 > 4

(27) YES

(28) Obligation:

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

SPLITC_IN_GAAA(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → SPLITC_IN_GAAA(T81, X123, X122, T84)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
SPLITC_IN_GAAA(x1, x2, x3, x4)  =  SPLITC_IN_GAAA(x1)

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

(29) UsableRulesProof (EQUIVALENT transformation)

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:

SPLITC_IN_GAAA(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → SPLITC_IN_GAAA(T81, X123, X122, T84)

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

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

(31) PiDPToQDPProof (SOUND transformation)

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:

SPLITC_IN_GAAA(.(T80, T81)) → SPLITC_IN_GAAA(T81)

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

(33) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • SPLITC_IN_GAAA(.(T80, T81)) → SPLITC_IN_GAAA(T81)
    The graph contains the following edges 1 > 1

(34) YES

(35) Obligation:

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

PF_IN_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → PP_IN_GAAGAAA(T131, X175, T133, T132, X176, X177, T134)
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → PQ_IN_GAAGAA(T132, X176, T138, T137, X177, T139)
PQ_IN_GAAGAA(T132, T144, T146, T137, X177, T145) → MERGESORTE_IN_GAA(T132, T144, T146)
MERGESORTE_IN_GAA(.(T124, .(T125, T126)), X177, .(T129, T130)) → PF_IN_GGGAAAAAAA(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → MERGESORTE_IN_GAA(T131, T137, T138)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
MERGESORTE_IN_GAA(x1, x2, x3)  =  MERGESORTE_IN_GAA(x1)
PF_IN_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PF_IN_GGGAAAAAAA(x1, x2, x3)
U19_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_GGGAAAAAAA(x1, x2, x3, x11)
PP_IN_GAAGAAA(x1, x2, x3, x4, x5, x6, x7)  =  PP_IN_GAAGAAA(x1, x4)
U21_GAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_GAAGAAA(x1, x4, x8)
PQ_IN_GAAGAA(x1, x2, x3, x4, x5, x6)  =  PQ_IN_GAAGAA(x1, x4)

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

(36) UsableRulesProof (EQUIVALENT transformation)

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

(37) Obligation:

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

PF_IN_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_GGGAAAAAAA(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → PP_IN_GAAGAAA(T131, X175, T133, T132, X176, X177, T134)
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_GAAGAAA(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → PQ_IN_GAAGAA(T132, X176, T138, T137, X177, T139)
PQ_IN_GAAGAA(T132, T144, T146, T137, X177, T145) → MERGESORTE_IN_GAA(T132, T144, T146)
MERGESORTE_IN_GAA(.(T124, .(T125, T126)), X177, .(T129, T130)) → PF_IN_GGGAAAAAAA(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)
PP_IN_GAAGAAA(T131, T137, T138, T132, X176, X177, T139) → MERGESORTE_IN_GAA(T131, T137, T138)

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x1, x2)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
MERGESORTE_IN_GAA(x1, x2, x3)  =  MERGESORTE_IN_GAA(x1)
PF_IN_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PF_IN_GGGAAAAAAA(x1, x2, x3)
U19_GGGAAAAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_GGGAAAAAAA(x1, x2, x3, x11)
PP_IN_GAAGAAA(x1, x2, x3, x4, x5, x6, x7)  =  PP_IN_GAAGAAA(x1, x4)
U21_GAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_GAAGAAA(x1, x4, x8)
PQ_IN_GAAGAA(x1, x2, x3, x4, x5, x6)  =  PQ_IN_GAAGAA(x1, x4)

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

(38) PiDPToQDPProof (SOUND transformation)

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

(39) Obligation:

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

PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, splitD_in_ggaaa(T124, .(T125, T126)))
U19_GGGAAAAAAA(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → PP_IN_GAAGAAA(T131, T132)
PP_IN_GAAGAAA(T131, T132) → U21_GAAGAAA(T131, T132, mergesortE_in_gaa(T131))
U21_GAAGAAA(T131, T132, mergesortE_out_gaa(T131, T137)) → PQ_IN_GAAGAA(T132, T137)
PQ_IN_GAAGAA(T132, T137) → MERGESORTE_IN_GAA(T132)
MERGESORTE_IN_GAA(.(T124, .(T125, T126))) → PF_IN_GGGAAAAAAA(T124, T125, T126)
PP_IN_GAAGAAA(T131, T132) → MERGESORTE_IN_GAA(T131)

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61) → U3_ggaaa(T60, T61, splitC_in_gaaa(T61))
mergesortE_in_gaa([]) → mergesortE_out_gaa([], [])
mergesortE_in_gaa(.(T112, [])) → mergesortE_out_gaa(.(T112, []), .(T112, []))
mergesortE_in_gaa(.(T124, .(T125, T126))) → U4_gaa(T124, T125, T126, pF_in_gggaaaaaaa(T124, T125, T126))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U4_gaa(T124, T125, T126, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177)
splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
pF_in_gggaaaaaaa(T124, T125, T126) → U19_gggaaaaaaa(T124, T125, T126, splitD_in_ggaaa(T124, .(T125, T126)))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)
U19_gggaaaaaaa(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_in_gaagaaa(T131, T132))
U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_out_gaagaaa(T131, X175, T132, X176, X177)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, X175, X176, X177)
pP_in_gaagaaa(T131, T132) → U21_gaagaaa(T131, T132, mergesortE_in_gaa(T131))
U21_gaagaaa(T131, T132, mergesortE_out_gaa(T131, T137)) → U22_gaagaaa(T131, T137, T132, pQ_in_gaagaa(T132, T137))
U22_gaagaaa(T131, T137, T132, pQ_out_gaagaa(T132, X176, T137, X177)) → pP_out_gaagaaa(T131, T137, T132, X176, X177)
pQ_in_gaagaa(T132, T137) → U23_gaagaa(T132, T137, mergesortE_in_gaa(T132))
U23_gaagaa(T132, T137, mergesortE_out_gaa(T132, T144)) → U24_gaagaa(T132, T144, T137, mergeG_in_ggaaa(T137, T144))
U24_gaagaa(T132, T144, T137, mergeG_out_ggaaa(T137, T144, X177)) → pQ_out_gaagaa(T132, T144, T137, X177)
mergeG_in_ggaaa([], T173) → mergeG_out_ggaaa([], T173, T173)
mergeG_in_ggaaa(T188, []) → mergeG_out_ggaaa(T188, [], T188)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222)) → U5_ggaaa(T219, T220, T221, T222, pH_in_ggggaa(T219, T221, T220, T222))
mergeG_in_ggaaa(.(T437, T438), .(T439, T440)) → U6_ggaaa(T437, T438, T439, T440, pI_in_ggggaa(T437, T439, T438, T440))
U5_ggaaa(T219, T220, T221, T222, pH_out_ggggaa(T219, T221, T220, T222, T226)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226))
U6_ggaaa(T437, T438, T439, T440, pI_out_ggggaa(T437, T439, T438, T440, T444)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444))
pH_in_ggggaa(T219, T221, T220, T222) → U25_ggggaa(T219, T221, T220, T222, leJ_in_gg(T219, T221))
pI_in_ggggaa(T319, T321, T320, T322) → U27_ggggaa(T319, T321, T320, T322, gtK_in_gg(T319, T321))
U25_ggggaa(T219, T221, T220, T222, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, mergeL_in_gggaa(T220, T221, T222))
U27_ggggaa(T319, T321, T320, T322, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, mergeM_in_gggaa(T319, T320, T322))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U26_ggggaa(T219, T221, T220, T222, mergeL_out_gggaa(T220, T221, T222, T226)) → pH_out_ggggaa(T219, T221, T220, T222, T226)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U28_ggggaa(T319, T321, T320, T322, mergeM_out_gggaa(T319, T320, T322, T326)) → pI_out_ggggaa(T319, T321, T320, T322, T326)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
mergeL_in_gggaa([], T262, T263) → mergeL_out_gggaa([], T262, T263, .(T262, T263))
mergeL_in_gggaa(.(T294, T295), T296, T297) → U9_gggaa(T294, T295, T296, T297, pH_in_ggggaa(T294, T296, T295, T297))
mergeL_in_gggaa(.(T319, T320), T321, T322) → U10_gggaa(T319, T320, T321, T322, pI_in_ggggaa(T319, T321, T320, T322))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
mergeM_in_gggaa(T356, T357, []) → mergeM_out_gggaa(T356, T357, [], .(T356, T357))
mergeM_in_gggaa(T387, T388, .(T389, T390)) → U11_gggaa(T387, T388, T389, T390, pH_in_ggggaa(T387, T389, T388, T390))
mergeM_in_gggaa(T412, T413, .(T414, T415)) → U12_gggaa(T412, T413, T414, T415, pI_in_ggggaa(T412, T414, T413, T415))
U9_gggaa(T294, T295, T296, T297, pH_out_ggggaa(T294, T296, T295, T297, T301)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301))
U10_gggaa(T319, T320, T321, T322, pI_out_ggggaa(T319, T321, T320, T322, T326)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326))
U11_gggaa(T387, T388, T389, T390, pH_out_ggggaa(T387, T389, T388, T390, T394)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394))
U12_gggaa(T412, T413, T414, T415, pI_out_ggggaa(T412, T414, T413, T415, T419)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419))

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
mergesortE_in_gaa(x0)
U3_ggaaa(x0, x1, x2)
U4_gaa(x0, x1, x2, x3)
splitC_in_gaaa(x0)
pF_in_gggaaaaaaa(x0, x1, x2)
U2_gaaa(x0, x1, x2)
U19_gggaaaaaaa(x0, x1, x2, x3)
U20_gggaaaaaaa(x0, x1, x2, x3, x4, x5)
pP_in_gaagaaa(x0, x1)
U21_gaagaaa(x0, x1, x2)
U22_gaagaaa(x0, x1, x2, x3)
pQ_in_gaagaa(x0, x1)
U23_gaagaa(x0, x1, x2)
U24_gaagaa(x0, x1, x2, x3)
mergeG_in_ggaaa(x0, x1)
U5_ggaaa(x0, x1, x2, x3, x4)
U6_ggaaa(x0, x1, x2, x3, x4)
pH_in_ggggaa(x0, x1, x2, x3)
pI_in_ggggaa(x0, x1, x2, x3)
U25_ggggaa(x0, x1, x2, x3, x4)
U27_ggggaa(x0, x1, x2, x3, x4)
leJ_in_gg(x0, x1)
U26_ggggaa(x0, x1, x2, x3, x4)
gtK_in_gg(x0, x1)
U28_ggggaa(x0, x1, x2, x3, x4)
U7_gg(x0, x1, x2)
mergeL_in_gggaa(x0, x1, x2)
U8_gg(x0, x1, x2)
mergeM_in_gggaa(x0, x1, x2)
U9_gggaa(x0, x1, x2, x3, x4)
U10_gggaa(x0, x1, x2, x3, x4)
U11_gggaa(x0, x1, x2, x3, x4)
U12_gggaa(x0, x1, x2, x3, x4)

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

(40) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, splitD_in_ggaaa(T124, .(T125, T126))) at position [3] we obtained the following new rules [LPAR04]:

PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, U3_ggaaa(T124, .(T125, T126), splitC_in_gaaa(.(T125, T126))))

(41) Obligation:

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

U19_GGGAAAAAAA(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → PP_IN_GAAGAAA(T131, T132)
PP_IN_GAAGAAA(T131, T132) → U21_GAAGAAA(T131, T132, mergesortE_in_gaa(T131))
U21_GAAGAAA(T131, T132, mergesortE_out_gaa(T131, T137)) → PQ_IN_GAAGAA(T132, T137)
PQ_IN_GAAGAA(T132, T137) → MERGESORTE_IN_GAA(T132)
MERGESORTE_IN_GAA(.(T124, .(T125, T126))) → PF_IN_GGGAAAAAAA(T124, T125, T126)
PP_IN_GAAGAAA(T131, T132) → MERGESORTE_IN_GAA(T131)
PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, U3_ggaaa(T124, .(T125, T126), splitC_in_gaaa(.(T125, T126))))

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61) → U3_ggaaa(T60, T61, splitC_in_gaaa(T61))
mergesortE_in_gaa([]) → mergesortE_out_gaa([], [])
mergesortE_in_gaa(.(T112, [])) → mergesortE_out_gaa(.(T112, []), .(T112, []))
mergesortE_in_gaa(.(T124, .(T125, T126))) → U4_gaa(T124, T125, T126, pF_in_gggaaaaaaa(T124, T125, T126))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U4_gaa(T124, T125, T126, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177)
splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
pF_in_gggaaaaaaa(T124, T125, T126) → U19_gggaaaaaaa(T124, T125, T126, splitD_in_ggaaa(T124, .(T125, T126)))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)
U19_gggaaaaaaa(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_in_gaagaaa(T131, T132))
U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_out_gaagaaa(T131, X175, T132, X176, X177)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, X175, X176, X177)
pP_in_gaagaaa(T131, T132) → U21_gaagaaa(T131, T132, mergesortE_in_gaa(T131))
U21_gaagaaa(T131, T132, mergesortE_out_gaa(T131, T137)) → U22_gaagaaa(T131, T137, T132, pQ_in_gaagaa(T132, T137))
U22_gaagaaa(T131, T137, T132, pQ_out_gaagaa(T132, X176, T137, X177)) → pP_out_gaagaaa(T131, T137, T132, X176, X177)
pQ_in_gaagaa(T132, T137) → U23_gaagaa(T132, T137, mergesortE_in_gaa(T132))
U23_gaagaa(T132, T137, mergesortE_out_gaa(T132, T144)) → U24_gaagaa(T132, T144, T137, mergeG_in_ggaaa(T137, T144))
U24_gaagaa(T132, T144, T137, mergeG_out_ggaaa(T137, T144, X177)) → pQ_out_gaagaa(T132, T144, T137, X177)
mergeG_in_ggaaa([], T173) → mergeG_out_ggaaa([], T173, T173)
mergeG_in_ggaaa(T188, []) → mergeG_out_ggaaa(T188, [], T188)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222)) → U5_ggaaa(T219, T220, T221, T222, pH_in_ggggaa(T219, T221, T220, T222))
mergeG_in_ggaaa(.(T437, T438), .(T439, T440)) → U6_ggaaa(T437, T438, T439, T440, pI_in_ggggaa(T437, T439, T438, T440))
U5_ggaaa(T219, T220, T221, T222, pH_out_ggggaa(T219, T221, T220, T222, T226)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226))
U6_ggaaa(T437, T438, T439, T440, pI_out_ggggaa(T437, T439, T438, T440, T444)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444))
pH_in_ggggaa(T219, T221, T220, T222) → U25_ggggaa(T219, T221, T220, T222, leJ_in_gg(T219, T221))
pI_in_ggggaa(T319, T321, T320, T322) → U27_ggggaa(T319, T321, T320, T322, gtK_in_gg(T319, T321))
U25_ggggaa(T219, T221, T220, T222, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, mergeL_in_gggaa(T220, T221, T222))
U27_ggggaa(T319, T321, T320, T322, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, mergeM_in_gggaa(T319, T320, T322))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U26_ggggaa(T219, T221, T220, T222, mergeL_out_gggaa(T220, T221, T222, T226)) → pH_out_ggggaa(T219, T221, T220, T222, T226)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U28_ggggaa(T319, T321, T320, T322, mergeM_out_gggaa(T319, T320, T322, T326)) → pI_out_ggggaa(T319, T321, T320, T322, T326)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
mergeL_in_gggaa([], T262, T263) → mergeL_out_gggaa([], T262, T263, .(T262, T263))
mergeL_in_gggaa(.(T294, T295), T296, T297) → U9_gggaa(T294, T295, T296, T297, pH_in_ggggaa(T294, T296, T295, T297))
mergeL_in_gggaa(.(T319, T320), T321, T322) → U10_gggaa(T319, T320, T321, T322, pI_in_ggggaa(T319, T321, T320, T322))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
mergeM_in_gggaa(T356, T357, []) → mergeM_out_gggaa(T356, T357, [], .(T356, T357))
mergeM_in_gggaa(T387, T388, .(T389, T390)) → U11_gggaa(T387, T388, T389, T390, pH_in_ggggaa(T387, T389, T388, T390))
mergeM_in_gggaa(T412, T413, .(T414, T415)) → U12_gggaa(T412, T413, T414, T415, pI_in_ggggaa(T412, T414, T413, T415))
U9_gggaa(T294, T295, T296, T297, pH_out_ggggaa(T294, T296, T295, T297, T301)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301))
U10_gggaa(T319, T320, T321, T322, pI_out_ggggaa(T319, T321, T320, T322, T326)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326))
U11_gggaa(T387, T388, T389, T390, pH_out_ggggaa(T387, T389, T388, T390, T394)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394))
U12_gggaa(T412, T413, T414, T415, pI_out_ggggaa(T412, T414, T413, T415, T419)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419))

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
mergesortE_in_gaa(x0)
U3_ggaaa(x0, x1, x2)
U4_gaa(x0, x1, x2, x3)
splitC_in_gaaa(x0)
pF_in_gggaaaaaaa(x0, x1, x2)
U2_gaaa(x0, x1, x2)
U19_gggaaaaaaa(x0, x1, x2, x3)
U20_gggaaaaaaa(x0, x1, x2, x3, x4, x5)
pP_in_gaagaaa(x0, x1)
U21_gaagaaa(x0, x1, x2)
U22_gaagaaa(x0, x1, x2, x3)
pQ_in_gaagaa(x0, x1)
U23_gaagaa(x0, x1, x2)
U24_gaagaa(x0, x1, x2, x3)
mergeG_in_ggaaa(x0, x1)
U5_ggaaa(x0, x1, x2, x3, x4)
U6_ggaaa(x0, x1, x2, x3, x4)
pH_in_ggggaa(x0, x1, x2, x3)
pI_in_ggggaa(x0, x1, x2, x3)
U25_ggggaa(x0, x1, x2, x3, x4)
U27_ggggaa(x0, x1, x2, x3, x4)
leJ_in_gg(x0, x1)
U26_ggggaa(x0, x1, x2, x3, x4)
gtK_in_gg(x0, x1)
U28_ggggaa(x0, x1, x2, x3, x4)
U7_gg(x0, x1, x2)
mergeL_in_gggaa(x0, x1, x2)
U8_gg(x0, x1, x2)
mergeM_in_gggaa(x0, x1, x2)
U9_gggaa(x0, x1, x2, x3, x4)
U10_gggaa(x0, x1, x2, x3, x4)
U11_gggaa(x0, x1, x2, x3, x4)
U12_gggaa(x0, x1, x2, x3, x4)

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

(42) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, U3_ggaaa(T124, .(T125, T126), splitC_in_gaaa(.(T125, T126)))) at position [3,2] we obtained the following new rules [LPAR04]:

PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, U3_ggaaa(T124, .(T125, T126), U2_gaaa(T125, T126, splitC_in_gaaa(T126))))

(43) Obligation:

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

U19_GGGAAAAAAA(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → PP_IN_GAAGAAA(T131, T132)
PP_IN_GAAGAAA(T131, T132) → U21_GAAGAAA(T131, T132, mergesortE_in_gaa(T131))
U21_GAAGAAA(T131, T132, mergesortE_out_gaa(T131, T137)) → PQ_IN_GAAGAA(T132, T137)
PQ_IN_GAAGAA(T132, T137) → MERGESORTE_IN_GAA(T132)
MERGESORTE_IN_GAA(.(T124, .(T125, T126))) → PF_IN_GGGAAAAAAA(T124, T125, T126)
PP_IN_GAAGAAA(T131, T132) → MERGESORTE_IN_GAA(T131)
PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, U3_ggaaa(T124, .(T125, T126), U2_gaaa(T125, T126, splitC_in_gaaa(T126))))

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61) → U3_ggaaa(T60, T61, splitC_in_gaaa(T61))
mergesortE_in_gaa([]) → mergesortE_out_gaa([], [])
mergesortE_in_gaa(.(T112, [])) → mergesortE_out_gaa(.(T112, []), .(T112, []))
mergesortE_in_gaa(.(T124, .(T125, T126))) → U4_gaa(T124, T125, T126, pF_in_gggaaaaaaa(T124, T125, T126))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U4_gaa(T124, T125, T126, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177)
splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
pF_in_gggaaaaaaa(T124, T125, T126) → U19_gggaaaaaaa(T124, T125, T126, splitD_in_ggaaa(T124, .(T125, T126)))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)
U19_gggaaaaaaa(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_in_gaagaaa(T131, T132))
U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_out_gaagaaa(T131, X175, T132, X176, X177)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, X175, X176, X177)
pP_in_gaagaaa(T131, T132) → U21_gaagaaa(T131, T132, mergesortE_in_gaa(T131))
U21_gaagaaa(T131, T132, mergesortE_out_gaa(T131, T137)) → U22_gaagaaa(T131, T137, T132, pQ_in_gaagaa(T132, T137))
U22_gaagaaa(T131, T137, T132, pQ_out_gaagaa(T132, X176, T137, X177)) → pP_out_gaagaaa(T131, T137, T132, X176, X177)
pQ_in_gaagaa(T132, T137) → U23_gaagaa(T132, T137, mergesortE_in_gaa(T132))
U23_gaagaa(T132, T137, mergesortE_out_gaa(T132, T144)) → U24_gaagaa(T132, T144, T137, mergeG_in_ggaaa(T137, T144))
U24_gaagaa(T132, T144, T137, mergeG_out_ggaaa(T137, T144, X177)) → pQ_out_gaagaa(T132, T144, T137, X177)
mergeG_in_ggaaa([], T173) → mergeG_out_ggaaa([], T173, T173)
mergeG_in_ggaaa(T188, []) → mergeG_out_ggaaa(T188, [], T188)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222)) → U5_ggaaa(T219, T220, T221, T222, pH_in_ggggaa(T219, T221, T220, T222))
mergeG_in_ggaaa(.(T437, T438), .(T439, T440)) → U6_ggaaa(T437, T438, T439, T440, pI_in_ggggaa(T437, T439, T438, T440))
U5_ggaaa(T219, T220, T221, T222, pH_out_ggggaa(T219, T221, T220, T222, T226)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226))
U6_ggaaa(T437, T438, T439, T440, pI_out_ggggaa(T437, T439, T438, T440, T444)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444))
pH_in_ggggaa(T219, T221, T220, T222) → U25_ggggaa(T219, T221, T220, T222, leJ_in_gg(T219, T221))
pI_in_ggggaa(T319, T321, T320, T322) → U27_ggggaa(T319, T321, T320, T322, gtK_in_gg(T319, T321))
U25_ggggaa(T219, T221, T220, T222, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, mergeL_in_gggaa(T220, T221, T222))
U27_ggggaa(T319, T321, T320, T322, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, mergeM_in_gggaa(T319, T320, T322))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U26_ggggaa(T219, T221, T220, T222, mergeL_out_gggaa(T220, T221, T222, T226)) → pH_out_ggggaa(T219, T221, T220, T222, T226)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U28_ggggaa(T319, T321, T320, T322, mergeM_out_gggaa(T319, T320, T322, T326)) → pI_out_ggggaa(T319, T321, T320, T322, T326)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
mergeL_in_gggaa([], T262, T263) → mergeL_out_gggaa([], T262, T263, .(T262, T263))
mergeL_in_gggaa(.(T294, T295), T296, T297) → U9_gggaa(T294, T295, T296, T297, pH_in_ggggaa(T294, T296, T295, T297))
mergeL_in_gggaa(.(T319, T320), T321, T322) → U10_gggaa(T319, T320, T321, T322, pI_in_ggggaa(T319, T321, T320, T322))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
mergeM_in_gggaa(T356, T357, []) → mergeM_out_gggaa(T356, T357, [], .(T356, T357))
mergeM_in_gggaa(T387, T388, .(T389, T390)) → U11_gggaa(T387, T388, T389, T390, pH_in_ggggaa(T387, T389, T388, T390))
mergeM_in_gggaa(T412, T413, .(T414, T415)) → U12_gggaa(T412, T413, T414, T415, pI_in_ggggaa(T412, T414, T413, T415))
U9_gggaa(T294, T295, T296, T297, pH_out_ggggaa(T294, T296, T295, T297, T301)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301))
U10_gggaa(T319, T320, T321, T322, pI_out_ggggaa(T319, T321, T320, T322, T326)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326))
U11_gggaa(T387, T388, T389, T390, pH_out_ggggaa(T387, T389, T388, T390, T394)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394))
U12_gggaa(T412, T413, T414, T415, pI_out_ggggaa(T412, T414, T413, T415, T419)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419))

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
mergesortE_in_gaa(x0)
U3_ggaaa(x0, x1, x2)
U4_gaa(x0, x1, x2, x3)
splitC_in_gaaa(x0)
pF_in_gggaaaaaaa(x0, x1, x2)
U2_gaaa(x0, x1, x2)
U19_gggaaaaaaa(x0, x1, x2, x3)
U20_gggaaaaaaa(x0, x1, x2, x3, x4, x5)
pP_in_gaagaaa(x0, x1)
U21_gaagaaa(x0, x1, x2)
U22_gaagaaa(x0, x1, x2, x3)
pQ_in_gaagaa(x0, x1)
U23_gaagaa(x0, x1, x2)
U24_gaagaa(x0, x1, x2, x3)
mergeG_in_ggaaa(x0, x1)
U5_ggaaa(x0, x1, x2, x3, x4)
U6_ggaaa(x0, x1, x2, x3, x4)
pH_in_ggggaa(x0, x1, x2, x3)
pI_in_ggggaa(x0, x1, x2, x3)
U25_ggggaa(x0, x1, x2, x3, x4)
U27_ggggaa(x0, x1, x2, x3, x4)
leJ_in_gg(x0, x1)
U26_ggggaa(x0, x1, x2, x3, x4)
gtK_in_gg(x0, x1)
U28_ggggaa(x0, x1, x2, x3, x4)
U7_gg(x0, x1, x2)
mergeL_in_gggaa(x0, x1, x2)
U8_gg(x0, x1, x2)
mergeM_in_gggaa(x0, x1, x2)
U9_gggaa(x0, x1, x2, x3, x4)
U10_gggaa(x0, x1, x2, x3, x4)
U11_gggaa(x0, x1, x2, x3, x4)
U12_gggaa(x0, x1, x2, x3, x4)

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

(44) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


MERGESORTE_IN_GAA(.(T124, .(T125, T126))) → PF_IN_GGGAAAAAAA(T124, T125, T126)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:

POL( U21_GAAGAAA(x1, ..., x3) ) = x2


POL( mergesortE_in_gaa(x1) ) = 0


POL( [] ) = 0


POL( mergesortE_out_gaa(x1, x2) ) = 2x2 + 2


POL( .(x1, x2) ) = 2x2 + 1


POL( U4_gaa(x1, ..., x4) ) = max{0, -1}


POL( pF_in_gggaaaaaaa(x1, ..., x3) ) = x1 + 2x3


POL( U19_GGGAAAAAAA(x1, ..., x4) ) = x4 + 1


POL( U2_gaaa(x1, ..., x3) ) = 2x3 + 1


POL( U3_ggaaa(x1, ..., x3) ) = x3


POL( U19_gggaaaaaaa(x1, ..., x4) ) = max{0, -2}


POL( splitC_in_gaaa(x1) ) = x1


POL( splitC_out_gaaa(x1, ..., x3) ) = x2 + 2x3


POL( splitD_out_ggaaa(x1, ..., x4) ) = max{0, x3 + x4 - 1}


POL( U20_gggaaaaaaa(x1, ..., x6) ) = max{0, 2x1 + x2 + x4 + x5 + 2x6 - 1}


POL( pP_in_gaagaaa(x1, x2) ) = 2x1


POL( pP_out_gaagaaa(x1, ..., x5) ) = 2x2 + x4 + x5 + 2


POL( pF_out_gggaaaaaaa(x1, ..., x8) ) = 2x1 + 2x2 + 2x3 + 2x4 + 2x5 + 2x6 + 2x7 + x8


POL( U21_gaagaaa(x1, ..., x3) ) = 2x2 + 2


POL( splitD_in_ggaaa(x1, x2) ) = max{0, -2}


POL( U22_gaagaaa(x1, ..., x4) ) = x1 + x2 + x3


POL( pQ_in_gaagaa(x1, x2) ) = 2x1 + x2 + 1


POL( pQ_out_gaagaa(x1, ..., x4) ) = x1 + 2x2 + x3 + x4 + 2


POL( U23_gaagaa(x1, ..., x3) ) = x1 + 2x2 + 2x3 + 2


POL( U24_gaagaa(x1, ..., x4) ) = 2x1 + x2 + 2x3


POL( mergeG_in_ggaaa(x1, x2) ) = 0


POL( mergeG_out_ggaaa(x1, ..., x3) ) = max{0, x2 - 2}


POL( U5_ggaaa(x1, ..., x5) ) = 2x1 + x3 + 2x5 + 2


POL( pH_in_ggggaa(x1, ..., x4) ) = x1 + x3


POL( U6_ggaaa(x1, ..., x5) ) = x1 + 2x5 + 2


POL( pI_in_ggggaa(x1, ..., x4) ) = 2x2 + 2x3 + x4 + 2


POL( U25_ggggaa(x1, ..., x5) ) = max{0, x1 + x3 + x4 - 1}


POL( leJ_in_gg(x1, x2) ) = 2x2


POL( pH_out_ggggaa(x1, ..., x5) ) = x2 + 2x4


POL( U27_ggggaa(x1, ..., x5) ) = max{0, -2}


POL( gtK_in_gg(x1, x2) ) = 0


POL( pI_out_ggggaa(x1, ..., x5) ) = 2x3 + 2x4 + x5


POL( leJ_out_gg(x1, x2) ) = 1


POL( U26_ggggaa(x1, ..., x5) ) = max{0, 2x2 + x4 - 2}


POL( mergeL_in_gggaa(x1, ..., x3) ) = x2


POL( mergeL_out_gggaa(x1, ..., x4) ) = max{0, 2x1 + x2 + 2x3 + x4 - 2}


POL( U9_gggaa(x1, ..., x5) ) = 2x2 + 2x3 + x4 + 2x5 + 1


POL( s(x1) ) = 2x1 + 1


POL( U7_gg(x1, ..., x3) ) = max{0, -2}


POL( 0 ) = 0


POL( U10_gggaa(x1, ..., x5) ) = max{0, x4 - 2}


POL( U8_gg(x1, ..., x3) ) = x2 + 2


POL( gtK_out_gg(x1, x2) ) = max{0, x2 - 2}


POL( U28_ggggaa(x1, ..., x5) ) = x1 + 2x2 + x3 + 2x4 + x5 + 2


POL( mergeM_in_gggaa(x1, ..., x3) ) = 2x1 + x2 + x3 + 2


POL( mergeM_out_gggaa(x1, ..., x4) ) = 2x1 + 2x2 + 2x3


POL( U11_gggaa(x1, ..., x5) ) = max{0, 2x1 + x2 + 2x4 - 2}


POL( U12_gggaa(x1, ..., x5) ) = max{0, x1 + x2 + x3 - 2}


POL( PP_IN_GAAGAAA(x1, x2) ) = x1 + x2


POL( PQ_IN_GAAGAA(x1, x2) ) = x1


POL( MERGESORTE_IN_GAA(x1) ) = x1


POL( PF_IN_GGGAAAAAAA(x1, ..., x3) ) = 2x3 + 2



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

splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)

(45) Obligation:

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

U19_GGGAAAAAAA(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → PP_IN_GAAGAAA(T131, T132)
PP_IN_GAAGAAA(T131, T132) → U21_GAAGAAA(T131, T132, mergesortE_in_gaa(T131))
U21_GAAGAAA(T131, T132, mergesortE_out_gaa(T131, T137)) → PQ_IN_GAAGAA(T132, T137)
PQ_IN_GAAGAA(T132, T137) → MERGESORTE_IN_GAA(T132)
PP_IN_GAAGAAA(T131, T132) → MERGESORTE_IN_GAA(T131)
PF_IN_GGGAAAAAAA(T124, T125, T126) → U19_GGGAAAAAAA(T124, T125, T126, U3_ggaaa(T124, .(T125, T126), U2_gaaa(T125, T126, splitC_in_gaaa(T126))))

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61) → U3_ggaaa(T60, T61, splitC_in_gaaa(T61))
mergesortE_in_gaa([]) → mergesortE_out_gaa([], [])
mergesortE_in_gaa(.(T112, [])) → mergesortE_out_gaa(.(T112, []), .(T112, []))
mergesortE_in_gaa(.(T124, .(T125, T126))) → U4_gaa(T124, T125, T126, pF_in_gggaaaaaaa(T124, T125, T126))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U4_gaa(T124, T125, T126, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177)
splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
pF_in_gggaaaaaaa(T124, T125, T126) → U19_gggaaaaaaa(T124, T125, T126, splitD_in_ggaaa(T124, .(T125, T126)))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)
U19_gggaaaaaaa(T124, T125, T126, splitD_out_ggaaa(T124, .(T125, T126), T131, T132)) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_in_gaagaaa(T131, T132))
U20_gggaaaaaaa(T124, T125, T126, T131, T132, pP_out_gaagaaa(T131, X175, T132, X176, X177)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, X175, X176, X177)
pP_in_gaagaaa(T131, T132) → U21_gaagaaa(T131, T132, mergesortE_in_gaa(T131))
U21_gaagaaa(T131, T132, mergesortE_out_gaa(T131, T137)) → U22_gaagaaa(T131, T137, T132, pQ_in_gaagaa(T132, T137))
U22_gaagaaa(T131, T137, T132, pQ_out_gaagaa(T132, X176, T137, X177)) → pP_out_gaagaaa(T131, T137, T132, X176, X177)
pQ_in_gaagaa(T132, T137) → U23_gaagaa(T132, T137, mergesortE_in_gaa(T132))
U23_gaagaa(T132, T137, mergesortE_out_gaa(T132, T144)) → U24_gaagaa(T132, T144, T137, mergeG_in_ggaaa(T137, T144))
U24_gaagaa(T132, T144, T137, mergeG_out_ggaaa(T137, T144, X177)) → pQ_out_gaagaa(T132, T144, T137, X177)
mergeG_in_ggaaa([], T173) → mergeG_out_ggaaa([], T173, T173)
mergeG_in_ggaaa(T188, []) → mergeG_out_ggaaa(T188, [], T188)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222)) → U5_ggaaa(T219, T220, T221, T222, pH_in_ggggaa(T219, T221, T220, T222))
mergeG_in_ggaaa(.(T437, T438), .(T439, T440)) → U6_ggaaa(T437, T438, T439, T440, pI_in_ggggaa(T437, T439, T438, T440))
U5_ggaaa(T219, T220, T221, T222, pH_out_ggggaa(T219, T221, T220, T222, T226)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226))
U6_ggaaa(T437, T438, T439, T440, pI_out_ggggaa(T437, T439, T438, T440, T444)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444))
pH_in_ggggaa(T219, T221, T220, T222) → U25_ggggaa(T219, T221, T220, T222, leJ_in_gg(T219, T221))
pI_in_ggggaa(T319, T321, T320, T322) → U27_ggggaa(T319, T321, T320, T322, gtK_in_gg(T319, T321))
U25_ggggaa(T219, T221, T220, T222, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, mergeL_in_gggaa(T220, T221, T222))
U27_ggggaa(T319, T321, T320, T322, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, mergeM_in_gggaa(T319, T320, T322))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U26_ggggaa(T219, T221, T220, T222, mergeL_out_gggaa(T220, T221, T222, T226)) → pH_out_ggggaa(T219, T221, T220, T222, T226)
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U28_ggggaa(T319, T321, T320, T322, mergeM_out_gggaa(T319, T320, T322, T326)) → pI_out_ggggaa(T319, T321, T320, T322, T326)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
mergeL_in_gggaa([], T262, T263) → mergeL_out_gggaa([], T262, T263, .(T262, T263))
mergeL_in_gggaa(.(T294, T295), T296, T297) → U9_gggaa(T294, T295, T296, T297, pH_in_ggggaa(T294, T296, T295, T297))
mergeL_in_gggaa(.(T319, T320), T321, T322) → U10_gggaa(T319, T320, T321, T322, pI_in_ggggaa(T319, T321, T320, T322))
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
mergeM_in_gggaa(T356, T357, []) → mergeM_out_gggaa(T356, T357, [], .(T356, T357))
mergeM_in_gggaa(T387, T388, .(T389, T390)) → U11_gggaa(T387, T388, T389, T390, pH_in_ggggaa(T387, T389, T388, T390))
mergeM_in_gggaa(T412, T413, .(T414, T415)) → U12_gggaa(T412, T413, T414, T415, pI_in_ggggaa(T412, T414, T413, T415))
U9_gggaa(T294, T295, T296, T297, pH_out_ggggaa(T294, T296, T295, T297, T301)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301))
U10_gggaa(T319, T320, T321, T322, pI_out_ggggaa(T319, T321, T320, T322, T326)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326))
U11_gggaa(T387, T388, T389, T390, pH_out_ggggaa(T387, T389, T388, T390, T394)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394))
U12_gggaa(T412, T413, T414, T415, pI_out_ggggaa(T412, T414, T413, T415, T419)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419))

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
mergesortE_in_gaa(x0)
U3_ggaaa(x0, x1, x2)
U4_gaa(x0, x1, x2, x3)
splitC_in_gaaa(x0)
pF_in_gggaaaaaaa(x0, x1, x2)
U2_gaaa(x0, x1, x2)
U19_gggaaaaaaa(x0, x1, x2, x3)
U20_gggaaaaaaa(x0, x1, x2, x3, x4, x5)
pP_in_gaagaaa(x0, x1)
U21_gaagaaa(x0, x1, x2)
U22_gaagaaa(x0, x1, x2, x3)
pQ_in_gaagaa(x0, x1)
U23_gaagaa(x0, x1, x2)
U24_gaagaa(x0, x1, x2, x3)
mergeG_in_ggaaa(x0, x1)
U5_ggaaa(x0, x1, x2, x3, x4)
U6_ggaaa(x0, x1, x2, x3, x4)
pH_in_ggggaa(x0, x1, x2, x3)
pI_in_ggggaa(x0, x1, x2, x3)
U25_ggggaa(x0, x1, x2, x3, x4)
U27_ggggaa(x0, x1, x2, x3, x4)
leJ_in_gg(x0, x1)
U26_ggggaa(x0, x1, x2, x3, x4)
gtK_in_gg(x0, x1)
U28_ggggaa(x0, x1, x2, x3, x4)
U7_gg(x0, x1, x2)
mergeL_in_gggaa(x0, x1, x2)
U8_gg(x0, x1, x2)
mergeM_in_gggaa(x0, x1, x2)
U9_gggaa(x0, x1, x2, x3, x4)
U10_gggaa(x0, x1, x2, x3, x4)
U11_gggaa(x0, x1, x2, x3, x4)
U12_gggaa(x0, x1, x2, x3, x4)

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

(46) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 6 less nodes.

(47) TRUE

(48) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41)), T45, .(T46, T44)) → PB_IN_GGAAAGAAAA(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)
PB_IN_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → PN_IN_GGAAGAAA(T39, T48, X35, T49, T47, X36, T50, T51)
PN_IN_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90) → MERGESORTA_IN_GAA(.(T39, T48), T87, T88)

The TRS R consists of the following rules:

mergesortA_in_gaa([], [], T5) → mergesortA_out_gaa([], [], T5)
mergesortA_in_gaa(.(T8, []), .(T8, []), T9) → mergesortA_out_gaa(.(T8, []), .(T8, []), T9)
mergesortA_in_gaa(.(T39, .(T40, T41)), T45, .(T46, T44)) → U1_gaa(T39, T40, T41, T45, T46, T44, pB_in_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46))
pB_in_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
U13_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_in_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51))
pN_in_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90) → U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_in_gaa(.(T39, T48), T87, T88))
U15_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, mergesortA_out_gaa(.(T39, T48), T87, T88)) → U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_in_gaagaa(T47, X36, T88, T87, T89, T90))
pO_in_gaagaa(T47, T93, T96, T87, T94, T95) → U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_in_gaa(T47, T93, T96))
mergesortE_in_gaa([], [], T103) → mergesortE_out_gaa([], [], T103)
mergesortE_in_gaa(.(T112, []), .(T112, []), T113) → mergesortE_out_gaa(.(T112, []), .(T112, []), T113)
mergesortE_in_gaa(.(T124, .(T125, T126)), X177, .(T129, T130)) → U4_gaa(T124, T125, T126, X177, T129, T130, pF_in_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177))
pF_in_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177) → U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_in_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133)))
U19_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, splitD_out_ggaaa(T124, .(T125, T126), T131, T132, .(T134, T133))) → U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_in_gaagaaa(T131, X175, T133, T132, X176, X177, T134))
pP_in_gaagaaa(T131, T137, T138, T132, X176, X177, T139) → U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_in_gaa(T131, T137, T138))
U21_gaagaaa(T131, T137, T138, T132, X176, X177, T139, mergesortE_out_gaa(T131, T137, T138)) → U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_in_gaagaa(T132, X176, T138, T137, X177, T139))
pQ_in_gaagaa(T132, T144, T146, T137, X177, T145) → U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_in_gaa(T132, T144, T146))
U23_gaagaa(T132, T144, T146, T137, X177, T145, mergesortE_out_gaa(T132, T144, T146)) → U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_in_ggaaa(T137, T144, X177, T145, T146))
mergeG_in_ggaaa([], T173, T173, T174, T175) → mergeG_out_ggaaa([], T173, T173, T174, T175)
mergeG_in_ggaaa(T188, [], T188, T189, T190) → mergeG_out_ggaaa(T188, [], T188, T189, T190)
mergeG_in_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227) → U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_in_ggggaa(T219, T221, T220, T222, T226, T227))
pH_in_ggggaa(T219, T221, T220, T222, T226, T227) → U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_in_gg(T219, T221))
leJ_in_gg(s(T240), s(T241)) → U7_gg(T240, T241, leJ_in_gg(T240, T241))
leJ_in_gg(0, s(0)) → leJ_out_gg(0, s(0))
leJ_in_gg(0, 0) → leJ_out_gg(0, 0)
U7_gg(T240, T241, leJ_out_gg(T240, T241)) → leJ_out_gg(s(T240), s(T241))
U25_ggggaa(T219, T221, T220, T222, T226, T227, leJ_out_gg(T219, T221)) → U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_in_gggaa(T220, T221, T222, T226, T227))
mergeL_in_gggaa([], T262, T263, .(T262, T263), T264) → mergeL_out_gggaa([], T262, T263, .(T262, T263), T264)
mergeL_in_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302)) → U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_in_ggggaa(T294, T296, T295, T297, T301, T302))
U9_gggaa(T294, T295, T296, T297, T301, T299, T302, pH_out_ggggaa(T294, T296, T295, T297, T301, T302)) → mergeL_out_gggaa(.(T294, T295), T296, T297, .(T294, T301), .(T299, T302))
mergeL_in_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327)) → U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_in_ggggaa(T319, T321, T320, T322, T326, T327))
pI_in_ggggaa(T319, T321, T320, T322, T326, T327) → U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_in_gg(T319, T321))
gtK_in_gg(s(T340), s(T341)) → U8_gg(T340, T341, gtK_in_gg(T340, T341))
gtK_in_gg(s(0), 0) → gtK_out_gg(s(0), 0)
U8_gg(T340, T341, gtK_out_gg(T340, T341)) → gtK_out_gg(s(T340), s(T341))
U27_ggggaa(T319, T321, T320, T322, T326, T327, gtK_out_gg(T319, T321)) → U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_in_gggaa(T319, T320, T322, T326, T327))
mergeM_in_gggaa(T356, T357, [], .(T356, T357), T358) → mergeM_out_gggaa(T356, T357, [], .(T356, T357), T358)
mergeM_in_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395)) → U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_in_ggggaa(T387, T389, T388, T390, T394, T395))
U11_gggaa(T387, T388, T389, T390, T394, T392, T395, pH_out_ggggaa(T387, T389, T388, T390, T394, T395)) → mergeM_out_gggaa(T387, T388, .(T389, T390), .(T387, T394), .(T392, T395))
mergeM_in_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420)) → U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_in_ggggaa(T412, T414, T413, T415, T419, T420))
U12_gggaa(T412, T413, T414, T415, T419, T417, T420, pI_out_ggggaa(T412, T414, T413, T415, T419, T420)) → mergeM_out_gggaa(T412, T413, .(T414, T415), .(T414, T419), .(T417, T420))
U28_ggggaa(T319, T321, T320, T322, T326, T327, mergeM_out_gggaa(T319, T320, T322, T326, T327)) → pI_out_ggggaa(T319, T321, T320, T322, T326, T327)
U10_gggaa(T319, T320, T321, T322, T326, T324, T327, pI_out_ggggaa(T319, T321, T320, T322, T326, T327)) → mergeL_out_gggaa(.(T319, T320), T321, T322, .(T321, T326), .(T324, T327))
U26_ggggaa(T219, T221, T220, T222, T226, T227, mergeL_out_gggaa(T220, T221, T222, T226, T227)) → pH_out_ggggaa(T219, T221, T220, T222, T226, T227)
U5_ggaaa(T219, T220, T221, T222, T226, T224, T227, pH_out_ggggaa(T219, T221, T220, T222, T226, T227)) → mergeG_out_ggaaa(.(T219, T220), .(T221, T222), .(T219, T226), T224, T227)
mergeG_in_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445) → U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_in_ggggaa(T437, T439, T438, T440, T444, T445))
U6_ggaaa(T437, T438, T439, T440, T444, T442, T445, pI_out_ggggaa(T437, T439, T438, T440, T444, T445)) → mergeG_out_ggaaa(.(T437, T438), .(T439, T440), .(T439, T444), T442, T445)
U24_gaagaa(T132, T144, T146, T137, X177, T145, mergeG_out_ggaaa(T137, T144, X177, T145, T146)) → pQ_out_gaagaa(T132, T144, T146, T137, X177, T145)
U22_gaagaaa(T131, T137, T138, T132, X176, X177, T139, pQ_out_gaagaa(T132, X176, T138, T137, X177, T139)) → pP_out_gaagaaa(T131, T137, T138, T132, X176, X177, T139)
U20_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177, pP_out_gaagaaa(T131, X175, T133, T132, X176, X177, T134)) → pF_out_gggaaaaaaa(T124, T125, T126, T131, T132, T134, T133, X175, X176, X177)
U4_gaa(T124, T125, T126, X177, T129, T130, pF_out_gggaaaaaaa(T124, T125, T126, X173, X174, T129, T130, X175, X176, X177)) → mergesortE_out_gaa(.(T124, .(T125, T126)), X177, .(T129, T130))
U17_gaagaa(T47, T93, T96, T87, T94, T95, mergesortE_out_gaa(T47, T93, T96)) → U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_in_ggaaa(T87, T93, T94, T95, T96))
U18_gaagaa(T47, T93, T96, T87, T94, T95, mergeG_out_ggaaa(T87, T93, T94, T95, T96)) → pO_out_gaagaa(T47, T93, T96, T87, T94, T95)
U16_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90, pO_out_gaagaa(T47, X36, T88, T87, T89, T90)) → pN_out_ggaagaaa(T39, T48, T87, T88, T47, X36, T89, T90)
U14_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, pN_out_ggaagaaa(T39, T48, X35, T49, T47, X36, T50, T51)) → pB_out_ggaaagaaaa(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51)
U1_gaa(T39, T40, T41, T45, T46, T44, pB_out_ggaaagaaaa(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)) → mergesortA_out_gaa(.(T39, .(T40, T41)), T45, .(T46, T44))

The argument filtering Pi contains the following mapping:
mergesortA_in_gaa(x1, x2, x3)  =  mergesortA_in_gaa(x1)
[]  =  []
mergesortA_out_gaa(x1, x2, x3)  =  mergesortA_out_gaa(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U1_gaa(x1, x2, x3, x7)
pB_in_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_in_ggaaagaaaa(x1, x2, x6)
U13_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_ggaaagaaaa(x1, x2, x6, x11)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
U14_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U14_ggaaagaaaa(x1, x2, x3, x4, x6, x11)
pN_in_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_in_ggaagaaa(x1, x2, x5)
U15_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U15_ggaagaaa(x1, x2, x5, x9)
U16_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U16_ggaagaaa(x1, x2, x3, x5, x9)
pO_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_in_gaagaa(x1, x4)
U17_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaagaa(x1, x4, x7)
mergesortE_in_gaa(x1, x2, x3)  =  mergesortE_in_gaa(x1)
mergesortE_out_gaa(x1, x2, x3)  =  mergesortE_out_gaa(x1, x2)
U4_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U4_gaa(x1, x2, x3, x7)
pF_in_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_in_gggaaaaaaa(x1, x2, x3)
U19_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U19_gggaaaaaaa(x1, x2, x3, x11)
U20_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U20_gggaaaaaaa(x1, x2, x3, x4, x5, x11)
pP_in_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_in_gaagaaa(x1, x4)
U21_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U21_gaagaaa(x1, x4, x8)
U22_gaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagaaa(x1, x2, x4, x8)
pQ_in_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_in_gaagaa(x1, x4)
U23_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U23_gaagaa(x1, x4, x7)
U24_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U24_gaagaa(x1, x2, x4, x7)
mergeG_in_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_in_ggaaa(x1, x2)
mergeG_out_ggaaa(x1, x2, x3, x4, x5)  =  mergeG_out_ggaaa(x1, x2, x3)
U5_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_ggaaa(x1, x2, x3, x4, x8)
pH_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_in_ggggaa(x1, x2, x3, x4)
U25_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U25_ggggaa(x1, x2, x3, x4, x7)
leJ_in_gg(x1, x2)  =  leJ_in_gg(x1, x2)
s(x1)  =  s(x1)
U7_gg(x1, x2, x3)  =  U7_gg(x1, x2, x3)
0  =  0
leJ_out_gg(x1, x2)  =  leJ_out_gg(x1, x2)
U26_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U26_ggggaa(x1, x2, x3, x4, x7)
mergeL_in_gggaa(x1, x2, x3, x4, x5)  =  mergeL_in_gggaa(x1, x2, x3)
mergeL_out_gggaa(x1, x2, x3, x4, x5)  =  mergeL_out_gggaa(x1, x2, x3, x4)
U9_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U9_gggaa(x1, x2, x3, x4, x8)
pH_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pH_out_ggggaa(x1, x2, x3, x4, x5)
U10_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U10_gggaa(x1, x2, x3, x4, x8)
pI_in_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_in_ggggaa(x1, x2, x3, x4)
U27_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U27_ggggaa(x1, x2, x3, x4, x7)
gtK_in_gg(x1, x2)  =  gtK_in_gg(x1, x2)
U8_gg(x1, x2, x3)  =  U8_gg(x1, x2, x3)
gtK_out_gg(x1, x2)  =  gtK_out_gg(x1, x2)
U28_ggggaa(x1, x2, x3, x4, x5, x6, x7)  =  U28_ggggaa(x1, x2, x3, x4, x7)
mergeM_in_gggaa(x1, x2, x3, x4, x5)  =  mergeM_in_gggaa(x1, x2, x3)
mergeM_out_gggaa(x1, x2, x3, x4, x5)  =  mergeM_out_gggaa(x1, x2, x3, x4)
U11_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_gggaa(x1, x2, x3, x4, x8)
U12_gggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_gggaa(x1, x2, x3, x4, x8)
pI_out_ggggaa(x1, x2, x3, x4, x5, x6)  =  pI_out_ggggaa(x1, x2, x3, x4, x5)
U6_ggaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_ggaaa(x1, x2, x3, x4, x8)
pQ_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pQ_out_gaagaa(x1, x2, x4, x5)
pP_out_gaagaaa(x1, x2, x3, x4, x5, x6, x7)  =  pP_out_gaagaaa(x1, x2, x4, x5, x6)
pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pF_out_gggaaaaaaa(x1, x2, x3, x4, x5, x8, x9, x10)
U18_gaagaa(x1, x2, x3, x4, x5, x6, x7)  =  U18_gaagaa(x1, x2, x4, x7)
pO_out_gaagaa(x1, x2, x3, x4, x5, x6)  =  pO_out_gaagaa(x1, x2, x4, x5)
pN_out_ggaagaaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pN_out_ggaagaaa(x1, x2, x3, x5, x6, x7)
pB_out_ggaaagaaaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  pB_out_ggaaagaaaa(x1, x2, x3, x4, x6, x7, x8, x9)
MERGESORTA_IN_GAA(x1, x2, x3)  =  MERGESORTA_IN_GAA(x1)
PB_IN_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PB_IN_GGAAAGAAAA(x1, x2, x6)
U13_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_GGAAAGAAAA(x1, x2, x6, x11)
PN_IN_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PN_IN_GGAAGAAA(x1, x2, x5)

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

(49) UsableRulesProof (EQUIVALENT transformation)

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

(50) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41)), T45, .(T46, T44)) → PB_IN_GGAAAGAAAA(T40, T41, X63, X62, T44, T39, X35, X36, T45, T46)
PB_IN_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51) → U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_in_ggaaa(T40, T41, T47, T48, T49))
U13_GGAAAGAAAA(T40, T41, T47, T48, T49, T39, X35, X36, T50, T51, splitD_out_ggaaa(T40, T41, T47, T48, T49)) → PN_IN_GGAAGAAA(T39, T48, X35, T49, T47, X36, T50, T51)
PN_IN_GGAAGAAA(T39, T48, T87, T88, T47, X36, T89, T90) → MERGESORTA_IN_GAA(.(T39, T48), T87, T88)

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64)) → U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_in_gaaa(T61, X92, X91, T64))
U3_ggaaa(T60, T61, X91, X92, T62, T64, splitC_out_gaaa(T61, X92, X91, T64)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92, .(T62, T64))
splitC_in_gaaa([], [], [], T71) → splitC_out_gaaa([], [], [], T71)
splitC_in_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84)) → U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_in_gaaa(T81, X123, X122, T84))
U2_gaaa(T80, T81, X122, X123, T82, T84, splitC_out_gaaa(T81, X123, X122, T84)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123, .(T82, T84))

The argument filtering Pi contains the following mapping:
[]  =  []
.(x1, x2)  =  .(x1, x2)
splitD_in_ggaaa(x1, x2, x3, x4, x5)  =  splitD_in_ggaaa(x1, x2)
U3_ggaaa(x1, x2, x3, x4, x5, x6, x7)  =  U3_ggaaa(x1, x2, x7)
splitC_in_gaaa(x1, x2, x3, x4)  =  splitC_in_gaaa(x1)
splitC_out_gaaa(x1, x2, x3, x4)  =  splitC_out_gaaa(x1, x2, x3)
U2_gaaa(x1, x2, x3, x4, x5, x6, x7)  =  U2_gaaa(x1, x2, x7)
splitD_out_ggaaa(x1, x2, x3, x4, x5)  =  splitD_out_ggaaa(x1, x2, x3, x4)
MERGESORTA_IN_GAA(x1, x2, x3)  =  MERGESORTA_IN_GAA(x1)
PB_IN_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  PB_IN_GGAAAGAAAA(x1, x2, x6)
U13_GGAAAGAAAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)  =  U13_GGAAAGAAAA(x1, x2, x6, x11)
PN_IN_GGAAGAAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PN_IN_GGAAGAAA(x1, x2, x5)

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

(51) PiDPToQDPProof (SOUND transformation)

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

(52) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41))) → PB_IN_GGAAAGAAAA(T40, T41, T39)
PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, splitD_in_ggaaa(T40, T41))
U13_GGAAAGAAAA(T40, T41, T39, splitD_out_ggaaa(T40, T41, T47, T48)) → PN_IN_GGAAGAAA(T39, T48, T47)
PN_IN_GGAAGAAA(T39, T48, T47) → MERGESORTA_IN_GAA(.(T39, T48))

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61) → U3_ggaaa(T60, T61, splitC_in_gaaa(T61))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
U3_ggaaa(x0, x1, x2)
splitC_in_gaaa(x0)
U2_gaaa(x0, x1, x2)

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

(53) Rewriting (EQUIVALENT transformation)

By rewriting [LPAR04] the rule PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, splitD_in_ggaaa(T40, T41)) at position [3] we obtained the following new rules [LPAR04]:

PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, U3_ggaaa(T40, T41, splitC_in_gaaa(T41)))

(54) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41))) → PB_IN_GGAAAGAAAA(T40, T41, T39)
U13_GGAAAGAAAA(T40, T41, T39, splitD_out_ggaaa(T40, T41, T47, T48)) → PN_IN_GGAAGAAA(T39, T48, T47)
PN_IN_GGAAGAAA(T39, T48, T47) → MERGESORTA_IN_GAA(.(T39, T48))
PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, U3_ggaaa(T40, T41, splitC_in_gaaa(T41)))

The TRS R consists of the following rules:

splitD_in_ggaaa(T60, T61) → U3_ggaaa(T60, T61, splitC_in_gaaa(T61))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
U3_ggaaa(x0, x1, x2)
splitC_in_gaaa(x0)
U2_gaaa(x0, x1, x2)

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

(55) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(56) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41))) → PB_IN_GGAAAGAAAA(T40, T41, T39)
U13_GGAAAGAAAA(T40, T41, T39, splitD_out_ggaaa(T40, T41, T47, T48)) → PN_IN_GGAAGAAA(T39, T48, T47)
PN_IN_GGAAGAAA(T39, T48, T47) → MERGESORTA_IN_GAA(.(T39, T48))
PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, U3_ggaaa(T40, T41, splitC_in_gaaa(T41)))

The TRS R consists of the following rules:

splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)

The set Q consists of the following terms:

splitD_in_ggaaa(x0, x1)
U3_ggaaa(x0, x1, x2)
splitC_in_gaaa(x0)
U2_gaaa(x0, x1, x2)

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

(57) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

splitD_in_ggaaa(x0, x1)

(58) Obligation:

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

MERGESORTA_IN_GAA(.(T39, .(T40, T41))) → PB_IN_GGAAAGAAAA(T40, T41, T39)
U13_GGAAAGAAAA(T40, T41, T39, splitD_out_ggaaa(T40, T41, T47, T48)) → PN_IN_GGAAGAAA(T39, T48, T47)
PN_IN_GGAAGAAA(T39, T48, T47) → MERGESORTA_IN_GAA(.(T39, T48))
PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, U3_ggaaa(T40, T41, splitC_in_gaaa(T41)))

The TRS R consists of the following rules:

splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)

The set Q consists of the following terms:

U3_ggaaa(x0, x1, x2)
splitC_in_gaaa(x0)
U2_gaaa(x0, x1, x2)

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

(59) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


MERGESORTA_IN_GAA(.(T39, .(T40, T41))) → PB_IN_GGAAAGAAAA(T40, T41, T39)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(MERGESORTA_IN_GAA(x1)) = x1   
POL(PB_IN_GGAAAGAAAA(x1, x2, x3)) = 1 + x2   
POL(PN_IN_GGAAGAAA(x1, x2, x3)) = 1 + x2   
POL(U13_GGAAAGAAAA(x1, x2, x3, x4)) = x4   
POL(U2_gaaa(x1, x2, x3)) = 1 + x3   
POL(U3_ggaaa(x1, x2, x3)) = x3   
POL([]) = 0   
POL(splitC_in_gaaa(x1)) = 1 + x1   
POL(splitC_out_gaaa(x1, x2, x3)) = 1 + x2 + x3   
POL(splitD_out_ggaaa(x1, x2, x3, x4)) = 1 + x4   

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

splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)

(60) Obligation:

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

U13_GGAAAGAAAA(T40, T41, T39, splitD_out_ggaaa(T40, T41, T47, T48)) → PN_IN_GGAAGAAA(T39, T48, T47)
PN_IN_GGAAGAAA(T39, T48, T47) → MERGESORTA_IN_GAA(.(T39, T48))
PB_IN_GGAAAGAAAA(T40, T41, T39) → U13_GGAAAGAAAA(T40, T41, T39, U3_ggaaa(T40, T41, splitC_in_gaaa(T41)))

The TRS R consists of the following rules:

splitC_in_gaaa([]) → splitC_out_gaaa([], [], [])
splitC_in_gaaa(.(T80, T81)) → U2_gaaa(T80, T81, splitC_in_gaaa(T81))
U3_ggaaa(T60, T61, splitC_out_gaaa(T61, X92, X91)) → splitD_out_ggaaa(T60, T61, .(T60, X91), X92)
U2_gaaa(T80, T81, splitC_out_gaaa(T81, X123, X122)) → splitC_out_gaaa(.(T80, T81), .(T80, X122), X123)

The set Q consists of the following terms:

U3_ggaaa(x0, x1, x2)
splitC_in_gaaa(x0)
U2_gaaa(x0, x1, x2)

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

(61) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 3 less nodes.

(62) TRUE