(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).

Queries:

mergesort(g,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

mergesort19(T24, .(T24, [])).
merge29(T37, [], T37).
merge29([], T42, T42).
merge29(.(T63, T64), .(T65, T66), .(T63, T68)) :- le45(T63, T65).
merge29(.(T63, T64), .(T65, T66), .(T63, T68)) :- ','(le45(T63, T65), merge29(T64, .(T65, T66), T68)).
merge29(.(T106, T107), .(T108, T109), .(T108, T111)) :- gt62(T106, T108).
merge29(.(T106, T107), .(T108, T109), .(T108, T111)) :- ','(gt62(T106, T108), merge29(.(T106, T107), T109, T111)).
le45(s(T81), s(T82)) :- le45(T81, T82).
le45(0, s(T89)).
le45(0, 0).
gt62(s(T124), s(T125)) :- gt62(T124, T125).
gt62(s(T130), 0).
split74([], [], []).
split74(.(T147, T148), .(T147, X201), X202) :- split74(T148, X202, X201).
mergesort1([], []).
mergesort1(.(T4, []), .(T4, [])).
mergesort1(.(T10, .(T11, [])), T14) :- mergesort19(T10, X23).
mergesort1(.(T10, .(T11, [])), T14) :- ','(mergesort19(T10, T18), mergesort19(T11, X24)).
mergesort1(.(T10, .(T11, [])), T14) :- ','(mergesort19(T10, T18), ','(mergesort19(T11, T29), merge29(T18, T29, T14))).
mergesort1(.(T10, .(T11, .(T139, T140))), T14) :- split74(T140, X180, X179).
mergesort1(.(T10, .(T11, .(T139, T140))), T14) :- ','(split74(T140, T141, T142), mergesort1(.(T10, .(T139, T142)), X23)).
mergesort1(.(T10, .(T11, .(T139, T140))), T14) :- ','(split74(T140, T141, T142), ','(mergesort1(.(T10, .(T139, T142)), T154), mergesort1(.(T11, T141), X24))).
mergesort1(.(T10, .(T11, .(T139, T140))), T14) :- ','(split74(T140, T141, T142), ','(mergesort1(.(T10, .(T139, T142)), T154), ','(mergesort1(.(T11, T141), T162), merge29(T154, T162, T14)))).

Queries:

mergesort1(g,a).

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
mergesort1_in: (b,f)
merge29_in: (b,b,f) (f,f,f)
le45_in: (b,b) (f,f)
gt62_in: (b,b) (f,f)
split74_in: (b,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

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

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)

(5) 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:

MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U8_GA(T10, T11, T14, mergesort19_in_ga(T10, X23))
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → MERGESORT19_IN_GA(T10, X23)
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U9_GA(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_GA(T10, T11, T14, mergesort19_in_ga(T11, X24))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → MERGESORT19_IN_GA(T11, X24)
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_GA(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_GA(T10, T11, T14, merge29_in_gga(T18, T29, T14))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → MERGE29_IN_GGA(T18, T29, T14)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_GG(T63, T65)
LE45_IN_GG(s(T81), s(T82)) → U5_GG(T81, T82, le45_in_gg(T81, T82))
LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_GGA(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_GG(T106, T108)
GT62_IN_GG(s(T124), s(T125)) → U6_GG(T124, T125, gt62_in_gg(T124, T125))
GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_GGA(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U13_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → SPLIT74_IN_GAA(T140, X180, X179)
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → U7_GAA(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_GA(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → MERGE29_IN_AAA(T154, T162, T14)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_AA(T63, T65)
LE45_IN_AA(s(T81), s(T82)) → U5_AA(T81, T82, le45_in_aa(T81, T82))
LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_AAA(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_AA(T106, T108)
GT62_IN_AA(s(T124), s(T125)) → U6_AA(T124, T125, gt62_in_aa(T124, T125))
GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_AAA(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x4)
MERGESORT19_IN_GA(x1, x2)  =  MERGESORT19_IN_GA(x1)
U9_GA(x1, x2, x3, x4)  =  U9_GA(x2, x4)
U10_GA(x1, x2, x3, x4)  =  U10_GA(x4)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x4, x5)
U12_GA(x1, x2, x3, x4)  =  U12_GA(x4)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x2, x3, x4, x6)
LE45_IN_GG(x1, x2)  =  LE45_IN_GG(x1, x2)
U5_GG(x1, x2, x3)  =  U5_GG(x3)
U2_GGA(x1, x2, x3, x4, x5, x6)  =  U2_GGA(x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x4, x6)
GT62_IN_GG(x1, x2)  =  GT62_IN_GG(x1, x2)
U6_GG(x1, x2, x3)  =  U6_GG(x3)
U4_GGA(x1, x2, x3, x4, x5, x6)  =  U4_GGA(x6)
U13_GA(x1, x2, x3, x4, x5, x6)  =  U13_GA(x6)
SPLIT74_IN_GAA(x1, x2, x3)  =  SPLIT74_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U15_GA(x1, x2, x3, x4, x5, x6)  =  U15_GA(x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x2, x6, x7)
U17_GA(x1, x2, x3, x4, x5, x6)  =  U17_GA(x6)
U18_GA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GA(x7)
U19_GA(x1, x2, x3, x4, x5, x6)  =  U19_GA(x6)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
LE45_IN_AA(x1, x2)  =  LE45_IN_AA
U5_AA(x1, x2, x3)  =  U5_AA(x3)
U2_AAA(x1, x2, x3, x4, x5, x6)  =  U2_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)
GT62_IN_AA(x1, x2)  =  GT62_IN_AA
U6_AA(x1, x2, x3)  =  U6_AA(x3)
U4_AAA(x1, x2, x3, x4, x5, x6)  =  U4_AAA(x6)

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

(6) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U8_GA(T10, T11, T14, mergesort19_in_ga(T10, X23))
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → MERGESORT19_IN_GA(T10, X23)
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U9_GA(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_GA(T10, T11, T14, mergesort19_in_ga(T11, X24))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → MERGESORT19_IN_GA(T11, X24)
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_GA(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_GA(T10, T11, T14, merge29_in_gga(T18, T29, T14))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → MERGE29_IN_GGA(T18, T29, T14)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_GG(T63, T65)
LE45_IN_GG(s(T81), s(T82)) → U5_GG(T81, T82, le45_in_gg(T81, T82))
LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_GGA(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_GG(T106, T108)
GT62_IN_GG(s(T124), s(T125)) → U6_GG(T124, T125, gt62_in_gg(T124, T125))
GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_GGA(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U13_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → SPLIT74_IN_GAA(T140, X180, X179)
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → U7_GAA(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_GA(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → MERGE29_IN_AAA(T154, T162, T14)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_AA(T63, T65)
LE45_IN_AA(s(T81), s(T82)) → U5_AA(T81, T82, le45_in_aa(T81, T82))
LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_AAA(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_AA(T106, T108)
GT62_IN_AA(s(T124), s(T125)) → U6_AA(T124, T125, gt62_in_aa(T124, T125))
GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_AAA(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x4)
MERGESORT19_IN_GA(x1, x2)  =  MERGESORT19_IN_GA(x1)
U9_GA(x1, x2, x3, x4)  =  U9_GA(x2, x4)
U10_GA(x1, x2, x3, x4)  =  U10_GA(x4)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x4, x5)
U12_GA(x1, x2, x3, x4)  =  U12_GA(x4)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x2, x3, x4, x6)
LE45_IN_GG(x1, x2)  =  LE45_IN_GG(x1, x2)
U5_GG(x1, x2, x3)  =  U5_GG(x3)
U2_GGA(x1, x2, x3, x4, x5, x6)  =  U2_GGA(x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x4, x6)
GT62_IN_GG(x1, x2)  =  GT62_IN_GG(x1, x2)
U6_GG(x1, x2, x3)  =  U6_GG(x3)
U4_GGA(x1, x2, x3, x4, x5, x6)  =  U4_GGA(x6)
U13_GA(x1, x2, x3, x4, x5, x6)  =  U13_GA(x6)
SPLIT74_IN_GAA(x1, x2, x3)  =  SPLIT74_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U15_GA(x1, x2, x3, x4, x5, x6)  =  U15_GA(x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x2, x6, x7)
U17_GA(x1, x2, x3, x4, x5, x6)  =  U17_GA(x6)
U18_GA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GA(x7)
U19_GA(x1, x2, x3, x4, x5, x6)  =  U19_GA(x6)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
LE45_IN_AA(x1, x2)  =  LE45_IN_AA
U5_AA(x1, x2, x3)  =  U5_AA(x3)
U2_AAA(x1, x2, x3, x4, x5, x6)  =  U2_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)
GT62_IN_AA(x1, x2)  =  GT62_IN_AA
U6_AA(x1, x2, x3)  =  U6_AA(x3)
U4_AAA(x1, x2, x3, x4, x5, x6)  =  U4_AAA(x6)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 8 SCCs with 28 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
GT62_IN_AA(x1, x2)  =  GT62_IN_AA

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

(10) UsableRulesProof (EQUIVALENT transformation)

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

(11) Obligation:

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

GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)

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

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

(12) PiDPToQDPProof (SOUND transformation)

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

(13) Obligation:

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

GT62_IN_AAGT62_IN_AA

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

(14) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = GT62_IN_AA evaluates to t =GT62_IN_AA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from GT62_IN_AA to GT62_IN_AA.



(15) NO

(16) Obligation:

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

LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
LE45_IN_AA(x1, x2)  =  LE45_IN_AA

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

(17) UsableRulesProof (EQUIVALENT transformation)

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

(18) Obligation:

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

LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)

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

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

(19) PiDPToQDPProof (SOUND transformation)

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

(20) Obligation:

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

LE45_IN_AALE45_IN_AA

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

(21) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = LE45_IN_AA evaluates to t =LE45_IN_AA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from LE45_IN_AA to LE45_IN_AA.



(22) NO

(23) Obligation:

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

U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)

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

(24) UsableRulesProof (EQUIVALENT transformation)

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

(25) Obligation:

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

U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
s(x1)  =  s(x1)
0  =  0
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)

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

(26) PiDPToQDPProof (SOUND transformation)

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

(27) Obligation:

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

U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA
MERGE29_IN_AAAU1_AAA(le45_in_aa)
MERGE29_IN_AAAU3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA

The TRS R consists of the following rules:

le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

le45_in_aa
gt62_in_aa
U5_aa(x0)
U6_aa(x0)

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

(28) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule MERGE29_IN_AAAU1_AAA(le45_in_aa) at position [0] we obtained the following new rules [LPAR04]:

MERGE29_IN_AAAU1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAAU1_AAA(le45_out_aa(0))

(29) Obligation:

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

U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA
MERGE29_IN_AAAU3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
MERGE29_IN_AAAU1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAAU1_AAA(le45_out_aa(0))

The TRS R consists of the following rules:

le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

le45_in_aa
gt62_in_aa
U5_aa(x0)
U6_aa(x0)

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

(30) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule MERGE29_IN_AAAU3_AAA(gt62_in_aa) at position [0] we obtained the following new rules [LPAR04]:

MERGE29_IN_AAAU3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAAU3_AAA(gt62_out_aa(0))

(31) Obligation:

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

U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
MERGE29_IN_AAAU1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAAU1_AAA(le45_out_aa(0))
MERGE29_IN_AAAU3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAAU3_AAA(gt62_out_aa(0))

The TRS R consists of the following rules:

le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

le45_in_aa
gt62_in_aa
U5_aa(x0)
U6_aa(x0)

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

(32) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:

s = MERGE29_IN_AAA evaluates to t =MERGE29_IN_AAA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

MERGE29_IN_AAAU1_AAA(le45_out_aa(0))
with rule MERGE29_IN_AAAU1_AAA(le45_out_aa(0)) at position [] and matcher [ ]

U1_AAA(le45_out_aa(0))MERGE29_IN_AAA
with rule U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA

Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence


All these steps are and every following step will be a correct step w.r.t to Q.



(33) NO

(34) Obligation:

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

SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
SPLIT74_IN_GAA(x1, x2, x3)  =  SPLIT74_IN_GAA(x1)

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

(35) UsableRulesProof (EQUIVALENT transformation)

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

(36) Obligation:

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

SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)

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

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

(37) PiDPToQDPProof (SOUND transformation)

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

(38) Obligation:

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

SPLIT74_IN_GAA(.(T147, T148)) → SPLIT74_IN_GAA(T148)

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

(39) 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:

  • SPLIT74_IN_GAA(.(T147, T148)) → SPLIT74_IN_GAA(T148)
    The graph contains the following edges 1 > 1

(40) YES

(41) Obligation:

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

GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
GT62_IN_GG(x1, x2)  =  GT62_IN_GG(x1, x2)

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

(42) UsableRulesProof (EQUIVALENT transformation)

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

(43) Obligation:

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

GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)

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

(44) PiDPToQDPProof (EQUIVALENT transformation)

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

(45) Obligation:

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

GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)

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

(46) 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:

  • GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)
    The graph contains the following edges 1 > 1, 2 > 2

(47) YES

(48) Obligation:

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

LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
LE45_IN_GG(x1, x2)  =  LE45_IN_GG(x1, x2)

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

(49) UsableRulesProof (EQUIVALENT transformation)

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

(50) Obligation:

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

LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)

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

(51) PiDPToQDPProof (EQUIVALENT transformation)

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

(52) Obligation:

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

LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)

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

(53) 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:

  • LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)
    The graph contains the following edges 1 > 1, 2 > 2

(54) YES

(55) Obligation:

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

U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x2, x3, x4, x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x4, x6)

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

(56) UsableRulesProof (EQUIVALENT transformation)

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

(57) Obligation:

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

U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x2, x3, x4, x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x4, x6)

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

(58) PiDPToQDPProof (SOUND transformation)

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

(59) Obligation:

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

U1_GGA(T64, T65, T66, le45_out_gg) → MERGE29_IN_GGA(T64, .(T65, T66))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T64, T65, T66, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T109, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T109, gt62_out_gg) → MERGE29_IN_GGA(.(T106, T107), T109)

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg
le45_in_gg(0, 0) → le45_out_gg
gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U5_gg(le45_out_gg) → le45_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0)
U6_gg(x0)

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

(60) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T64, T65, T66, le45_in_gg(T63, T65))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:

POL(U1_GGA(x1, x2, x3, x4)) = 0 +
[1,1]
·x1 +
[0,0]
·x2 +
[1,0]
·x3 +
[0,0]
·x4

POL(le45_out_gg) =
/1\
\0/

POL(MERGE29_IN_GGA(x1, x2)) = 0 +
[1,1]
·x1 +
[1,0]
·x2

POL(.(x1, x2)) =
/0\
\1/
+
/00\
\00/
·x1 +
/10\
\01/
·x2

POL(le45_in_gg(x1, x2)) =
/0\
\1/
+
/00\
\01/
·x1 +
/11\
\00/
·x2

POL(U3_GGA(x1, x2, x3, x4)) = 1 +
[0,0]
·x1 +
[1,1]
·x2 +
[1,0]
·x3 +
[0,0]
·x4

POL(gt62_in_gg(x1, x2)) =
/0\
\0/
+
/11\
\01/
·x1 +
/01\
\01/
·x2

POL(gt62_out_gg) =
/1\
\0/

POL(s(x1)) =
/0\
\0/
+
/01\
\00/
·x1

POL(U5_gg(x1)) =
/0\
\1/
+
/01\
\10/
·x1

POL(0) =
/0\
\0/

POL(U6_gg(x1)) =
/1\
\0/
+
/11\
\11/
·x1

The following usable rules [FROCOS05] were oriented: none

(61) Obligation:

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

U1_GGA(T64, T65, T66, le45_out_gg) → MERGE29_IN_GGA(T64, .(T65, T66))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T109, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T109, gt62_out_gg) → MERGE29_IN_GGA(.(T106, T107), T109)

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg
le45_in_gg(0, 0) → le45_out_gg
gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U5_gg(le45_out_gg) → le45_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0)
U6_gg(x0)

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

(62) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(63) Obligation:

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

U3_GGA(T106, T107, T109, gt62_out_gg) → MERGE29_IN_GGA(.(T106, T107), T109)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T109, gt62_in_gg(T106, T108))

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg
le45_in_gg(0, 0) → le45_out_gg
gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U5_gg(le45_out_gg) → le45_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0)
U6_gg(x0)

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

(64) UsableRulesProof (EQUIVALENT transformation)

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

(65) Obligation:

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

U3_GGA(T106, T107, T109, gt62_out_gg) → MERGE29_IN_GGA(.(T106, T107), T109)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T109, gt62_in_gg(T106, T108))

The TRS R consists of the following rules:

gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0)
U6_gg(x0)

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

(66) QReductionProof (EQUIVALENT transformation)

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

le45_in_gg(x0, x1)
U5_gg(x0)

(67) Obligation:

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

U3_GGA(T106, T107, T109, gt62_out_gg) → MERGE29_IN_GGA(.(T106, T107), T109)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T109, gt62_in_gg(T106, T108))

The TRS R consists of the following rules:

gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg

The set Q consists of the following terms:

gt62_in_gg(x0, x1)
U6_gg(x0)

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

(68) 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:

  • MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T109, gt62_in_gg(T106, T108))
    The graph contains the following edges 1 > 1, 1 > 2, 2 > 3

  • U3_GGA(T106, T107, T109, gt62_out_gg) → MERGE29_IN_GGA(.(T106, T107), T109)
    The graph contains the following edges 3 >= 2

(69) YES

(70) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x2, x6, x7)

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

(71) UsableRulesProof (EQUIVALENT transformation)

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

(72) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)

The TRS R consists of the following rules:

split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x2, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x2, x6, x7)

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

(73) PiDPToQDPProof (SOUND transformation)

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

(74) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140)))) → U14_GA(T10, T11, T139, split74_in_gaa(T140))
U14_GA(T10, T11, T139, split74_out_gaa(T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)))
U14_GA(T10, T11, T139, split74_out_gaa(T141, T142)) → U16_GA(T11, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
U16_GA(T11, T141, mergesort1_out_ga) → MERGESORT1_IN_GA(.(T11, T141))

The TRS R consists of the following rules:

split74_in_gaa([]) → split74_out_gaa([], [])
split74_in_gaa(.(T147, T148)) → U7_gaa(T147, split74_in_gaa(T148))
mergesort1_in_ga(.(T10, .(T11, []))) → U8_ga(mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, []))) → U9_ga(T11, mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U13_ga(split74_in_gaa(T140))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U14_ga(T10, T11, T139, split74_in_gaa(T140))
U7_gaa(T147, split74_out_gaa(X202, X201)) → split74_out_gaa(.(T147, X201), X202)
U8_ga(mergesort19_out_ga(X23)) → mergesort1_out_ga
U9_ga(T11, mergesort19_out_ga(T18)) → U10_ga(mergesort19_in_ga(T11))
U9_ga(T11, mergesort19_out_ga(T18)) → U11_ga(T18, mergesort19_in_ga(T11))
U13_ga(split74_out_gaa(X180, X179)) → mergesort1_out_ga
U14_ga(T10, T11, T139, split74_out_gaa(T141, T142)) → U15_ga(mergesort1_in_ga(.(T10, .(T139, T142))))
U14_ga(T10, T11, T139, split74_out_gaa(T141, T142)) → U16_ga(T11, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
mergesort19_in_ga(T24) → mergesort19_out_ga(.(T24, []))
U10_ga(mergesort19_out_ga(X24)) → mergesort1_out_ga
U11_ga(T18, mergesort19_out_ga(T29)) → U12_ga(merge29_in_gga(T18, T29))
U15_ga(mergesort1_out_ga) → mergesort1_out_ga
U16_ga(T11, T141, mergesort1_out_ga) → U17_ga(mergesort1_in_ga(.(T11, T141)))
U16_ga(T11, T141, mergesort1_out_ga) → U18_ga(mergesort1_in_ga(.(T11, T141)))
U12_ga(merge29_out_gga) → mergesort1_out_ga
U17_ga(mergesort1_out_ga) → mergesort1_out_ga
U18_ga(mergesort1_out_ga) → U19_ga(merge29_in_aaa)
merge29_in_gga(T37, []) → merge29_out_gga
merge29_in_gga([], T42) → merge29_out_gga
merge29_in_gga(.(T63, T64), .(T65, T66)) → U1_gga(T64, T65, T66, le45_in_gg(T63, T65))
merge29_in_gga(.(T106, T107), .(T108, T109)) → U3_gga(T106, T107, T109, gt62_in_gg(T106, T108))
mergesort1_in_ga(.(T4, [])) → mergesort1_out_ga
U19_ga(merge29_out_aaa) → mergesort1_out_ga
U1_gga(T64, T65, T66, le45_out_gg) → merge29_out_gga
U1_gga(T64, T65, T66, le45_out_gg) → U2_gga(merge29_in_gga(T64, .(T65, T66)))
U3_gga(T106, T107, T109, gt62_out_gg) → merge29_out_gga
U3_gga(T106, T107, T109, gt62_out_gg) → U4_gga(merge29_in_gga(.(T106, T107), T109))
merge29_in_aaamerge29_out_aaa
merge29_in_aaaU1_aaa(le45_in_aa)
merge29_in_aaaU3_aaa(gt62_in_aa)
le45_in_gg(s(T81), s(T82)) → U5_gg(le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg
le45_in_gg(0, 0) → le45_out_gg
U2_gga(merge29_out_gga) → merge29_out_gga
gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U4_gga(merge29_out_gga) → merge29_out_gga
U1_aaa(le45_out_aa(T63)) → merge29_out_aaa
U1_aaa(le45_out_aa(T63)) → U2_aaa(merge29_in_aaa)
U3_aaa(gt62_out_aa(T108)) → merge29_out_aaa
U3_aaa(gt62_out_aa(T108)) → U4_aaa(merge29_in_aaa)
U5_gg(le45_out_gg) → le45_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg
le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U4_aaa(merge29_out_aaa) → merge29_out_aaa
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

split74_in_gaa(x0)
mergesort1_in_ga(x0)
U7_gaa(x0, x1)
U8_ga(x0)
U9_ga(x0, x1)
U13_ga(x0)
U14_ga(x0, x1, x2, x3)
mergesort19_in_ga(x0)
U10_ga(x0)
U11_ga(x0, x1)
U15_ga(x0)
U16_ga(x0, x1, x2)
U12_ga(x0)
U17_ga(x0)
U18_ga(x0)
merge29_in_gga(x0, x1)
U19_ga(x0)
U1_gga(x0, x1, x2, x3)
U3_gga(x0, x1, x2, x3)
merge29_in_aaa
le45_in_gg(x0, x1)
U2_gga(x0)
gt62_in_gg(x0, x1)
U4_gga(x0)
U1_aaa(x0)
U3_aaa(x0)
U5_gg(x0)
U6_gg(x0)
le45_in_aa
U2_aaa(x0)
gt62_in_aa
U4_aaa(x0)
U5_aa(x0)
U6_aa(x0)

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

(75) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140)))) → U14_GA(T10, T11, T139, split74_in_gaa(T140))
U14_GA(T10, T11, T139, split74_out_gaa(T141, T142)) → U16_GA(T11, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(0) = 0   
POL(MERGESORT1_IN_GA(x1)) = x1   
POL(U10_ga(x1)) = 0   
POL(U11_ga(x1, x2)) = 0   
POL(U12_ga(x1)) = 0   
POL(U13_ga(x1)) = 0   
POL(U14_GA(x1, x2, x3, x4)) = 1 + x4   
POL(U14_ga(x1, x2, x3, x4)) = 0   
POL(U15_ga(x1)) = 0   
POL(U16_GA(x1, x2, x3)) = 1 + x2   
POL(U16_ga(x1, x2, x3)) = 0   
POL(U17_ga(x1)) = 0   
POL(U18_ga(x1)) = 0   
POL(U19_ga(x1)) = 0   
POL(U1_aaa(x1)) = 0   
POL(U1_gga(x1, x2, x3, x4)) = 0   
POL(U2_aaa(x1)) = 0   
POL(U2_gga(x1)) = 0   
POL(U3_aaa(x1)) = x1   
POL(U3_gga(x1, x2, x3, x4)) = 0   
POL(U4_aaa(x1)) = 0   
POL(U4_gga(x1)) = 0   
POL(U5_aa(x1)) = 0   
POL(U5_gg(x1)) = x1   
POL(U6_aa(x1)) = 0   
POL(U6_gg(x1)) = 1   
POL(U7_gaa(x1, x2)) = 1 + x2   
POL(U8_ga(x1)) = 0   
POL(U9_ga(x1, x2)) = 0   
POL([]) = 0   
POL(gt62_in_aa) = 1   
POL(gt62_in_gg(x1, x2)) = x2   
POL(gt62_out_aa(x1)) = 0   
POL(gt62_out_gg) = 0   
POL(le45_in_aa) = 0   
POL(le45_in_gg(x1, x2)) = 1   
POL(le45_out_aa(x1)) = 0   
POL(le45_out_gg) = 0   
POL(merge29_in_aaa) = 1   
POL(merge29_in_gga(x1, x2)) = 0   
POL(merge29_out_aaa) = 0   
POL(merge29_out_gga) = 0   
POL(mergesort19_in_ga(x1)) = 1 + x1   
POL(mergesort19_out_ga(x1)) = 0   
POL(mergesort1_in_ga(x1)) = 0   
POL(mergesort1_out_ga) = 0   
POL(s(x1)) = 1   
POL(split74_in_gaa(x1)) = 1 + x1   
POL(split74_out_gaa(x1, x2)) = 1 + x1 + x2   

The following usable rules [FROCOS05] were oriented:

split74_in_gaa([]) → split74_out_gaa([], [])
split74_in_gaa(.(T147, T148)) → U7_gaa(T147, split74_in_gaa(T148))
U7_gaa(T147, split74_out_gaa(X202, X201)) → split74_out_gaa(.(T147, X201), X202)

(76) Obligation:

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

U14_GA(T10, T11, T139, split74_out_gaa(T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)))
U16_GA(T11, T141, mergesort1_out_ga) → MERGESORT1_IN_GA(.(T11, T141))

The TRS R consists of the following rules:

split74_in_gaa([]) → split74_out_gaa([], [])
split74_in_gaa(.(T147, T148)) → U7_gaa(T147, split74_in_gaa(T148))
mergesort1_in_ga(.(T10, .(T11, []))) → U8_ga(mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, []))) → U9_ga(T11, mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U13_ga(split74_in_gaa(T140))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U14_ga(T10, T11, T139, split74_in_gaa(T140))
U7_gaa(T147, split74_out_gaa(X202, X201)) → split74_out_gaa(.(T147, X201), X202)
U8_ga(mergesort19_out_ga(X23)) → mergesort1_out_ga
U9_ga(T11, mergesort19_out_ga(T18)) → U10_ga(mergesort19_in_ga(T11))
U9_ga(T11, mergesort19_out_ga(T18)) → U11_ga(T18, mergesort19_in_ga(T11))
U13_ga(split74_out_gaa(X180, X179)) → mergesort1_out_ga
U14_ga(T10, T11, T139, split74_out_gaa(T141, T142)) → U15_ga(mergesort1_in_ga(.(T10, .(T139, T142))))
U14_ga(T10, T11, T139, split74_out_gaa(T141, T142)) → U16_ga(T11, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
mergesort19_in_ga(T24) → mergesort19_out_ga(.(T24, []))
U10_ga(mergesort19_out_ga(X24)) → mergesort1_out_ga
U11_ga(T18, mergesort19_out_ga(T29)) → U12_ga(merge29_in_gga(T18, T29))
U15_ga(mergesort1_out_ga) → mergesort1_out_ga
U16_ga(T11, T141, mergesort1_out_ga) → U17_ga(mergesort1_in_ga(.(T11, T141)))
U16_ga(T11, T141, mergesort1_out_ga) → U18_ga(mergesort1_in_ga(.(T11, T141)))
U12_ga(merge29_out_gga) → mergesort1_out_ga
U17_ga(mergesort1_out_ga) → mergesort1_out_ga
U18_ga(mergesort1_out_ga) → U19_ga(merge29_in_aaa)
merge29_in_gga(T37, []) → merge29_out_gga
merge29_in_gga([], T42) → merge29_out_gga
merge29_in_gga(.(T63, T64), .(T65, T66)) → U1_gga(T64, T65, T66, le45_in_gg(T63, T65))
merge29_in_gga(.(T106, T107), .(T108, T109)) → U3_gga(T106, T107, T109, gt62_in_gg(T106, T108))
mergesort1_in_ga(.(T4, [])) → mergesort1_out_ga
U19_ga(merge29_out_aaa) → mergesort1_out_ga
U1_gga(T64, T65, T66, le45_out_gg) → merge29_out_gga
U1_gga(T64, T65, T66, le45_out_gg) → U2_gga(merge29_in_gga(T64, .(T65, T66)))
U3_gga(T106, T107, T109, gt62_out_gg) → merge29_out_gga
U3_gga(T106, T107, T109, gt62_out_gg) → U4_gga(merge29_in_gga(.(T106, T107), T109))
merge29_in_aaamerge29_out_aaa
merge29_in_aaaU1_aaa(le45_in_aa)
merge29_in_aaaU3_aaa(gt62_in_aa)
le45_in_gg(s(T81), s(T82)) → U5_gg(le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg
le45_in_gg(0, 0) → le45_out_gg
U2_gga(merge29_out_gga) → merge29_out_gga
gt62_in_gg(s(T124), s(T125)) → U6_gg(gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg
U4_gga(merge29_out_gga) → merge29_out_gga
U1_aaa(le45_out_aa(T63)) → merge29_out_aaa
U1_aaa(le45_out_aa(T63)) → U2_aaa(merge29_in_aaa)
U3_aaa(gt62_out_aa(T108)) → merge29_out_aaa
U3_aaa(gt62_out_aa(T108)) → U4_aaa(merge29_in_aaa)
U5_gg(le45_out_gg) → le45_out_gg
U6_gg(gt62_out_gg) → gt62_out_gg
le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U4_aaa(merge29_out_aaa) → merge29_out_aaa
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

split74_in_gaa(x0)
mergesort1_in_ga(x0)
U7_gaa(x0, x1)
U8_ga(x0)
U9_ga(x0, x1)
U13_ga(x0)
U14_ga(x0, x1, x2, x3)
mergesort19_in_ga(x0)
U10_ga(x0)
U11_ga(x0, x1)
U15_ga(x0)
U16_ga(x0, x1, x2)
U12_ga(x0)
U17_ga(x0)
U18_ga(x0)
merge29_in_gga(x0, x1)
U19_ga(x0)
U1_gga(x0, x1, x2, x3)
U3_gga(x0, x1, x2, x3)
merge29_in_aaa
le45_in_gg(x0, x1)
U2_gga(x0)
gt62_in_gg(x0, x1)
U4_gga(x0)
U1_aaa(x0)
U3_aaa(x0)
U5_gg(x0)
U6_gg(x0)
le45_in_aa
U2_aaa(x0)
gt62_in_aa
U4_aaa(x0)
U5_aa(x0)
U6_aa(x0)

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

(77) DependencyGraphProof (EQUIVALENT transformation)

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

(78) TRUE

(79) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
mergesort1_in: (b,f)
merge29_in: (b,b,f) (f,f,f)
le45_in: (b,b) (f,f)
gt62_in: (b,b) (f,f)
split74_in: (b,f,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(80) Obligation:

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

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)

(81) 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:

MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U8_GA(T10, T11, T14, mergesort19_in_ga(T10, X23))
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → MERGESORT19_IN_GA(T10, X23)
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U9_GA(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_GA(T10, T11, T14, mergesort19_in_ga(T11, X24))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → MERGESORT19_IN_GA(T11, X24)
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_GA(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_GA(T10, T11, T14, merge29_in_gga(T18, T29, T14))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → MERGE29_IN_GGA(T18, T29, T14)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_GG(T63, T65)
LE45_IN_GG(s(T81), s(T82)) → U5_GG(T81, T82, le45_in_gg(T81, T82))
LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_GGA(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_GG(T106, T108)
GT62_IN_GG(s(T124), s(T125)) → U6_GG(T124, T125, gt62_in_gg(T124, T125))
GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_GGA(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U13_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → SPLIT74_IN_GAA(T140, X180, X179)
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → U7_GAA(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_GA(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → MERGE29_IN_AAA(T154, T162, T14)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_AA(T63, T65)
LE45_IN_AA(s(T81), s(T82)) → U5_AA(T81, T82, le45_in_aa(T81, T82))
LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_AAA(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_AA(T106, T108)
GT62_IN_AA(s(T124), s(T125)) → U6_AA(T124, T125, gt62_in_aa(T124, T125))
GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_AAA(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x2, x4)
MERGESORT19_IN_GA(x1, x2)  =  MERGESORT19_IN_GA(x1)
U9_GA(x1, x2, x3, x4)  =  U9_GA(x1, x2, x4)
U10_GA(x1, x2, x3, x4)  =  U10_GA(x1, x2, x4)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x1, x2, x4, x5)
U12_GA(x1, x2, x3, x4)  =  U12_GA(x1, x2, x4)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x1, x2, x3, x4, x6)
LE45_IN_GG(x1, x2)  =  LE45_IN_GG(x1, x2)
U5_GG(x1, x2, x3)  =  U5_GG(x1, x2, x3)
U2_GGA(x1, x2, x3, x4, x5, x6)  =  U2_GGA(x1, x2, x3, x4, x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x3, x4, x6)
GT62_IN_GG(x1, x2)  =  GT62_IN_GG(x1, x2)
U6_GG(x1, x2, x3)  =  U6_GG(x1, x2, x3)
U4_GGA(x1, x2, x3, x4, x5, x6)  =  U4_GGA(x1, x2, x3, x4, x6)
U13_GA(x1, x2, x3, x4, x5, x6)  =  U13_GA(x1, x2, x3, x4, x6)
SPLIT74_IN_GAA(x1, x2, x3)  =  SPLIT74_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, x2, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x4, x6)
U15_GA(x1, x2, x3, x4, x5, x6)  =  U15_GA(x1, x2, x3, x4, x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x1, x2, x3, x4, x6, x7)
U17_GA(x1, x2, x3, x4, x5, x6)  =  U17_GA(x1, x2, x3, x4, x6)
U18_GA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GA(x1, x2, x3, x4, x7)
U19_GA(x1, x2, x3, x4, x5, x6)  =  U19_GA(x1, x2, x3, x4, x6)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
LE45_IN_AA(x1, x2)  =  LE45_IN_AA
U5_AA(x1, x2, x3)  =  U5_AA(x3)
U2_AAA(x1, x2, x3, x4, x5, x6)  =  U2_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)
GT62_IN_AA(x1, x2)  =  GT62_IN_AA
U6_AA(x1, x2, x3)  =  U6_AA(x3)
U4_AAA(x1, x2, x3, x4, x5, x6)  =  U4_AAA(x6)

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

(82) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U8_GA(T10, T11, T14, mergesort19_in_ga(T10, X23))
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → MERGESORT19_IN_GA(T10, X23)
MERGESORT1_IN_GA(.(T10, .(T11, [])), T14) → U9_GA(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_GA(T10, T11, T14, mergesort19_in_ga(T11, X24))
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → MERGESORT19_IN_GA(T11, X24)
U9_GA(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_GA(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_GA(T10, T11, T14, merge29_in_gga(T18, T29, T14))
U11_GA(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → MERGE29_IN_GGA(T18, T29, T14)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_GG(T63, T65)
LE45_IN_GG(s(T81), s(T82)) → U5_GG(T81, T82, le45_in_gg(T81, T82))
LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_GGA(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_GG(T106, T108)
GT62_IN_GG(s(T124), s(T125)) → U6_GG(T124, T125, gt62_in_gg(T124, T125))
GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_GGA(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U13_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → SPLIT74_IN_GAA(T140, X180, X179)
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → U7_GAA(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)
MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_GA(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_GA(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
U18_GA(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → MERGE29_IN_AAA(T154, T162, T14)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → LE45_IN_AA(T63, T65)
LE45_IN_AA(s(T81), s(T82)) → U5_AA(T81, T82, le45_in_aa(T81, T82))
LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_AAA(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → GT62_IN_AA(T106, T108)
GT62_IN_AA(s(T124), s(T125)) → U6_AA(T124, T125, gt62_in_aa(T124, T125))
GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_AAA(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U8_GA(x1, x2, x3, x4)  =  U8_GA(x1, x2, x4)
MERGESORT19_IN_GA(x1, x2)  =  MERGESORT19_IN_GA(x1)
U9_GA(x1, x2, x3, x4)  =  U9_GA(x1, x2, x4)
U10_GA(x1, x2, x3, x4)  =  U10_GA(x1, x2, x4)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x1, x2, x4, x5)
U12_GA(x1, x2, x3, x4)  =  U12_GA(x1, x2, x4)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x1, x2, x3, x4, x6)
LE45_IN_GG(x1, x2)  =  LE45_IN_GG(x1, x2)
U5_GG(x1, x2, x3)  =  U5_GG(x1, x2, x3)
U2_GGA(x1, x2, x3, x4, x5, x6)  =  U2_GGA(x1, x2, x3, x4, x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x3, x4, x6)
GT62_IN_GG(x1, x2)  =  GT62_IN_GG(x1, x2)
U6_GG(x1, x2, x3)  =  U6_GG(x1, x2, x3)
U4_GGA(x1, x2, x3, x4, x5, x6)  =  U4_GGA(x1, x2, x3, x4, x6)
U13_GA(x1, x2, x3, x4, x5, x6)  =  U13_GA(x1, x2, x3, x4, x6)
SPLIT74_IN_GAA(x1, x2, x3)  =  SPLIT74_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4, x5)  =  U7_GAA(x1, x2, x5)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x4, x6)
U15_GA(x1, x2, x3, x4, x5, x6)  =  U15_GA(x1, x2, x3, x4, x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x1, x2, x3, x4, x6, x7)
U17_GA(x1, x2, x3, x4, x5, x6)  =  U17_GA(x1, x2, x3, x4, x6)
U18_GA(x1, x2, x3, x4, x5, x6, x7)  =  U18_GA(x1, x2, x3, x4, x7)
U19_GA(x1, x2, x3, x4, x5, x6)  =  U19_GA(x1, x2, x3, x4, x6)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
LE45_IN_AA(x1, x2)  =  LE45_IN_AA
U5_AA(x1, x2, x3)  =  U5_AA(x3)
U2_AAA(x1, x2, x3, x4, x5, x6)  =  U2_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)
GT62_IN_AA(x1, x2)  =  GT62_IN_AA
U6_AA(x1, x2, x3)  =  U6_AA(x3)
U4_AAA(x1, x2, x3, x4, x5, x6)  =  U4_AAA(x6)

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

(83) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 8 SCCs with 28 less nodes.

(84) Complex Obligation (AND)

(85) Obligation:

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

GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
GT62_IN_AA(x1, x2)  =  GT62_IN_AA

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

(86) UsableRulesProof (EQUIVALENT transformation)

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

(87) Obligation:

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

GT62_IN_AA(s(T124), s(T125)) → GT62_IN_AA(T124, T125)

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

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

(88) PiDPToQDPProof (SOUND transformation)

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

(89) Obligation:

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

GT62_IN_AAGT62_IN_AA

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

(90) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = GT62_IN_AA evaluates to t =GT62_IN_AA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from GT62_IN_AA to GT62_IN_AA.



(91) NO

(92) Obligation:

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

LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
LE45_IN_AA(x1, x2)  =  LE45_IN_AA

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

(93) UsableRulesProof (EQUIVALENT transformation)

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

(94) Obligation:

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

LE45_IN_AA(s(T81), s(T82)) → LE45_IN_AA(T81, T82)

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

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

(95) PiDPToQDPProof (SOUND transformation)

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

(96) Obligation:

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

LE45_IN_AALE45_IN_AA

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

(97) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = LE45_IN_AA evaluates to t =LE45_IN_AA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Matcher: [ ]
  • Semiunifier: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from LE45_IN_AA to LE45_IN_AA.



(98) NO

(99) Obligation:

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

U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)

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

(100) UsableRulesProof (EQUIVALENT transformation)

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

(101) Obligation:

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

U1_AAA(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → MERGE29_IN_AAA(T64, .(T65, T66), T68)
MERGE29_IN_AAA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_AAA(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
MERGE29_IN_AAA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_AAA(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
U3_AAA(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → MERGE29_IN_AAA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
s(x1)  =  s(x1)
0  =  0
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
MERGE29_IN_AAA(x1, x2, x3)  =  MERGE29_IN_AAA
U1_AAA(x1, x2, x3, x4, x5, x6)  =  U1_AAA(x6)
U3_AAA(x1, x2, x3, x4, x5, x6)  =  U3_AAA(x6)

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

(102) PiDPToQDPProof (SOUND transformation)

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

(103) Obligation:

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

U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA
MERGE29_IN_AAAU1_AAA(le45_in_aa)
MERGE29_IN_AAAU3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA

The TRS R consists of the following rules:

le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

le45_in_aa
gt62_in_aa
U5_aa(x0)
U6_aa(x0)

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

(104) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule MERGE29_IN_AAAU1_AAA(le45_in_aa) at position [0] we obtained the following new rules [LPAR04]:

MERGE29_IN_AAAU1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAAU1_AAA(le45_out_aa(0))

(105) Obligation:

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

U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA
MERGE29_IN_AAAU3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
MERGE29_IN_AAAU1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAAU1_AAA(le45_out_aa(0))

The TRS R consists of the following rules:

le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

le45_in_aa
gt62_in_aa
U5_aa(x0)
U6_aa(x0)

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

(106) Narrowing (SOUND transformation)

By narrowing [LPAR04] the rule MERGE29_IN_AAAU3_AAA(gt62_in_aa) at position [0] we obtained the following new rules [LPAR04]:

MERGE29_IN_AAAU3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAAU3_AAA(gt62_out_aa(0))

(107) Obligation:

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

U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
MERGE29_IN_AAAU1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAAU1_AAA(le45_out_aa(0))
MERGE29_IN_AAAU3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAAU3_AAA(gt62_out_aa(0))

The TRS R consists of the following rules:

le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

le45_in_aa
gt62_in_aa
U5_aa(x0)
U6_aa(x0)

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

(108) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by narrowing to the left:

s = MERGE29_IN_AAA evaluates to t =MERGE29_IN_AAA

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

MERGE29_IN_AAAU1_AAA(le45_out_aa(0))
with rule MERGE29_IN_AAAU1_AAA(le45_out_aa(0)) at position [] and matcher [ ]

U1_AAA(le45_out_aa(0))MERGE29_IN_AAA
with rule U1_AAA(le45_out_aa(T63)) → MERGE29_IN_AAA

Now applying the matcher to the start term leads to a term which is equal to the last term in the rewriting sequence


All these steps are and every following step will be a correct step w.r.t to Q.



(109) NO

(110) Obligation:

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

SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
SPLIT74_IN_GAA(x1, x2, x3)  =  SPLIT74_IN_GAA(x1)

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

(111) UsableRulesProof (EQUIVALENT transformation)

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

(112) Obligation:

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

SPLIT74_IN_GAA(.(T147, T148), .(T147, X201), X202) → SPLIT74_IN_GAA(T148, X202, X201)

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

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

(113) PiDPToQDPProof (SOUND transformation)

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

(114) Obligation:

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

SPLIT74_IN_GAA(.(T147, T148)) → SPLIT74_IN_GAA(T148)

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

(115) 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:

  • SPLIT74_IN_GAA(.(T147, T148)) → SPLIT74_IN_GAA(T148)
    The graph contains the following edges 1 > 1

(116) YES

(117) Obligation:

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

GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
GT62_IN_GG(x1, x2)  =  GT62_IN_GG(x1, x2)

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

(118) UsableRulesProof (EQUIVALENT transformation)

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

(119) Obligation:

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

GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)

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

(120) PiDPToQDPProof (EQUIVALENT transformation)

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

(121) Obligation:

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

GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)

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

(122) 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:

  • GT62_IN_GG(s(T124), s(T125)) → GT62_IN_GG(T124, T125)
    The graph contains the following edges 1 > 1, 2 > 2

(123) YES

(124) Obligation:

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

LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
LE45_IN_GG(x1, x2)  =  LE45_IN_GG(x1, x2)

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

(125) UsableRulesProof (EQUIVALENT transformation)

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

(126) Obligation:

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

LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)

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

(127) PiDPToQDPProof (EQUIVALENT transformation)

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

(128) Obligation:

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

LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)

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

(129) 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:

  • LE45_IN_GG(s(T81), s(T82)) → LE45_IN_GG(T81, T82)
    The graph contains the following edges 1 > 1, 2 > 2

(130) YES

(131) Obligation:

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

U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x1, x2, x3, x4, x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x3, x4, x6)

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

(132) UsableRulesProof (EQUIVALENT transformation)

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

(133) Obligation:

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

U1_GGA(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66), T68)
MERGE29_IN_GGA(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_GGA(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_GGA(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109, T111)

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
MERGE29_IN_GGA(x1, x2, x3)  =  MERGE29_IN_GGA(x1, x2)
U1_GGA(x1, x2, x3, x4, x5, x6)  =  U1_GGA(x1, x2, x3, x4, x6)
U3_GGA(x1, x2, x3, x4, x5, x6)  =  U3_GGA(x1, x2, x3, x4, x6)

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

(134) PiDPToQDPProof (SOUND transformation)

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

(135) Obligation:

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

U1_GGA(T63, T64, T65, T66, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T63, T64, T65, T66, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T108, T109, gt62_in_gg(T106, T108))
U3_GGA(T106, T107, T108, T109, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109)

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(136) 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:

U3_GGA(T106, T107, T108, T109, gt62_out_gg(T106, T108)) → MERGE29_IN_GGA(.(T106, T107), T109)

Strictly oriented rules of the TRS R:

gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)

Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 2·x1 + x2   
POL(0) = 2   
POL(MERGE29_IN_GGA(x1, x2)) = 2·x1 + 2·x2   
POL(U1_GGA(x1, x2, x3, x4, x5)) = x1 + 2·x2 + 2·x3 + 2·x4 + 2·x5   
POL(U3_GGA(x1, x2, x3, x4, x5)) = 2·x1 + 2·x2 + 2·x3 + 2·x4 + x5   
POL(U5_gg(x1, x2, x3)) = x1 + x2 + x3   
POL(U6_gg(x1, x2, x3)) = 2·x1 + 2·x2 + x3   
POL(gt62_in_gg(x1, x2)) = 2·x1 + 2·x2   
POL(gt62_out_gg(x1, x2)) = 1 + 2·x1 + x2   
POL(le45_in_gg(x1, x2)) = x1 + x2   
POL(le45_out_gg(x1, x2)) = x1 + x2   
POL(s(x1)) = 2·x1   

(137) Obligation:

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

U1_GGA(T63, T64, T65, T66, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66))
MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T63, T64, T65, T66, le45_in_gg(T63, T65))
MERGE29_IN_GGA(.(T106, T107), .(T108, T109)) → U3_GGA(T106, T107, T108, T109, gt62_in_gg(T106, T108))

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(138) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(139) Obligation:

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

MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T63, T64, T65, T66, le45_in_gg(T63, T65))
U1_GGA(T63, T64, T65, T66, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66))

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(140) UsableRulesProof (EQUIVALENT transformation)

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

(141) Obligation:

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

MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T63, T64, T65, T66, le45_in_gg(T63, T65))
U1_GGA(T63, T64, T65, T66, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66))

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))

The set Q consists of the following terms:

le45_in_gg(x0, x1)
gt62_in_gg(x0, x1)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)

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

(142) QReductionProof (EQUIVALENT transformation)

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

gt62_in_gg(x0, x1)
U6_gg(x0, x1, x2)

(143) Obligation:

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

MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T63, T64, T65, T66, le45_in_gg(T63, T65))
U1_GGA(T63, T64, T65, T66, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66))

The TRS R consists of the following rules:

le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))

The set Q consists of the following terms:

le45_in_gg(x0, x1)
U5_gg(x0, x1, x2)

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

(144) 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:

  • U1_GGA(T63, T64, T65, T66, le45_out_gg(T63, T65)) → MERGE29_IN_GGA(T64, .(T65, T66))
    The graph contains the following edges 2 >= 1

  • MERGE29_IN_GGA(.(T63, T64), .(T65, T66)) → U1_GGA(T63, T64, T65, T66, le45_in_gg(T63, T65))
    The graph contains the following edges 1 > 1, 1 > 2, 2 > 3, 2 > 4

(145) YES

(146) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)

The TRS R consists of the following rules:

mergesort1_in_ga([], []) → mergesort1_out_ga([], [])
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x4, x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x1, x2, x3, x4, x6, x7)

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

(147) UsableRulesProof (EQUIVALENT transformation)

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

(148) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140))), T14) → U14_GA(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)), X23)
U14_GA(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
U16_GA(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → MERGESORT1_IN_GA(.(T11, T141), X24)

The TRS R consists of the following rules:

split74_in_gaa([], [], []) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148), .(T147, X201), X202) → U7_gaa(T147, T148, X201, X202, split74_in_gaa(T148, X202, X201))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U8_ga(T10, T11, T14, mergesort19_in_ga(T10, X23))
mergesort1_in_ga(.(T10, .(T11, [])), T14) → U9_ga(T10, T11, T14, mergesort19_in_ga(T10, T18))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U13_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, X180, X179))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140))), T14) → U14_ga(T10, T11, T139, T140, T14, split74_in_gaa(T140, T141, T142))
U7_gaa(T147, T148, X201, X202, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U8_ga(T10, T11, T14, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, T14, mergesort19_in_ga(T11, X24))
U9_ga(T10, T11, T14, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T14, T18, mergesort19_in_ga(T11, T29))
U13_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T10, .(T139, T142)), X23))
U14_ga(T10, T11, T139, T140, T14, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_in_ga(.(T10, .(T139, T142)), T154))
mergesort19_in_ga(T24, .(T24, [])) → mergesort19_out_ga(T24, .(T24, []))
U10_ga(T10, T11, T14, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U11_ga(T10, T11, T14, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, T14, merge29_in_gga(T18, T29, T14))
U15_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T10, .(T139, T142)), X23)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U17_ga(T10, T11, T139, T140, T14, mergesort1_in_ga(.(T11, T141), X24))
U16_ga(T10, T11, T139, T140, T14, T141, mergesort1_out_ga(.(T10, .(T139, T142)), T154)) → U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_in_ga(.(T11, T141), T162))
U12_ga(T10, T11, T14, merge29_out_gga(T18, T29, T14)) → mergesort1_out_ga(.(T10, .(T11, [])), T14)
U17_ga(T10, T11, T139, T140, T14, mergesort1_out_ga(.(T11, T141), X24)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U18_ga(T10, T11, T139, T140, T14, T154, mergesort1_out_ga(.(T11, T141), T162)) → U19_ga(T10, T11, T139, T140, T14, merge29_in_aaa(T154, T162, T14))
merge29_in_gga(T37, [], T37) → merge29_out_gga(T37, [], T37)
merge29_in_gga([], T42, T42) → merge29_out_gga([], T42, T42)
merge29_in_gga(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_gga(T63, T64, T65, T66, T68, le45_in_gg(T63, T65))
merge29_in_gga(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_gga(T106, T107, T108, T109, T111, gt62_in_gg(T106, T108))
mergesort1_in_ga(.(T4, []), .(T4, [])) → mergesort1_out_ga(.(T4, []), .(T4, []))
U19_ga(T10, T11, T139, T140, T14, merge29_out_aaa(T154, T162, T14)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))), T14)
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
U1_gga(T63, T64, T65, T66, T68, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, T68, merge29_in_gga(T64, .(T65, T66), T68))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U3_gga(T106, T107, T108, T109, T111, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, T111, merge29_in_gga(.(T106, T107), T109, T111))
merge29_in_aaa(T37, [], T37) → merge29_out_aaa(T37, [], T37)
merge29_in_aaa([], T42, T42) → merge29_out_aaa([], T42, T42)
merge29_in_aaa(.(T63, T64), .(T65, T66), .(T63, T68)) → U1_aaa(T63, T64, T65, T66, T68, le45_in_aa(T63, T65))
merge29_in_aaa(.(T106, T107), .(T108, T109), .(T108, T111)) → U3_aaa(T106, T107, T108, T109, T111, gt62_in_aa(T106, T108))
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U2_gga(T63, T64, T65, T66, T68, merge29_out_gga(T64, .(T65, T66), T68)) → merge29_out_gga(.(T63, T64), .(T65, T66), .(T63, T68))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U4_gga(T106, T107, T108, T109, T111, merge29_out_gga(.(T106, T107), T109, T111)) → merge29_out_gga(.(T106, T107), .(T108, T109), .(T108, T111))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
U1_aaa(T63, T64, T65, T66, T68, le45_out_aa(T63, T65)) → U2_aaa(T63, T64, T65, T66, T68, merge29_in_aaa(T64, .(T65, T66), T68))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U3_aaa(T106, T107, T108, T109, T111, gt62_out_aa(T106, T108)) → U4_aaa(T106, T107, T108, T109, T111, merge29_in_aaa(.(T106, T107), T109, T111))
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
le45_in_aa(s(T81), s(T82)) → U5_aa(T81, T82, le45_in_aa(T81, T82))
le45_in_aa(0, s(T89)) → le45_out_aa(0, s(T89))
le45_in_aa(0, 0) → le45_out_aa(0, 0)
U2_aaa(T63, T64, T65, T66, T68, merge29_out_aaa(T64, .(T65, T66), T68)) → merge29_out_aaa(.(T63, T64), .(T65, T66), .(T63, T68))
gt62_in_aa(s(T124), s(T125)) → U6_aa(T124, T125, gt62_in_aa(T124, T125))
gt62_in_aa(s(T130), 0) → gt62_out_aa(s(T130), 0)
U4_aaa(T106, T107, T108, T109, T111, merge29_out_aaa(.(T106, T107), T109, T111)) → merge29_out_aaa(.(T106, T107), .(T108, T109), .(T108, T111))
U5_aa(T81, T82, le45_out_aa(T81, T82)) → le45_out_aa(s(T81), s(T82))
U6_aa(T124, T125, gt62_out_aa(T124, T125)) → gt62_out_aa(s(T124), s(T125))

The argument filtering Pi contains the following mapping:
mergesort1_in_ga(x1, x2)  =  mergesort1_in_ga(x1)
[]  =  []
mergesort1_out_ga(x1, x2)  =  mergesort1_out_ga(x1)
.(x1, x2)  =  .(x1, x2)
U8_ga(x1, x2, x3, x4)  =  U8_ga(x1, x2, x4)
mergesort19_in_ga(x1, x2)  =  mergesort19_in_ga(x1)
mergesort19_out_ga(x1, x2)  =  mergesort19_out_ga(x1, x2)
U9_ga(x1, x2, x3, x4)  =  U9_ga(x1, x2, x4)
U10_ga(x1, x2, x3, x4)  =  U10_ga(x1, x2, x4)
U11_ga(x1, x2, x3, x4, x5)  =  U11_ga(x1, x2, x4, x5)
U12_ga(x1, x2, x3, x4)  =  U12_ga(x1, x2, x4)
merge29_in_gga(x1, x2, x3)  =  merge29_in_gga(x1, x2)
merge29_out_gga(x1, x2, x3)  =  merge29_out_gga(x1, x2)
U1_gga(x1, x2, x3, x4, x5, x6)  =  U1_gga(x1, x2, x3, x4, x6)
le45_in_gg(x1, x2)  =  le45_in_gg(x1, x2)
s(x1)  =  s(x1)
U5_gg(x1, x2, x3)  =  U5_gg(x1, x2, x3)
0  =  0
le45_out_gg(x1, x2)  =  le45_out_gg(x1, x2)
U2_gga(x1, x2, x3, x4, x5, x6)  =  U2_gga(x1, x2, x3, x4, x6)
U3_gga(x1, x2, x3, x4, x5, x6)  =  U3_gga(x1, x2, x3, x4, x6)
gt62_in_gg(x1, x2)  =  gt62_in_gg(x1, x2)
U6_gg(x1, x2, x3)  =  U6_gg(x1, x2, x3)
gt62_out_gg(x1, x2)  =  gt62_out_gg(x1, x2)
U4_gga(x1, x2, x3, x4, x5, x6)  =  U4_gga(x1, x2, x3, x4, x6)
U13_ga(x1, x2, x3, x4, x5, x6)  =  U13_ga(x1, x2, x3, x4, x6)
split74_in_gaa(x1, x2, x3)  =  split74_in_gaa(x1)
split74_out_gaa(x1, x2, x3)  =  split74_out_gaa(x1, x2, x3)
U7_gaa(x1, x2, x3, x4, x5)  =  U7_gaa(x1, x2, x5)
U14_ga(x1, x2, x3, x4, x5, x6)  =  U14_ga(x1, x2, x3, x4, x6)
U15_ga(x1, x2, x3, x4, x5, x6)  =  U15_ga(x1, x2, x3, x4, x6)
U16_ga(x1, x2, x3, x4, x5, x6, x7)  =  U16_ga(x1, x2, x3, x4, x6, x7)
U17_ga(x1, x2, x3, x4, x5, x6)  =  U17_ga(x1, x2, x3, x4, x6)
U18_ga(x1, x2, x3, x4, x5, x6, x7)  =  U18_ga(x1, x2, x3, x4, x7)
U19_ga(x1, x2, x3, x4, x5, x6)  =  U19_ga(x1, x2, x3, x4, x6)
merge29_in_aaa(x1, x2, x3)  =  merge29_in_aaa
merge29_out_aaa(x1, x2, x3)  =  merge29_out_aaa
U1_aaa(x1, x2, x3, x4, x5, x6)  =  U1_aaa(x6)
le45_in_aa(x1, x2)  =  le45_in_aa
U5_aa(x1, x2, x3)  =  U5_aa(x3)
le45_out_aa(x1, x2)  =  le45_out_aa(x1)
U2_aaa(x1, x2, x3, x4, x5, x6)  =  U2_aaa(x6)
U3_aaa(x1, x2, x3, x4, x5, x6)  =  U3_aaa(x6)
gt62_in_aa(x1, x2)  =  gt62_in_aa
U6_aa(x1, x2, x3)  =  U6_aa(x3)
gt62_out_aa(x1, x2)  =  gt62_out_aa(x2)
U4_aaa(x1, x2, x3, x4, x5, x6)  =  U4_aaa(x6)
MERGESORT1_IN_GA(x1, x2)  =  MERGESORT1_IN_GA(x1)
U14_GA(x1, x2, x3, x4, x5, x6)  =  U14_GA(x1, x2, x3, x4, x6)
U16_GA(x1, x2, x3, x4, x5, x6, x7)  =  U16_GA(x1, x2, x3, x4, x6, x7)

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

(149) PiDPToQDPProof (SOUND transformation)

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

(150) Obligation:

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

MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140)))) → U14_GA(T10, T11, T139, T140, split74_in_gaa(T140))
U14_GA(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)))
U14_GA(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
U16_GA(T10, T11, T139, T140, T141, mergesort1_out_ga(.(T10, .(T139, T142)))) → MERGESORT1_IN_GA(.(T11, T141))

The TRS R consists of the following rules:

split74_in_gaa([]) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148)) → U7_gaa(T147, T148, split74_in_gaa(T148))
mergesort1_in_ga(.(T10, .(T11, []))) → U8_ga(T10, T11, mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, []))) → U9_ga(T10, T11, mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U13_ga(T10, T11, T139, T140, split74_in_gaa(T140))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U14_ga(T10, T11, T139, T140, split74_in_gaa(T140))
U7_gaa(T147, T148, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U8_ga(T10, T11, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])))
U9_ga(T10, T11, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, mergesort19_in_ga(T11))
U9_ga(T10, T11, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T18, mergesort19_in_ga(T11))
U13_ga(T10, T11, T139, T140, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U14_ga(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, mergesort1_in_ga(.(T10, .(T139, T142))))
U14_ga(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
mergesort19_in_ga(T24) → mergesort19_out_ga(T24, .(T24, []))
U10_ga(T10, T11, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])))
U11_ga(T10, T11, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, merge29_in_gga(T18, T29))
U15_ga(T10, T11, T139, T140, mergesort1_out_ga(.(T10, .(T139, T142)))) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U16_ga(T10, T11, T139, T140, T141, mergesort1_out_ga(.(T10, .(T139, T142)))) → U17_ga(T10, T11, T139, T140, mergesort1_in_ga(.(T11, T141)))
U16_ga(T10, T11, T139, T140, T141, mergesort1_out_ga(.(T10, .(T139, T142)))) → U18_ga(T10, T11, T139, T140, mergesort1_in_ga(.(T11, T141)))
U12_ga(T10, T11, merge29_out_gga(T18, T29)) → mergesort1_out_ga(.(T10, .(T11, [])))
U17_ga(T10, T11, T139, T140, mergesort1_out_ga(.(T11, T141))) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U18_ga(T10, T11, T139, T140, mergesort1_out_ga(.(T11, T141))) → U19_ga(T10, T11, T139, T140, merge29_in_aaa)
merge29_in_gga(T37, []) → merge29_out_gga(T37, [])
merge29_in_gga([], T42) → merge29_out_gga([], T42)
merge29_in_gga(.(T63, T64), .(T65, T66)) → U1_gga(T63, T64, T65, T66, le45_in_gg(T63, T65))
merge29_in_gga(.(T106, T107), .(T108, T109)) → U3_gga(T106, T107, T108, T109, gt62_in_gg(T106, T108))
mergesort1_in_ga(.(T4, [])) → mergesort1_out_ga(.(T4, []))
U19_ga(T10, T11, T139, T140, merge29_out_aaa) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U1_gga(T63, T64, T65, T66, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66))
U1_gga(T63, T64, T65, T66, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, merge29_in_gga(T64, .(T65, T66)))
U3_gga(T106, T107, T108, T109, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109))
U3_gga(T106, T107, T108, T109, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, merge29_in_gga(.(T106, T107), T109))
merge29_in_aaamerge29_out_aaa
merge29_in_aaaU1_aaa(le45_in_aa)
merge29_in_aaaU3_aaa(gt62_in_aa)
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U2_gga(T63, T64, T65, T66, merge29_out_gga(T64, .(T65, T66))) → merge29_out_gga(.(T63, T64), .(T65, T66))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U4_gga(T106, T107, T108, T109, merge29_out_gga(.(T106, T107), T109)) → merge29_out_gga(.(T106, T107), .(T108, T109))
U1_aaa(le45_out_aa(T63)) → merge29_out_aaa
U1_aaa(le45_out_aa(T63)) → U2_aaa(merge29_in_aaa)
U3_aaa(gt62_out_aa(T108)) → merge29_out_aaa
U3_aaa(gt62_out_aa(T108)) → U4_aaa(merge29_in_aaa)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U4_aaa(merge29_out_aaa) → merge29_out_aaa
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

split74_in_gaa(x0)
mergesort1_in_ga(x0)
U7_gaa(x0, x1, x2)
U8_ga(x0, x1, x2)
U9_ga(x0, x1, x2)
U13_ga(x0, x1, x2, x3, x4)
U14_ga(x0, x1, x2, x3, x4)
mergesort19_in_ga(x0)
U10_ga(x0, x1, x2)
U11_ga(x0, x1, x2, x3)
U15_ga(x0, x1, x2, x3, x4)
U16_ga(x0, x1, x2, x3, x4, x5)
U12_ga(x0, x1, x2)
U17_ga(x0, x1, x2, x3, x4)
U18_ga(x0, x1, x2, x3, x4)
merge29_in_gga(x0, x1)
U19_ga(x0, x1, x2, x3, x4)
U1_gga(x0, x1, x2, x3, x4)
U3_gga(x0, x1, x2, x3, x4)
merge29_in_aaa
le45_in_gg(x0, x1)
U2_gga(x0, x1, x2, x3, x4)
gt62_in_gg(x0, x1)
U4_gga(x0, x1, x2, x3, x4)
U1_aaa(x0)
U3_aaa(x0)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)
le45_in_aa
U2_aaa(x0)
gt62_in_aa
U4_aaa(x0)
U5_aa(x0)
U6_aa(x0)

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

(151) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


MERGESORT1_IN_GA(.(T10, .(T11, .(T139, T140)))) → U14_GA(T10, T11, T139, T140, split74_in_gaa(T140))
U14_GA(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → U16_GA(T10, T11, T139, T140, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x2   
POL(0) = 0   
POL(MERGESORT1_IN_GA(x1)) = x1   
POL(U10_ga(x1, x2, x3)) = 0   
POL(U11_ga(x1, x2, x3, x4)) = 0   
POL(U12_ga(x1, x2, x3)) = 0   
POL(U13_ga(x1, x2, x3, x4, x5)) = 0   
POL(U14_GA(x1, x2, x3, x4, x5)) = 1 + x5   
POL(U14_ga(x1, x2, x3, x4, x5)) = 0   
POL(U15_ga(x1, x2, x3, x4, x5)) = 0   
POL(U16_GA(x1, x2, x3, x4, x5, x6)) = 1 + x5   
POL(U16_ga(x1, x2, x3, x4, x5, x6)) = 0   
POL(U17_ga(x1, x2, x3, x4, x5)) = 0   
POL(U18_ga(x1, x2, x3, x4, x5)) = 0   
POL(U19_ga(x1, x2, x3, x4, x5)) = 0   
POL(U1_aaa(x1)) = 0   
POL(U1_gga(x1, x2, x3, x4, x5)) = 0   
POL(U2_aaa(x1)) = 0   
POL(U2_gga(x1, x2, x3, x4, x5)) = 0   
POL(U3_aaa(x1)) = 0   
POL(U3_gga(x1, x2, x3, x4, x5)) = 0   
POL(U4_aaa(x1)) = 0   
POL(U4_gga(x1, x2, x3, x4, x5)) = 0   
POL(U5_aa(x1)) = 1   
POL(U5_gg(x1, x2, x3)) = 0   
POL(U6_aa(x1)) = 0   
POL(U6_gg(x1, x2, x3)) = 0   
POL(U7_gaa(x1, x2, x3)) = 1 + x3   
POL(U8_ga(x1, x2, x3)) = 0   
POL(U9_ga(x1, x2, x3)) = 0   
POL([]) = 0   
POL(gt62_in_aa) = 0   
POL(gt62_in_gg(x1, x2)) = 0   
POL(gt62_out_aa(x1)) = 0   
POL(gt62_out_gg(x1, x2)) = 0   
POL(le45_in_aa) = 1   
POL(le45_in_gg(x1, x2)) = 0   
POL(le45_out_aa(x1)) = 0   
POL(le45_out_gg(x1, x2)) = 0   
POL(merge29_in_aaa) = 0   
POL(merge29_in_gga(x1, x2)) = 0   
POL(merge29_out_aaa) = 0   
POL(merge29_out_gga(x1, x2)) = 0   
POL(mergesort19_in_ga(x1)) = 0   
POL(mergesort19_out_ga(x1, x2)) = 0   
POL(mergesort1_in_ga(x1)) = 0   
POL(mergesort1_out_ga(x1)) = 0   
POL(s(x1)) = 0   
POL(split74_in_gaa(x1)) = 1 + x1   
POL(split74_out_gaa(x1, x2, x3)) = 1 + x2 + x3   

The following usable rules [FROCOS05] were oriented:

split74_in_gaa([]) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148)) → U7_gaa(T147, T148, split74_in_gaa(T148))
U7_gaa(T147, T148, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)

(152) Obligation:

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

U14_GA(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → MERGESORT1_IN_GA(.(T10, .(T139, T142)))
U16_GA(T10, T11, T139, T140, T141, mergesort1_out_ga(.(T10, .(T139, T142)))) → MERGESORT1_IN_GA(.(T11, T141))

The TRS R consists of the following rules:

split74_in_gaa([]) → split74_out_gaa([], [], [])
split74_in_gaa(.(T147, T148)) → U7_gaa(T147, T148, split74_in_gaa(T148))
mergesort1_in_ga(.(T10, .(T11, []))) → U8_ga(T10, T11, mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, []))) → U9_ga(T10, T11, mergesort19_in_ga(T10))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U13_ga(T10, T11, T139, T140, split74_in_gaa(T140))
mergesort1_in_ga(.(T10, .(T11, .(T139, T140)))) → U14_ga(T10, T11, T139, T140, split74_in_gaa(T140))
U7_gaa(T147, T148, split74_out_gaa(T148, X202, X201)) → split74_out_gaa(.(T147, T148), .(T147, X201), X202)
U8_ga(T10, T11, mergesort19_out_ga(T10, X23)) → mergesort1_out_ga(.(T10, .(T11, [])))
U9_ga(T10, T11, mergesort19_out_ga(T10, T18)) → U10_ga(T10, T11, mergesort19_in_ga(T11))
U9_ga(T10, T11, mergesort19_out_ga(T10, T18)) → U11_ga(T10, T11, T18, mergesort19_in_ga(T11))
U13_ga(T10, T11, T139, T140, split74_out_gaa(T140, X180, X179)) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U14_ga(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → U15_ga(T10, T11, T139, T140, mergesort1_in_ga(.(T10, .(T139, T142))))
U14_ga(T10, T11, T139, T140, split74_out_gaa(T140, T141, T142)) → U16_ga(T10, T11, T139, T140, T141, mergesort1_in_ga(.(T10, .(T139, T142))))
mergesort19_in_ga(T24) → mergesort19_out_ga(T24, .(T24, []))
U10_ga(T10, T11, mergesort19_out_ga(T11, X24)) → mergesort1_out_ga(.(T10, .(T11, [])))
U11_ga(T10, T11, T18, mergesort19_out_ga(T11, T29)) → U12_ga(T10, T11, merge29_in_gga(T18, T29))
U15_ga(T10, T11, T139, T140, mergesort1_out_ga(.(T10, .(T139, T142)))) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U16_ga(T10, T11, T139, T140, T141, mergesort1_out_ga(.(T10, .(T139, T142)))) → U17_ga(T10, T11, T139, T140, mergesort1_in_ga(.(T11, T141)))
U16_ga(T10, T11, T139, T140, T141, mergesort1_out_ga(.(T10, .(T139, T142)))) → U18_ga(T10, T11, T139, T140, mergesort1_in_ga(.(T11, T141)))
U12_ga(T10, T11, merge29_out_gga(T18, T29)) → mergesort1_out_ga(.(T10, .(T11, [])))
U17_ga(T10, T11, T139, T140, mergesort1_out_ga(.(T11, T141))) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U18_ga(T10, T11, T139, T140, mergesort1_out_ga(.(T11, T141))) → U19_ga(T10, T11, T139, T140, merge29_in_aaa)
merge29_in_gga(T37, []) → merge29_out_gga(T37, [])
merge29_in_gga([], T42) → merge29_out_gga([], T42)
merge29_in_gga(.(T63, T64), .(T65, T66)) → U1_gga(T63, T64, T65, T66, le45_in_gg(T63, T65))
merge29_in_gga(.(T106, T107), .(T108, T109)) → U3_gga(T106, T107, T108, T109, gt62_in_gg(T106, T108))
mergesort1_in_ga(.(T4, [])) → mergesort1_out_ga(.(T4, []))
U19_ga(T10, T11, T139, T140, merge29_out_aaa) → mergesort1_out_ga(.(T10, .(T11, .(T139, T140))))
U1_gga(T63, T64, T65, T66, le45_out_gg(T63, T65)) → merge29_out_gga(.(T63, T64), .(T65, T66))
U1_gga(T63, T64, T65, T66, le45_out_gg(T63, T65)) → U2_gga(T63, T64, T65, T66, merge29_in_gga(T64, .(T65, T66)))
U3_gga(T106, T107, T108, T109, gt62_out_gg(T106, T108)) → merge29_out_gga(.(T106, T107), .(T108, T109))
U3_gga(T106, T107, T108, T109, gt62_out_gg(T106, T108)) → U4_gga(T106, T107, T108, T109, merge29_in_gga(.(T106, T107), T109))
merge29_in_aaamerge29_out_aaa
merge29_in_aaaU1_aaa(le45_in_aa)
merge29_in_aaaU3_aaa(gt62_in_aa)
le45_in_gg(s(T81), s(T82)) → U5_gg(T81, T82, le45_in_gg(T81, T82))
le45_in_gg(0, s(T89)) → le45_out_gg(0, s(T89))
le45_in_gg(0, 0) → le45_out_gg(0, 0)
U2_gga(T63, T64, T65, T66, merge29_out_gga(T64, .(T65, T66))) → merge29_out_gga(.(T63, T64), .(T65, T66))
gt62_in_gg(s(T124), s(T125)) → U6_gg(T124, T125, gt62_in_gg(T124, T125))
gt62_in_gg(s(T130), 0) → gt62_out_gg(s(T130), 0)
U4_gga(T106, T107, T108, T109, merge29_out_gga(.(T106, T107), T109)) → merge29_out_gga(.(T106, T107), .(T108, T109))
U1_aaa(le45_out_aa(T63)) → merge29_out_aaa
U1_aaa(le45_out_aa(T63)) → U2_aaa(merge29_in_aaa)
U3_aaa(gt62_out_aa(T108)) → merge29_out_aaa
U3_aaa(gt62_out_aa(T108)) → U4_aaa(merge29_in_aaa)
U5_gg(T81, T82, le45_out_gg(T81, T82)) → le45_out_gg(s(T81), s(T82))
U6_gg(T124, T125, gt62_out_gg(T124, T125)) → gt62_out_gg(s(T124), s(T125))
le45_in_aaU5_aa(le45_in_aa)
le45_in_aale45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aaU6_aa(gt62_in_aa)
gt62_in_aagt62_out_aa(0)
U4_aaa(merge29_out_aaa) → merge29_out_aaa
U5_aa(le45_out_aa(T81)) → le45_out_aa(s(T81))
U6_aa(gt62_out_aa(T125)) → gt62_out_aa(s(T125))

The set Q consists of the following terms:

split74_in_gaa(x0)
mergesort1_in_ga(x0)
U7_gaa(x0, x1, x2)
U8_ga(x0, x1, x2)
U9_ga(x0, x1, x2)
U13_ga(x0, x1, x2, x3, x4)
U14_ga(x0, x1, x2, x3, x4)
mergesort19_in_ga(x0)
U10_ga(x0, x1, x2)
U11_ga(x0, x1, x2, x3)
U15_ga(x0, x1, x2, x3, x4)
U16_ga(x0, x1, x2, x3, x4, x5)
U12_ga(x0, x1, x2)
U17_ga(x0, x1, x2, x3, x4)
U18_ga(x0, x1, x2, x3, x4)
merge29_in_gga(x0, x1)
U19_ga(x0, x1, x2, x3, x4)
U1_gga(x0, x1, x2, x3, x4)
U3_gga(x0, x1, x2, x3, x4)
merge29_in_aaa
le45_in_gg(x0, x1)
U2_gga(x0, x1, x2, x3, x4)
gt62_in_gg(x0, x1)
U4_gga(x0, x1, x2, x3, x4)
U1_aaa(x0)
U3_aaa(x0)
U5_gg(x0, x1, x2)
U6_gg(x0, x1, x2)
le45_in_aa
U2_aaa(x0)
gt62_in_aa
U4_aaa(x0)
U5_aa(x0)
U6_aa(x0)

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

(153) DependencyGraphProof (EQUIVALENT transformation)

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

(154) TRUE