(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_AA → GT62_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_AAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [ ]
- Semiunifier: [ ]
Rewriting sequenceThe 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_AA → LE45_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_AAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [ ]
- Semiunifier: [ ]
Rewriting sequenceThe 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_AAA → U1_AAA(le45_in_aa)
MERGE29_IN_AAA → U3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
The TRS R consists of the following rules:
le45_in_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AAA →
U1_AAA(
le45_in_aa) at position [0] we obtained the following new rules [LPAR04]:
MERGE29_IN_AAA → U1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAA → U1_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_AAA → U3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
MERGE29_IN_AAA → U1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAA → U1_AAA(le45_out_aa(0))
The TRS R consists of the following rules:
le45_in_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AAA →
U3_AAA(
gt62_in_aa) at position [0] we obtained the following new rules [LPAR04]:
MERGE29_IN_AAA → U3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAA → U3_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_AAA → U1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAA → U1_AAA(le45_out_aa(0))
MERGE29_IN_AAA → U3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAA → U3_AAA(gt62_out_aa(0))
The TRS R consists of the following rules:
le45_in_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AAAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Semiunifier: [ ]
- Matcher: [ ]
Rewriting sequenceMERGE29_IN_AAA →
U1_AAA(
le45_out_aa(
0))
with rule
MERGE29_IN_AAA →
U1_AAA(
le45_out_aa(
0)) at position [] and matcher [ ]
U1_AAA(le45_out_aa(0)) →
MERGE29_IN_AAAwith rule
U1_AAA(
le45_out_aa(
T63)) →
MERGE29_IN_AAANow 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 | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 |
POL(MERGE29_IN_GGA(x1, x2)) = | 0 | + | | · | x1 | + | | · | x2 |
POL(.(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(le45_in_gg(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(U3_GGA(x1, x2, x3, x4)) = | 1 | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 |
POL(gt62_in_gg(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
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_aaa → merge29_out_aaa
merge29_in_aaa → U1_aaa(le45_in_aa)
merge29_in_aaa → U3_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_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_aaa → merge29_out_aaa
merge29_in_aaa → U1_aaa(le45_in_aa)
merge29_in_aaa → U3_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_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AA → GT62_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_AAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [ ]
- Semiunifier: [ ]
Rewriting sequenceThe 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_AA → LE45_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_AAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Matcher: [ ]
- Semiunifier: [ ]
Rewriting sequenceThe 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_AAA → U1_AAA(le45_in_aa)
MERGE29_IN_AAA → U3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
The TRS R consists of the following rules:
le45_in_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AAA →
U1_AAA(
le45_in_aa) at position [0] we obtained the following new rules [LPAR04]:
MERGE29_IN_AAA → U1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAA → U1_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_AAA → U3_AAA(gt62_in_aa)
U3_AAA(gt62_out_aa(T108)) → MERGE29_IN_AAA
MERGE29_IN_AAA → U1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAA → U1_AAA(le45_out_aa(0))
The TRS R consists of the following rules:
le45_in_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AAA →
U3_AAA(
gt62_in_aa) at position [0] we obtained the following new rules [LPAR04]:
MERGE29_IN_AAA → U3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAA → U3_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_AAA → U1_AAA(U5_aa(le45_in_aa))
MERGE29_IN_AAA → U1_AAA(le45_out_aa(0))
MERGE29_IN_AAA → U3_AAA(U6_aa(gt62_in_aa))
MERGE29_IN_AAA → U3_AAA(gt62_out_aa(0))
The TRS R consists of the following rules:
le45_in_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_AAAThus s starts an infinite chain as s semiunifies with t with the following substitutions:
- Semiunifier: [ ]
- Matcher: [ ]
Rewriting sequenceMERGE29_IN_AAA →
U1_AAA(
le45_out_aa(
0))
with rule
MERGE29_IN_AAA →
U1_AAA(
le45_out_aa(
0)) at position [] and matcher [ ]
U1_AAA(le45_out_aa(0)) →
MERGE29_IN_AAAwith rule
U1_AAA(
le45_out_aa(
T63)) →
MERGE29_IN_AAANow 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_aaa → merge29_out_aaa
merge29_in_aaa → U1_aaa(le45_in_aa)
merge29_in_aaa → U3_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_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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_aaa → merge29_out_aaa
merge29_in_aaa → U1_aaa(le45_in_aa)
merge29_in_aaa → U3_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_aa → U5_aa(le45_in_aa)
le45_in_aa → le45_out_aa(0)
U2_aaa(merge29_out_aaa) → merge29_out_aaa
gt62_in_aa → U6_aa(gt62_in_aa)
gt62_in_aa → gt62_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