(0) Obligation:

Clauses:

mergesort([], []).
mergesort(.(E, []), .(E, [])).
mergesort(.(E, .(F, U)), V) :- ','(split(U, L2, L1), ','(mergesort(.(E, L2), X), ','(mergesort(.(F, L1), Z), merge(X, Z, V)))).
merge(X, [], X).
merge([], X, X).
merge(.(A, X), .(B, Y), .(A, Z)) :- ','(le(A, B), merge(X, .(B, Y), Z)).
merge(.(A, X), .(B, Y), .(B, Z)) :- ','(gt(A, B), merge(.(A, X), Y, Z)).
split([], [], []).
split(.(E, U), .(E, V), W) :- split(U, W, V).
gt(s(X), s(Y)) :- gt(X, Y).
gt(s(X), 0).
le(s(X), s(Y)) :- le(X, Y).
le(0, s(Y)).
le(0, 0).

Query: mergesort(g,a)

(1) 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_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, 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_GA(.(T10, .(T11, [])), T14) → U1_GA(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
MERGESORTA_IN_GA(.(T10, .(T11, [])), T14) → PB_IN_GAGAA(T10, X22, T11, X23, T14)
PB_IN_GAGAA(T10, T15, T11, X23, T14) → U8_GAGAA(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
PB_IN_GAGAA(T10, T15, T11, X23, T14) → MERGESORTD_IN_GA(T10, T15)
U8_GAGAA(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_GAGAA(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
U8_GAGAA(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → PK_IN_GAGA(T11, X23, T15, T14)
PK_IN_GAGA(T11, T22, T15, T14) → U10_GAGA(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
PK_IN_GAGA(T11, T22, T15, T14) → MERGESORTD_IN_GA(T11, T22)
U10_GAGA(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_GAGA(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
U10_GAGA(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → MERGEE_IN_GGA(T15, T22, T14)
MERGEE_IN_GGA(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_GGA(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
MERGEE_IN_GGA(.(T55, T56), .(T57, T58), .(T55, T60)) → PF_IN_GGGGA(T55, T57, T56, T58, T60)
PF_IN_GGGGA(T55, T57, T56, T58, T60) → U12_GGGGA(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
PF_IN_GGGGA(T55, T57, T56, T58, T60) → LEH_IN_GG(T55, T57)
LEH_IN_GG(s(T73), s(T74)) → U5_GG(T73, T74, leH_in_gg(T73, T74))
LEH_IN_GG(s(T73), s(T74)) → LEH_IN_GG(T73, T74)
U12_GGGGA(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_GGGGA(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
U12_GGGGA(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → MERGEE_IN_GGA(T56, .(T57, T58), T60)
MERGEE_IN_GGA(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_GGA(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
MERGEE_IN_GGA(.(T94, T95), .(T96, T97), .(T96, T99)) → PG_IN_GGGGA(T94, T96, T95, T97, T99)
PG_IN_GGGGA(T94, T96, T95, T97, T99) → U14_GGGGA(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
PG_IN_GGGGA(T94, T96, T95, T97, T99) → GTI_IN_GG(T94, T96)
GTI_IN_GG(s(T112), s(T113)) → U6_GG(T112, T113, gtI_in_gg(T112, T113))
GTI_IN_GG(s(T112), s(T113)) → GTI_IN_GG(T112, T113)
U14_GGGGA(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_GGGGA(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U14_GGGGA(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → MERGEE_IN_GGA(.(T94, T95), T97, T99)
MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128))), T14) → U2_GA(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128))), T14) → PC_IN_GAAGGAGAA(T128, X146, X145, T10, T127, X22, T11, X23, T14)
PC_IN_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
PC_IN_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14) → SPLITJ_IN_GAA(T128, T129, T130)
SPLITJ_IN_GAA(.(T135, T136), .(T135, X163), X164) → U7_GAA(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
SPLITJ_IN_GAA(.(T135, T136), .(T135, X163), X164) → SPLITJ_IN_GAA(T136, X164, X163)
U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → PL_IN_GGGAGGAA(T10, T127, T130, X22, T11, T129, X23, T14)
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → MERGESORTA_IN_GA(.(T10, .(T127, T130)), T137)
U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → PM_IN_GGAGA(T11, T129, X23, T137, T14)
PM_IN_GGAGA(T11, T129, T138, T137, T14) → U20_GGAGA(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
PM_IN_GGAGA(T11, T129, T138, T137, T14) → MERGESORTA_IN_GA(.(T11, T129), T138)
U20_GGAGA(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_GGAGA(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U20_GGAGA(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → MERGEE_IN_GGA(T137, T138, T14)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
MERGESORTA_IN_GA(x1, x2)  =  MERGESORTA_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x2, x4)
PB_IN_GAGAA(x1, x2, x3, x4, x5)  =  PB_IN_GAGAA(x1, x3)
U8_GAGAA(x1, x2, x3, x4, x5, x6)  =  U8_GAGAA(x1, x3, x6)
MERGESORTD_IN_GA(x1, x2)  =  MERGESORTD_IN_GA(x1)
U9_GAGAA(x1, x2, x3, x4, x5, x6)  =  U9_GAGAA(x1, x2, x3, x6)
PK_IN_GAGA(x1, x2, x3, x4)  =  PK_IN_GAGA(x1, x3)
U10_GAGA(x1, x2, x3, x4, x5)  =  U10_GAGA(x1, x3, x5)
U11_GAGA(x1, x2, x3, x4, x5)  =  U11_GAGA(x1, x2, x3, x5)
MERGEE_IN_GGA(x1, x2, x3)  =  MERGEE_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x3, x4, x6)
PF_IN_GGGGA(x1, x2, x3, x4, x5)  =  PF_IN_GGGGA(x1, x2, x3, x4)
U12_GGGGA(x1, x2, x3, x4, x5, x6)  =  U12_GGGGA(x1, x2, x3, x4, x6)
LEH_IN_GG(x1, x2)  =  LEH_IN_GG(x1, x2)
U5_GG(x1, x2, x3)  =  U5_GG(x1, x2, x3)
U13_GGGGA(x1, x2, x3, x4, x5, x6)  =  U13_GGGGA(x1, x2, x3, x4, x6)
U4_GGA(x1, x2, x3, x4, x5, x6)  =  U4_GGA(x1, x2, x3, x4, x6)
PG_IN_GGGGA(x1, x2, x3, x4, x5)  =  PG_IN_GGGGA(x1, x2, x3, x4)
U14_GGGGA(x1, x2, x3, x4, x5, x6)  =  U14_GGGGA(x1, x2, x3, x4, x6)
GTI_IN_GG(x1, x2)  =  GTI_IN_GG(x1, x2)
U6_GG(x1, x2, x3)  =  U6_GG(x1, x2, x3)
U15_GGGGA(x1, x2, x3, x4, x5, x6)  =  U15_GGGGA(x1, x2, x3, x4, x6)
U2_GA(x1, x2, x3, x4, x5, x6)  =  U2_GA(x1, x2, x3, x4, x6)
PC_IN_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  PC_IN_GAAGGAGAA(x1, x4, x5, x7)
U16_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_GAAGGAGAA(x1, x4, x5, x7, x10)
SPLITJ_IN_GAA(x1, x2, x3)  =  SPLITJ_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, x2, x5)
U17_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_GAAGGAGAA(x1, x2, x3, x4, x5, x7, x10)
PL_IN_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PL_IN_GGGAGGAA(x1, x2, x3, x5, x6)
U18_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_GGGAGGAA(x1, x2, x3, x5, x6, x9)
U19_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_GGGAGGAA(x1, x2, x3, x4, x5, x6, x9)
PM_IN_GGAGA(x1, x2, x3, x4, x5)  =  PM_IN_GGAGA(x1, x2, x4)
U20_GGAGA(x1, x2, x3, x4, x5, x6)  =  U20_GGAGA(x1, x2, x4, x6)
U21_GGAGA(x1, x2, x3, x4, x5, x6)  =  U21_GGAGA(x1, x2, x3, x4, x6)

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

(4) Obligation:

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

MERGESORTA_IN_GA(.(T10, .(T11, [])), T14) → U1_GA(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
MERGESORTA_IN_GA(.(T10, .(T11, [])), T14) → PB_IN_GAGAA(T10, X22, T11, X23, T14)
PB_IN_GAGAA(T10, T15, T11, X23, T14) → U8_GAGAA(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
PB_IN_GAGAA(T10, T15, T11, X23, T14) → MERGESORTD_IN_GA(T10, T15)
U8_GAGAA(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_GAGAA(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
U8_GAGAA(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → PK_IN_GAGA(T11, X23, T15, T14)
PK_IN_GAGA(T11, T22, T15, T14) → U10_GAGA(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
PK_IN_GAGA(T11, T22, T15, T14) → MERGESORTD_IN_GA(T11, T22)
U10_GAGA(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_GAGA(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
U10_GAGA(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → MERGEE_IN_GGA(T15, T22, T14)
MERGEE_IN_GGA(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_GGA(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
MERGEE_IN_GGA(.(T55, T56), .(T57, T58), .(T55, T60)) → PF_IN_GGGGA(T55, T57, T56, T58, T60)
PF_IN_GGGGA(T55, T57, T56, T58, T60) → U12_GGGGA(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
PF_IN_GGGGA(T55, T57, T56, T58, T60) → LEH_IN_GG(T55, T57)
LEH_IN_GG(s(T73), s(T74)) → U5_GG(T73, T74, leH_in_gg(T73, T74))
LEH_IN_GG(s(T73), s(T74)) → LEH_IN_GG(T73, T74)
U12_GGGGA(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_GGGGA(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
U12_GGGGA(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → MERGEE_IN_GGA(T56, .(T57, T58), T60)
MERGEE_IN_GGA(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_GGA(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
MERGEE_IN_GGA(.(T94, T95), .(T96, T97), .(T96, T99)) → PG_IN_GGGGA(T94, T96, T95, T97, T99)
PG_IN_GGGGA(T94, T96, T95, T97, T99) → U14_GGGGA(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
PG_IN_GGGGA(T94, T96, T95, T97, T99) → GTI_IN_GG(T94, T96)
GTI_IN_GG(s(T112), s(T113)) → U6_GG(T112, T113, gtI_in_gg(T112, T113))
GTI_IN_GG(s(T112), s(T113)) → GTI_IN_GG(T112, T113)
U14_GGGGA(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_GGGGA(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U14_GGGGA(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → MERGEE_IN_GGA(.(T94, T95), T97, T99)
MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128))), T14) → U2_GA(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128))), T14) → PC_IN_GAAGGAGAA(T128, X146, X145, T10, T127, X22, T11, X23, T14)
PC_IN_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
PC_IN_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14) → SPLITJ_IN_GAA(T128, T129, T130)
SPLITJ_IN_GAA(.(T135, T136), .(T135, X163), X164) → U7_GAA(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
SPLITJ_IN_GAA(.(T135, T136), .(T135, X163), X164) → SPLITJ_IN_GAA(T136, X164, X163)
U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → PL_IN_GGGAGGAA(T10, T127, T130, X22, T11, T129, X23, T14)
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → MERGESORTA_IN_GA(.(T10, .(T127, T130)), T137)
U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → PM_IN_GGAGA(T11, T129, X23, T137, T14)
PM_IN_GGAGA(T11, T129, T138, T137, T14) → U20_GGAGA(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
PM_IN_GGAGA(T11, T129, T138, T137, T14) → MERGESORTA_IN_GA(.(T11, T129), T138)
U20_GGAGA(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_GGAGA(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U20_GGAGA(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → MERGEE_IN_GGA(T137, T138, T14)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
MERGESORTA_IN_GA(x1, x2)  =  MERGESORTA_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x2, x4)
PB_IN_GAGAA(x1, x2, x3, x4, x5)  =  PB_IN_GAGAA(x1, x3)
U8_GAGAA(x1, x2, x3, x4, x5, x6)  =  U8_GAGAA(x1, x3, x6)
MERGESORTD_IN_GA(x1, x2)  =  MERGESORTD_IN_GA(x1)
U9_GAGAA(x1, x2, x3, x4, x5, x6)  =  U9_GAGAA(x1, x2, x3, x6)
PK_IN_GAGA(x1, x2, x3, x4)  =  PK_IN_GAGA(x1, x3)
U10_GAGA(x1, x2, x3, x4, x5)  =  U10_GAGA(x1, x3, x5)
U11_GAGA(x1, x2, x3, x4, x5)  =  U11_GAGA(x1, x2, x3, x5)
MERGEE_IN_GGA(x1, x2, x3)  =  MERGEE_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x3, x4, x6)
PF_IN_GGGGA(x1, x2, x3, x4, x5)  =  PF_IN_GGGGA(x1, x2, x3, x4)
U12_GGGGA(x1, x2, x3, x4, x5, x6)  =  U12_GGGGA(x1, x2, x3, x4, x6)
LEH_IN_GG(x1, x2)  =  LEH_IN_GG(x1, x2)
U5_GG(x1, x2, x3)  =  U5_GG(x1, x2, x3)
U13_GGGGA(x1, x2, x3, x4, x5, x6)  =  U13_GGGGA(x1, x2, x3, x4, x6)
U4_GGA(x1, x2, x3, x4, x5, x6)  =  U4_GGA(x1, x2, x3, x4, x6)
PG_IN_GGGGA(x1, x2, x3, x4, x5)  =  PG_IN_GGGGA(x1, x2, x3, x4)
U14_GGGGA(x1, x2, x3, x4, x5, x6)  =  U14_GGGGA(x1, x2, x3, x4, x6)
GTI_IN_GG(x1, x2)  =  GTI_IN_GG(x1, x2)
U6_GG(x1, x2, x3)  =  U6_GG(x1, x2, x3)
U15_GGGGA(x1, x2, x3, x4, x5, x6)  =  U15_GGGGA(x1, x2, x3, x4, x6)
U2_GA(x1, x2, x3, x4, x5, x6)  =  U2_GA(x1, x2, x3, x4, x6)
PC_IN_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  PC_IN_GAAGGAGAA(x1, x4, x5, x7)
U16_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_GAAGGAGAA(x1, x4, x5, x7, x10)
SPLITJ_IN_GAA(x1, x2, x3)  =  SPLITJ_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, x2, x5)
U17_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_GAAGGAGAA(x1, x2, x3, x4, x5, x7, x10)
PL_IN_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PL_IN_GGGAGGAA(x1, x2, x3, x5, x6)
U18_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_GGGAGGAA(x1, x2, x3, x5, x6, x9)
U19_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_GGGAGGAA(x1, x2, x3, x4, x5, x6, x9)
PM_IN_GGAGA(x1, x2, x3, x4, x5)  =  PM_IN_GGAGA(x1, x2, x4)
U20_GGAGA(x1, x2, x3, x4, x5, x6)  =  U20_GGAGA(x1, x2, x4, x6)
U21_GGAGA(x1, x2, x3, x4, x5, x6)  =  U21_GGAGA(x1, x2, x3, x4, x6)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 26 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

SPLITJ_IN_GAA(.(T135, T136), .(T135, X163), X164) → SPLITJ_IN_GAA(T136, X164, X163)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
SPLITJ_IN_GAA(x1, x2, x3)  =  SPLITJ_IN_GAA(x1)

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:

SPLITJ_IN_GAA(.(T135, T136), .(T135, X163), X164) → SPLITJ_IN_GAA(T136, X164, X163)

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

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

(10) PiDPToQDPProof (SOUND 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:

SPLITJ_IN_GAA(.(T135, T136)) → SPLITJ_IN_GAA(T136)

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:

  • SPLITJ_IN_GAA(.(T135, T136)) → SPLITJ_IN_GAA(T136)
    The graph contains the following edges 1 > 1

(13) YES

(14) Obligation:

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

GTI_IN_GG(s(T112), s(T113)) → GTI_IN_GG(T112, T113)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
GTI_IN_GG(x1, x2)  =  GTI_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:

GTI_IN_GG(s(T112), s(T113)) → GTI_IN_GG(T112, T113)

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:

GTI_IN_GG(s(T112), s(T113)) → GTI_IN_GG(T112, T113)

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:

  • GTI_IN_GG(s(T112), s(T113)) → GTI_IN_GG(T112, T113)
    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:

LEH_IN_GG(s(T73), s(T74)) → LEH_IN_GG(T73, T74)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
LEH_IN_GG(x1, x2)  =  LEH_IN_GG(x1, x2)

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:

LEH_IN_GG(s(T73), s(T74)) → LEH_IN_GG(T73, T74)

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

(24) PiDPToQDPProof (EQUIVALENT 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:

LEH_IN_GG(s(T73), s(T74)) → LEH_IN_GG(T73, T74)

R is empty.
Q is empty.
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:

  • LEH_IN_GG(s(T73), s(T74)) → LEH_IN_GG(T73, T74)
    The graph contains the following edges 1 > 1, 2 > 2

(27) YES

(28) Obligation:

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

MERGEE_IN_GGA(.(T55, T56), .(T57, T58), .(T55, T60)) → PF_IN_GGGGA(T55, T57, T56, T58, T60)
PF_IN_GGGGA(T55, T57, T56, T58, T60) → U12_GGGGA(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
U12_GGGGA(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → MERGEE_IN_GGA(T56, .(T57, T58), T60)
MERGEE_IN_GGA(.(T94, T95), .(T96, T97), .(T96, T99)) → PG_IN_GGGGA(T94, T96, T95, T97, T99)
PG_IN_GGGGA(T94, T96, T95, T97, T99) → U14_GGGGA(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
U14_GGGGA(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → MERGEE_IN_GGA(.(T94, T95), T97, T99)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
MERGEE_IN_GGA(x1, x2, x3)  =  MERGEE_IN_GGA(x1, x2)
PF_IN_GGGGA(x1, x2, x3, x4, x5)  =  PF_IN_GGGGA(x1, x2, x3, x4)
U12_GGGGA(x1, x2, x3, x4, x5, x6)  =  U12_GGGGA(x1, x2, x3, x4, x6)
PG_IN_GGGGA(x1, x2, x3, x4, x5)  =  PG_IN_GGGGA(x1, x2, x3, x4)
U14_GGGGA(x1, x2, x3, x4, x5, x6)  =  U14_GGGGA(x1, x2, x3, x4, x6)

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:

MERGEE_IN_GGA(.(T55, T56), .(T57, T58), .(T55, T60)) → PF_IN_GGGGA(T55, T57, T56, T58, T60)
PF_IN_GGGGA(T55, T57, T56, T58, T60) → U12_GGGGA(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
U12_GGGGA(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → MERGEE_IN_GGA(T56, .(T57, T58), T60)
MERGEE_IN_GGA(.(T94, T95), .(T96, T97), .(T96, T99)) → PG_IN_GGGGA(T94, T96, T95, T97, T99)
PG_IN_GGGGA(T94, T96, T95, T97, T99) → U14_GGGGA(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
U14_GGGGA(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → MERGEE_IN_GGA(.(T94, T95), T97, T99)

The TRS R consists of the following rules:

leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
MERGEE_IN_GGA(x1, x2, x3)  =  MERGEE_IN_GGA(x1, x2)
PF_IN_GGGGA(x1, x2, x3, x4, x5)  =  PF_IN_GGGGA(x1, x2, x3, x4)
U12_GGGGA(x1, x2, x3, x4, x5, x6)  =  U12_GGGGA(x1, x2, x3, x4, x6)
PG_IN_GGGGA(x1, x2, x3, x4, x5)  =  PG_IN_GGGGA(x1, x2, x3, x4)
U14_GGGGA(x1, x2, x3, x4, x5, x6)  =  U14_GGGGA(x1, x2, x3, x4, x6)

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:

MERGEE_IN_GGA(.(T55, T56), .(T57, T58)) → PF_IN_GGGGA(T55, T57, T56, T58)
PF_IN_GGGGA(T55, T57, T56, T58) → U12_GGGGA(T55, T57, T56, T58, leH_in_gg(T55, T57))
U12_GGGGA(T55, T57, T56, T58, leH_out_gg(T55, T57)) → MERGEE_IN_GGA(T56, .(T57, T58))
MERGEE_IN_GGA(.(T94, T95), .(T96, T97)) → PG_IN_GGGGA(T94, T96, T95, T97)
PG_IN_GGGGA(T94, T96, T95, T97) → U14_GGGGA(T94, T96, T95, T97, gtI_in_gg(T94, T96))
U14_GGGGA(T94, T96, T95, T97, gtI_out_gg(T94, T96)) → MERGEE_IN_GGA(.(T94, T95), T97)

The TRS R consists of the following rules:

leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))

The set Q consists of the following terms:

leH_in_gg(x0, x1)
gtI_in_gg(x0, x1)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(33) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

MERGEE_IN_GGA(.(T55, T56), .(T57, T58)) → PF_IN_GGGGA(T55, T57, T56, T58)
MERGEE_IN_GGA(.(T94, T95), .(T96, T97)) → PG_IN_GGGGA(T94, T96, T95, T97)


Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + 2·x1 + 2·x2   
POL(0) = 0   
POL(MERGEE_IN_GGA(x1, x2)) = x1 + x2   
POL(PF_IN_GGGGA(x1, x2, x3, x4)) = 1 + 2·x1 + 2·x2 + 2·x3 + 2·x4   
POL(PG_IN_GGGGA(x1, x2, x3, x4)) = 1 + 2·x1 + 2·x2 + 2·x3 + 2·x4   
POL(U12_GGGGA(x1, x2, x3, x4, x5)) = 1 + x1 + x2 + 2·x3 + 2·x4 + x5   
POL(U14_GGGGA(x1, x2, x3, x4, x5)) = 1 + x1 + x2 + 2·x3 + x4 + x5   
POL(U5_gg(x1, x2, x3)) = x1 + x2 + x3   
POL(U6_gg(x1, x2, x3)) = x1 + x2 + x3   
POL(gtI_in_gg(x1, x2)) = x1 + x2   
POL(gtI_out_gg(x1, x2)) = x1 + x2   
POL(leH_in_gg(x1, x2)) = x1 + x2   
POL(leH_out_gg(x1, x2)) = x1 + x2   
POL(s(x1)) = 2·x1   

(34) Obligation:

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

PF_IN_GGGGA(T55, T57, T56, T58) → U12_GGGGA(T55, T57, T56, T58, leH_in_gg(T55, T57))
U12_GGGGA(T55, T57, T56, T58, leH_out_gg(T55, T57)) → MERGEE_IN_GGA(T56, .(T57, T58))
PG_IN_GGGGA(T94, T96, T95, T97) → U14_GGGGA(T94, T96, T95, T97, gtI_in_gg(T94, T96))
U14_GGGGA(T94, T96, T95, T97, gtI_out_gg(T94, T96)) → MERGEE_IN_GGA(.(T94, T95), T97)

The TRS R consists of the following rules:

leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))

The set Q consists of the following terms:

leH_in_gg(x0, x1)
gtI_in_gg(x0, x1)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(35) DependencyGraphProof (EQUIVALENT transformation)

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

(36) TRUE

(37) Obligation:

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

MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128))), T14) → PC_IN_GAAGGAGAA(T128, X146, X145, T10, T127, X22, T11, X23, T14)
PC_IN_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → PL_IN_GGGAGGAA(T10, T127, T130, X22, T11, T129, X23, T14)
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → PM_IN_GGAGA(T11, T129, X23, T137, T14)
PM_IN_GGAGA(T11, T129, T138, T137, T14) → MERGESORTA_IN_GA(.(T11, T129), T138)
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → MERGESORTA_IN_GA(.(T10, .(T127, T130)), T137)

The TRS R consists of the following rules:

mergesortA_in_ga([], []) → mergesortA_out_ga([], [])
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
MERGESORTA_IN_GA(x1, x2)  =  MERGESORTA_IN_GA(x1)
PC_IN_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  PC_IN_GAAGGAGAA(x1, x4, x5, x7)
U16_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_GAAGGAGAA(x1, x4, x5, x7, x10)
PL_IN_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PL_IN_GGGAGGAA(x1, x2, x3, x5, x6)
U18_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_GGGAGGAA(x1, x2, x3, x5, x6, x9)
PM_IN_GGAGA(x1, x2, x3, x4, x5)  =  PM_IN_GGAGA(x1, x2, x4)

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

(38) UsableRulesProof (EQUIVALENT transformation)

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

(39) Obligation:

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

MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128))), T14) → PC_IN_GAAGGAGAA(T128, X146, X145, T10, T127, X22, T11, X23, T14)
PC_IN_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
U16_GAAGGAGAA(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → PL_IN_GGGAGGAA(T10, T127, T130, X22, T11, T129, X23, T14)
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U18_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → PM_IN_GGAGA(T11, T129, X23, T137, T14)
PM_IN_GGAGA(T11, T129, T138, T137, T14) → MERGESORTA_IN_GA(.(T11, T129), T138)
PL_IN_GGGAGGAA(T10, T127, T130, T137, T11, T129, X23, T14) → MERGESORTA_IN_GA(.(T10, .(T127, T130)), T137)

The TRS R consists of the following rules:

splitJ_in_gaa([], [], []) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136), .(T135, X163), X164) → U7_gaa(T135, T136, X163, X164, splitJ_in_gaa(T136, X164, X163))
mergesortA_in_ga(.(T10, .(T11, [])), T14) → U1_ga(T10, T11, T14, pB_in_gagaa(T10, X22, T11, X23, T14))
mergesortA_in_ga(.(T10, .(T11, .(T127, T128))), T14) → U2_ga(T10, T11, T127, T128, T14, pC_in_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14))
U7_gaa(T135, T136, X163, X164, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U1_ga(T10, T11, T14, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
U2_ga(T10, T11, T127, T128, T14, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)
pB_in_gagaa(T10, T15, T11, X23, T14) → U8_gagaa(T10, T15, T11, X23, T14, mergesortD_in_ga(T10, T15))
pC_in_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14) → U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_in_gaa(T128, T129, T130))
U8_gagaa(T10, T15, T11, X23, T14, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, X23, T14, pK_in_gaga(T11, X23, T15, T14))
U16_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_in_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14))
mergesortD_in_ga(T20, .(T20, [])) → mergesortD_out_ga(T20, .(T20, []))
U9_gagaa(T10, T15, T11, X23, T14, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
pK_in_gaga(T11, T22, T15, T14) → U10_gaga(T11, T22, T15, T14, mergesortD_in_ga(T11, T22))
pL_in_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14) → U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_in_ga(.(T10, .(T127, T130)), T137))
U10_gaga(T11, T22, T15, T14, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, T14, mergeE_in_gga(T15, T22, T14))
U18_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_in_ggaga(T11, T129, X23, T137, T14))
U11_gaga(T11, T22, T15, T14, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
mergeE_in_gga(T29, [], T29) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34, T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58), .(T55, T60)) → U3_gga(T55, T56, T57, T58, T60, pF_in_gggga(T55, T57, T56, T58, T60))
mergeE_in_gga(.(T94, T95), .(T96, T97), .(T96, T99)) → U4_gga(T94, T95, T96, T97, T99, pG_in_gggga(T94, T96, T95, T97, T99))
pM_in_ggaga(T11, T129, T138, T137, T14) → U20_ggaga(T11, T129, T138, T137, T14, mergesortA_in_ga(.(T11, T129), T138))
U3_gga(T55, T56, T57, T58, T60, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U4_gga(T94, T95, T96, T97, T99, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U20_ggaga(T11, T129, T138, T137, T14, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, T14, mergeE_in_gga(T137, T138, T14))
pF_in_gggga(T55, T57, T56, T58, T60) → U12_gggga(T55, T57, T56, T58, T60, leH_in_gg(T55, T57))
pG_in_gggga(T94, T96, T95, T97, T99) → U14_gggga(T94, T96, T95, T97, T99, gtI_in_gg(T94, T96))
mergesortA_in_ga(.(T4, []), .(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
U21_ggaga(T11, T129, T138, T137, T14, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U12_gggga(T55, T57, T56, T58, T60, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, T60, mergeE_in_gga(T56, .(T57, T58), T60))
U14_gggga(T94, T96, T95, T97, T99, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, T99, mergeE_in_gga(.(T94, T95), T97, T99))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U13_gggga(T55, T57, T56, T58, T60, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U15_gggga(T94, T96, T95, T97, T99, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))

The argument filtering Pi contains the following mapping:
mergesortA_in_ga(x1, x2)  =  mergesortA_in_ga(x1)
[]  =  []
mergesortA_out_ga(x1, x2)  =  mergesortA_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4)  =  U1_ga(x1, x2, x4)
pB_in_gagaa(x1, x2, x3, x4, x5)  =  pB_in_gagaa(x1, x3)
U8_gagaa(x1, x2, x3, x4, x5, x6)  =  U8_gagaa(x1, x3, x6)
mergesortD_in_ga(x1, x2)  =  mergesortD_in_ga(x1)
mergesortD_out_ga(x1, x2)  =  mergesortD_out_ga(x1, x2)
U9_gagaa(x1, x2, x3, x4, x5, x6)  =  U9_gagaa(x1, x2, x3, x6)
pK_in_gaga(x1, x2, x3, x4)  =  pK_in_gaga(x1, x3)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x3, x5)
U11_gaga(x1, x2, x3, x4, x5)  =  U11_gaga(x1, x2, x3, x5)
mergeE_in_gga(x1, x2, x3)  =  mergeE_in_gga(x1, x2)
mergeE_out_gga(x1, x2, x3)  =  mergeE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
pF_in_gggga(x1, x2, x3, x4, x5)  =  pF_in_gggga(x1, x2, x3, x4)
U12_gggga(x1, x2, x3, x4, x5, x6)  =  U12_gggga(x1, x2, x3, x4, x6)
leH_in_gg(x1, x2)  =  leH_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
leH_out_gg(x1, x2)  =  leH_out_gg(x1, x2)
U13_gggga(x1, x2, x3, x4, x5, x6)  =  U13_gggga(x1, x2, x3, x4, x6)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
pG_in_gggga(x1, x2, x3, x4, x5)  =  pG_in_gggga(x1, x2, x3, x4)
U14_gggga(x1, x2, x3, x4, x5, x6)  =  U14_gggga(x1, x2, x3, x4, x6)
gtI_in_gg(x1, x2)  =  gtI_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gtI_out_gg(x1, x2)  =  gtI_out_gg(x1, x2)
U15_gggga(x1, x2, x3, x4, x5, x6)  =  U15_gggga(x1, x2, x3, x4, x6)
pG_out_gggga(x1, x2, x3, x4, x5)  =  pG_out_gggga(x1, x2, x3, x4, x5)
pF_out_gggga(x1, x2, x3, x4, x5)  =  pF_out_gggga(x1, x2, x3, x4, x5)
pK_out_gaga(x1, x2, x3, x4)  =  pK_out_gaga(x1, x2, x3, x4)
pB_out_gagaa(x1, x2, x3, x4, x5)  =  pB_out_gagaa(x1, x2, x3, x4, x5)
U2_ga(x1, x2, x3, x4, x5, x6)  =  U2_ga(x1, x2, x3, x4, x6)
pC_in_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_in_gaaggagaa(x1, x4, x5, x7)
U16_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_gaaggagaa(x1, x4, x5, x7, x10)
splitJ_in_gaa(x1, x2, x3)  =  splitJ_in_gaa(x1)
splitJ_out_gaa(x1, x2, x3)  =  splitJ_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U17_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U17_gaaggagaa(x1, x2, x3, x4, x5, x7, x10)
pL_in_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_in_gggaggaa(x1, x2, x3, x5, x6)
U18_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_gggaggaa(x1, x2, x3, x5, x6, x9)
U19_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U19_gggaggaa(x1, x2, x3, x4, x5, x6, x9)
pM_in_ggaga(x1, x2, x3, x4, x5)  =  pM_in_ggaga(x1, x2, x4)
U20_ggaga(x1, x2, x3, x4, x5, x6)  =  U20_ggaga(x1, x2, x4, x6)
U21_ggaga(x1, x2, x3, x4, x5, x6)  =  U21_ggaga(x1, x2, x3, x4, x6)
pM_out_ggaga(x1, x2, x3, x4, x5)  =  pM_out_ggaga(x1, x2, x3, x4, x5)
pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  pL_out_gggaggaa(x1, x2, x3, x4, x5, x6, x7, x8)
pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  pC_out_gaaggagaa(x1, x2, x3, x4, x5, x6, x7, x8, x9)
MERGESORTA_IN_GA(x1, x2)  =  MERGESORTA_IN_GA(x1)
PC_IN_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  PC_IN_GAAGGAGAA(x1, x4, x5, x7)
U16_GAAGGAGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10)  =  U16_GAAGGAGAA(x1, x4, x5, x7, x10)
PL_IN_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  PL_IN_GGGAGGAA(x1, x2, x3, x5, x6)
U18_GGGAGGAA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U18_GGGAGGAA(x1, x2, x3, x5, x6, x9)
PM_IN_GGAGA(x1, x2, x3, x4, x5)  =  PM_IN_GGAGA(x1, x2, x4)

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

(40) PiDPToQDPProof (SOUND transformation)

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

(41) Obligation:

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

MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128)))) → PC_IN_GAAGGAGAA(T128, T10, T127, T11)
PC_IN_GAAGGAGAA(T128, T10, T127, T11) → U16_GAAGGAGAA(T128, T10, T127, T11, splitJ_in_gaa(T128))
U16_GAAGGAGAA(T128, T10, T127, T11, splitJ_out_gaa(T128, T129, T130)) → PL_IN_GGGAGGAA(T10, T127, T130, T11, T129)
PL_IN_GGGAGGAA(T10, T127, T130, T11, T129) → U18_GGGAGGAA(T10, T127, T130, T11, T129, mergesortA_in_ga(.(T10, .(T127, T130))))
U18_GGGAGGAA(T10, T127, T130, T11, T129, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → PM_IN_GGAGA(T11, T129, T137)
PM_IN_GGAGA(T11, T129, T137) → MERGESORTA_IN_GA(.(T11, T129))
PL_IN_GGGAGGAA(T10, T127, T130, T11, T129) → MERGESORTA_IN_GA(.(T10, .(T127, T130)))

The TRS R consists of the following rules:

splitJ_in_gaa([]) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136)) → U7_gaa(T135, T136, splitJ_in_gaa(T136))
mergesortA_in_ga(.(T10, .(T11, []))) → U1_ga(T10, T11, pB_in_gagaa(T10, T11))
mergesortA_in_ga(.(T10, .(T11, .(T127, T128)))) → U2_ga(T10, T11, T127, T128, pC_in_gaaggagaa(T128, T10, T127, T11))
U7_gaa(T135, T136, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U1_ga(T10, T11, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
U2_ga(T10, T11, T127, T128, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)
pB_in_gagaa(T10, T11) → U8_gagaa(T10, T11, mergesortD_in_ga(T10))
pC_in_gaaggagaa(T128, T10, T127, T11) → U16_gaaggagaa(T128, T10, T127, T11, splitJ_in_gaa(T128))
U8_gagaa(T10, T11, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, pK_in_gaga(T11, T15))
U16_gaaggagaa(T128, T10, T127, T11, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, T11, pL_in_gggaggaa(T10, T127, T130, T11, T129))
mergesortD_in_ga(T20) → mergesortD_out_ga(T20, .(T20, []))
U9_gagaa(T10, T15, T11, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, T11, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
pK_in_gaga(T11, T15) → U10_gaga(T11, T15, mergesortD_in_ga(T11))
pL_in_gggaggaa(T10, T127, T130, T11, T129) → U18_gggaggaa(T10, T127, T130, T11, T129, mergesortA_in_ga(.(T10, .(T127, T130))))
U10_gaga(T11, T15, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, mergeE_in_gga(T15, T22))
U18_gggaggaa(T10, T127, T130, T11, T129, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, pM_in_ggaga(T11, T129, T137))
U11_gaga(T11, T22, T15, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
mergeE_in_gga(T29, []) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58)) → U3_gga(T55, T56, T57, T58, pF_in_gggga(T55, T57, T56, T58))
mergeE_in_gga(.(T94, T95), .(T96, T97)) → U4_gga(T94, T95, T96, T97, pG_in_gggga(T94, T96, T95, T97))
pM_in_ggaga(T11, T129, T137) → U20_ggaga(T11, T129, T137, mergesortA_in_ga(.(T11, T129)))
U3_gga(T55, T56, T57, T58, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U4_gga(T94, T95, T96, T97, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U20_ggaga(T11, T129, T137, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, mergeE_in_gga(T137, T138))
pF_in_gggga(T55, T57, T56, T58) → U12_gggga(T55, T57, T56, T58, leH_in_gg(T55, T57))
pG_in_gggga(T94, T96, T95, T97) → U14_gggga(T94, T96, T95, T97, gtI_in_gg(T94, T96))
mergesortA_in_ga(.(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
U21_ggaga(T11, T129, T138, T137, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U12_gggga(T55, T57, T56, T58, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, mergeE_in_gga(T56, .(T57, T58)))
U14_gggga(T94, T96, T95, T97, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, mergeE_in_gga(.(T94, T95), T97))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U13_gggga(T55, T57, T56, T58, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U15_gggga(T94, T96, T95, T97, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))

The set Q consists of the following terms:

splitJ_in_gaa(x0)
mergesortA_in_ga(x0)
U7_gaa(x0, x1, x2)
U1_ga(x0, x1, x2)
U2_ga(x0, x1, x2, x3, x4)
pB_in_gagaa(x0, x1)
pC_in_gaaggagaa(x0, x1, x2, x3)
U8_gagaa(x0, x1, x2)
U16_gaaggagaa(x0, x1, x2, x3, x4)
mergesortD_in_ga(x0)
U9_gagaa(x0, x1, x2, x3)
U17_gaaggagaa(x0, x1, x2, x3, x4, x5, x6)
pK_in_gaga(x0, x1)
pL_in_gggaggaa(x0, x1, x2, x3, x4)
U10_gaga(x0, x1, x2)
U18_gggaggaa(x0, x1, x2, x3, x4, x5)
U11_gaga(x0, x1, x2, x3)
U19_gggaggaa(x0, x1, x2, x3, x4, x5, x6)
mergeE_in_gga(x0, x1)
pM_in_ggaga(x0, x1, x2)
U3_gga(x0, x1, x2, x3, x4)
U4_gga(x0, x1, x2, x3, x4)
U20_ggaga(x0, x1, x2, x3)
pF_in_gggga(x0, x1, x2, x3)
pG_in_gggga(x0, x1, x2, x3)
U21_ggaga(x0, x1, x2, x3, x4)
U12_gggga(x0, x1, x2, x3, x4)
U14_gggga(x0, x1, x2, x3, x4)
leH_in_gg(x0, x1)
U13_gggga(x0, x1, x2, x3, x4)
gtI_in_gg(x0, x1)
U15_gggga(x0, x1, x2, x3, x4)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(42) QDPOrderProof (EQUIVALENT transformation)

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


The following pairs can be oriented strictly and are deleted.


MERGESORTA_IN_GA(.(T10, .(T11, .(T127, T128)))) → PC_IN_GAAGGAGAA(T128, T10, T127, T11)
PL_IN_GGGAGGAA(T10, T127, T130, T11, T129) → U18_GGGAGGAA(T10, T127, T130, T11, T129, mergesortA_in_ga(.(T10, .(T127, T130))))
U18_GGGAGGAA(T10, T127, T130, T11, T129, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → PM_IN_GGAGA(T11, T129, T137)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial Order [NEGPOLO,POLO] with Interpretation:

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


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


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


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


POL( [] ) = 0


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


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


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


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


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


POL( pB_in_gagaa(x1, x2) ) = x2


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


POL( pC_in_gaaggagaa(x1, ..., x4) ) = 2x1


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


POL( pL_in_gggaggaa(x1, ..., x5) ) = 2x1 + 1


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


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


POL( U18_gggaggaa(x1, ..., x6) ) = x1 + 2x3 + 2x4 + 2


POL( mergesortA_out_ga(x1, x2) ) = max{0, x1 + x2 - 1}


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


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


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


POL( U20_ggaga(x1, ..., x4) ) = 2x1 + x2 + 2


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


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


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


POL( mergesortD_in_ga(x1) ) = 2


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


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


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


POL( mergesortD_out_ga(x1, x2) ) = max{0, 2x1 + 2x2 - 1}


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


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


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


POL( mergeE_out_gga(x1, ..., x3) ) = 2


POL( U3_gga(x1, ..., x5) ) = x2 + 1


POL( pF_in_gggga(x1, ..., x4) ) = x1 + 2x4 + 1


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


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


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


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


POL( leH_in_gg(x1, x2) ) = x2


POL( s(x1) ) = 2x1


POL( U5_gg(x1, ..., x3) ) = max{0, -1}


POL( 0 ) = 0


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


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


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


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


POL( gtI_in_gg(x1, x2) ) = 0


POL( U6_gg(x1, ..., x3) ) = max{0, -1}


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


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


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


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


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


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



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

splitJ_in_gaa([]) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136)) → U7_gaa(T135, T136, splitJ_in_gaa(T136))
U7_gaa(T135, T136, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)

(43) Obligation:

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

PC_IN_GAAGGAGAA(T128, T10, T127, T11) → U16_GAAGGAGAA(T128, T10, T127, T11, splitJ_in_gaa(T128))
U16_GAAGGAGAA(T128, T10, T127, T11, splitJ_out_gaa(T128, T129, T130)) → PL_IN_GGGAGGAA(T10, T127, T130, T11, T129)
PM_IN_GGAGA(T11, T129, T137) → MERGESORTA_IN_GA(.(T11, T129))
PL_IN_GGGAGGAA(T10, T127, T130, T11, T129) → MERGESORTA_IN_GA(.(T10, .(T127, T130)))

The TRS R consists of the following rules:

splitJ_in_gaa([]) → splitJ_out_gaa([], [], [])
splitJ_in_gaa(.(T135, T136)) → U7_gaa(T135, T136, splitJ_in_gaa(T136))
mergesortA_in_ga(.(T10, .(T11, []))) → U1_ga(T10, T11, pB_in_gagaa(T10, T11))
mergesortA_in_ga(.(T10, .(T11, .(T127, T128)))) → U2_ga(T10, T11, T127, T128, pC_in_gaaggagaa(T128, T10, T127, T11))
U7_gaa(T135, T136, splitJ_out_gaa(T136, X164, X163)) → splitJ_out_gaa(.(T135, T136), .(T135, X163), X164)
U1_ga(T10, T11, pB_out_gagaa(T10, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, [])), T14)
U2_ga(T10, T11, T127, T128, pC_out_gaaggagaa(T128, X146, X145, T10, T127, X22, T11, X23, T14)) → mergesortA_out_ga(.(T10, .(T11, .(T127, T128))), T14)
pB_in_gagaa(T10, T11) → U8_gagaa(T10, T11, mergesortD_in_ga(T10))
pC_in_gaaggagaa(T128, T10, T127, T11) → U16_gaaggagaa(T128, T10, T127, T11, splitJ_in_gaa(T128))
U8_gagaa(T10, T11, mergesortD_out_ga(T10, T15)) → U9_gagaa(T10, T15, T11, pK_in_gaga(T11, T15))
U16_gaaggagaa(T128, T10, T127, T11, splitJ_out_gaa(T128, T129, T130)) → U17_gaaggagaa(T128, T129, T130, T10, T127, T11, pL_in_gggaggaa(T10, T127, T130, T11, T129))
mergesortD_in_ga(T20) → mergesortD_out_ga(T20, .(T20, []))
U9_gagaa(T10, T15, T11, pK_out_gaga(T11, X23, T15, T14)) → pB_out_gagaa(T10, T15, T11, X23, T14)
U17_gaaggagaa(T128, T129, T130, T10, T127, T11, pL_out_gggaggaa(T10, T127, T130, X22, T11, T129, X23, T14)) → pC_out_gaaggagaa(T128, T129, T130, T10, T127, X22, T11, X23, T14)
pK_in_gaga(T11, T15) → U10_gaga(T11, T15, mergesortD_in_ga(T11))
pL_in_gggaggaa(T10, T127, T130, T11, T129) → U18_gggaggaa(T10, T127, T130, T11, T129, mergesortA_in_ga(.(T10, .(T127, T130))))
U10_gaga(T11, T15, mergesortD_out_ga(T11, T22)) → U11_gaga(T11, T22, T15, mergeE_in_gga(T15, T22))
U18_gggaggaa(T10, T127, T130, T11, T129, mergesortA_out_ga(.(T10, .(T127, T130)), T137)) → U19_gggaggaa(T10, T127, T130, T137, T11, T129, pM_in_ggaga(T11, T129, T137))
U11_gaga(T11, T22, T15, mergeE_out_gga(T15, T22, T14)) → pK_out_gaga(T11, T22, T15, T14)
U19_gggaggaa(T10, T127, T130, T137, T11, T129, pM_out_ggaga(T11, T129, X23, T137, T14)) → pL_out_gggaggaa(T10, T127, T130, T137, T11, T129, X23, T14)
mergeE_in_gga(T29, []) → mergeE_out_gga(T29, [], T29)
mergeE_in_gga([], T34) → mergeE_out_gga([], T34, T34)
mergeE_in_gga(.(T55, T56), .(T57, T58)) → U3_gga(T55, T56, T57, T58, pF_in_gggga(T55, T57, T56, T58))
mergeE_in_gga(.(T94, T95), .(T96, T97)) → U4_gga(T94, T95, T96, T97, pG_in_gggga(T94, T96, T95, T97))
pM_in_ggaga(T11, T129, T137) → U20_ggaga(T11, T129, T137, mergesortA_in_ga(.(T11, T129)))
U3_gga(T55, T56, T57, T58, pF_out_gggga(T55, T57, T56, T58, T60)) → mergeE_out_gga(.(T55, T56), .(T57, T58), .(T55, T60))
U4_gga(T94, T95, T96, T97, pG_out_gggga(T94, T96, T95, T97, T99)) → mergeE_out_gga(.(T94, T95), .(T96, T97), .(T96, T99))
U20_ggaga(T11, T129, T137, mergesortA_out_ga(.(T11, T129), T138)) → U21_ggaga(T11, T129, T138, T137, mergeE_in_gga(T137, T138))
pF_in_gggga(T55, T57, T56, T58) → U12_gggga(T55, T57, T56, T58, leH_in_gg(T55, T57))
pG_in_gggga(T94, T96, T95, T97) → U14_gggga(T94, T96, T95, T97, gtI_in_gg(T94, T96))
mergesortA_in_ga(.(T4, [])) → mergesortA_out_ga(.(T4, []), .(T4, []))
U21_ggaga(T11, T129, T138, T137, mergeE_out_gga(T137, T138, T14)) → pM_out_ggaga(T11, T129, T138, T137, T14)
U12_gggga(T55, T57, T56, T58, leH_out_gg(T55, T57)) → U13_gggga(T55, T57, T56, T58, mergeE_in_gga(T56, .(T57, T58)))
U14_gggga(T94, T96, T95, T97, gtI_out_gg(T94, T96)) → U15_gggga(T94, T96, T95, T97, mergeE_in_gga(.(T94, T95), T97))
leH_in_gg(s(T73), s(T74)) → U5_gg(T73, T74, leH_in_gg(T73, T74))
leH_in_gg(0, s(T81)) → leH_out_gg(0, s(T81))
leH_in_gg(0, 0) → leH_out_gg(0, 0)
U13_gggga(T55, T57, T56, T58, mergeE_out_gga(T56, .(T57, T58), T60)) → pF_out_gggga(T55, T57, T56, T58, T60)
gtI_in_gg(s(T112), s(T113)) → U6_gg(T112, T113, gtI_in_gg(T112, T113))
gtI_in_gg(s(T118), 0) → gtI_out_gg(s(T118), 0)
U15_gggga(T94, T96, T95, T97, mergeE_out_gga(.(T94, T95), T97, T99)) → pG_out_gggga(T94, T96, T95, T97, T99)
U5_gg(T73, T74, leH_out_gg(T73, T74)) → leH_out_gg(s(T73), s(T74))
U6_gg(T112, T113, gtI_out_gg(T112, T113)) → gtI_out_gg(s(T112), s(T113))

The set Q consists of the following terms:

splitJ_in_gaa(x0)
mergesortA_in_ga(x0)
U7_gaa(x0, x1, x2)
U1_ga(x0, x1, x2)
U2_ga(x0, x1, x2, x3, x4)
pB_in_gagaa(x0, x1)
pC_in_gaaggagaa(x0, x1, x2, x3)
U8_gagaa(x0, x1, x2)
U16_gaaggagaa(x0, x1, x2, x3, x4)
mergesortD_in_ga(x0)
U9_gagaa(x0, x1, x2, x3)
U17_gaaggagaa(x0, x1, x2, x3, x4, x5, x6)
pK_in_gaga(x0, x1)
pL_in_gggaggaa(x0, x1, x2, x3, x4)
U10_gaga(x0, x1, x2)
U18_gggaggaa(x0, x1, x2, x3, x4, x5)
U11_gaga(x0, x1, x2, x3)
U19_gggaggaa(x0, x1, x2, x3, x4, x5, x6)
mergeE_in_gga(x0, x1)
pM_in_ggaga(x0, x1, x2)
U3_gga(x0, x1, x2, x3, x4)
U4_gga(x0, x1, x2, x3, x4)
U20_ggaga(x0, x1, x2, x3)
pF_in_gggga(x0, x1, x2, x3)
pG_in_gggga(x0, x1, x2, x3)
U21_ggaga(x0, x1, x2, x3, x4)
U12_gggga(x0, x1, x2, x3, x4)
U14_gggga(x0, x1, x2, x3, x4)
leH_in_gg(x0, x1)
U13_gggga(x0, x1, x2, x3, x4)
gtI_in_gg(x0, x1)
U15_gggga(x0, x1, x2, x3, x4)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(44) DependencyGraphProof (EQUIVALENT transformation)

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

(45) TRUE