0 Prolog
↳1 PrologToDTProblemTransformerProof (⇐)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇐)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔)
↳9 PiDP
↳10 PiDPToQDPProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 YES
↳14 PiDP
↳15 UsableRulesProof (⇔)
↳16 PiDP
↳17 PiDPToQDPProof (⇔)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 YES
↳21 PiDP
↳22 UsableRulesProof (⇔)
↳23 PiDP
↳24 PiDPToQDPProof (⇐)
↳25 QDP
↳26 MRRProof (⇔)
↳27 QDP
↳28 DependencyGraphProof (⇔)
↳29 QDP
↳30 UsableRulesProof (⇔)
↳31 QDP
↳32 QReductionProof (⇔)
↳33 QDP
↳34 QDPSizeChangeProof (⇔)
↳35 YES
↳36 PiDP
↳37 UsableRulesProof (⇔)
↳38 PiDP
↳39 PiDPToQDPProof (⇐)
↳40 QDP
↳41 QDPSizeChangeProof (⇔)
↳42 YES
↳43 PiDP
↳44 UsableRulesProof (⇔)
↳45 PiDP
↳46 PiDPToQDPProof (⇐)
↳47 QDP
↳48 QDPOrderProof (⇔)
↳49 QDP
↳50 DependencyGraphProof (⇔)
↳51 TRUE
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → U10_GA(T22, T23, T24, T14, split16_in_gaa(T24, X53, X54))
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → SPLIT16_IN_GAA(T24, X53, X54)
SPLIT16_IN_GAA(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U1_GAA(T57, T58, T59, X167, X168, split16_in_gaa(T59, X167, X168))
SPLIT16_IN_GAA(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → SPLIT16_IN_GAA(T59, X167, X168)
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → U11_GA(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U12_GA(T22, T23, T24, T14, mergesort1_in_ga(.(T22, T26), X23))
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → MERGESORT1_IN_GA(.(T22, T26), X23)
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U13_GA(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U14_GA(T22, T23, T24, T14, mergesort1_in_ga(.(T23, T27), X24))
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → MERGESORT1_IN_GA(.(T23, T27), X24)
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U15_GA(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U15_GA(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U16_GA(T22, T23, T24, T14, merge40_in_gga(T63, T68, T14))
U15_GA(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → MERGE40_IN_GGA(T63, T68, T14)
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → U2_GGA(T103, T104, T105, T106, T108, le56_in_gg(T103, T105))
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → LE56_IN_GG(T103, T105)
LE56_IN_GG(s(T121), s(T122)) → U8_GG(T121, T122, le56_in_gg(T121, T122))
LE56_IN_GG(s(T121), s(T122)) → LE56_IN_GG(T121, T122)
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → U3_GGA(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
U3_GGA(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U4_GGA(T103, T104, T105, T106, T108, merge40_in_gga(T104, .(T105, T106), T108))
U3_GGA(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → MERGE40_IN_GGA(T104, .(T105, T106), T108)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → U5_GGA(T144, T145, T146, T147, T149, gt73_in_gg(T144, T146))
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → GT73_IN_GG(T144, T146)
GT73_IN_GG(s(T162), s(T163)) → U9_GG(T162, T163, gt73_in_gg(T162, T163))
GT73_IN_GG(s(T162), s(T163)) → GT73_IN_GG(T162, T163)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → U6_GGA(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
U6_GGA(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U7_GGA(T144, T145, T146, T147, T149, merge40_in_gga(.(T144, T145), T147, T149))
U6_GGA(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147, T149)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → U10_GA(T22, T23, T24, T14, split16_in_gaa(T24, X53, X54))
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → SPLIT16_IN_GAA(T24, X53, X54)
SPLIT16_IN_GAA(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U1_GAA(T57, T58, T59, X167, X168, split16_in_gaa(T59, X167, X168))
SPLIT16_IN_GAA(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → SPLIT16_IN_GAA(T59, X167, X168)
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → U11_GA(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U12_GA(T22, T23, T24, T14, mergesort1_in_ga(.(T22, T26), X23))
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → MERGESORT1_IN_GA(.(T22, T26), X23)
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U13_GA(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U14_GA(T22, T23, T24, T14, mergesort1_in_ga(.(T23, T27), X24))
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → MERGESORT1_IN_GA(.(T23, T27), X24)
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U15_GA(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U15_GA(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U16_GA(T22, T23, T24, T14, merge40_in_gga(T63, T68, T14))
U15_GA(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → MERGE40_IN_GGA(T63, T68, T14)
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → U2_GGA(T103, T104, T105, T106, T108, le56_in_gg(T103, T105))
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → LE56_IN_GG(T103, T105)
LE56_IN_GG(s(T121), s(T122)) → U8_GG(T121, T122, le56_in_gg(T121, T122))
LE56_IN_GG(s(T121), s(T122)) → LE56_IN_GG(T121, T122)
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → U3_GGA(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
U3_GGA(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U4_GGA(T103, T104, T105, T106, T108, merge40_in_gga(T104, .(T105, T106), T108))
U3_GGA(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → MERGE40_IN_GGA(T104, .(T105, T106), T108)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → U5_GGA(T144, T145, T146, T147, T149, gt73_in_gg(T144, T146))
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → GT73_IN_GG(T144, T146)
GT73_IN_GG(s(T162), s(T163)) → U9_GG(T162, T163, gt73_in_gg(T162, T163))
GT73_IN_GG(s(T162), s(T163)) → GT73_IN_GG(T162, T163)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → U6_GGA(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
U6_GGA(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U7_GGA(T144, T145, T146, T147, T149, merge40_in_gga(.(T144, T145), T147, T149))
U6_GGA(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147, T149)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
GT73_IN_GG(s(T162), s(T163)) → GT73_IN_GG(T162, T163)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
GT73_IN_GG(s(T162), s(T163)) → GT73_IN_GG(T162, T163)
GT73_IN_GG(s(T162), s(T163)) → GT73_IN_GG(T162, T163)
From the DPs we obtained the following set of size-change graphs:
LE56_IN_GG(s(T121), s(T122)) → LE56_IN_GG(T121, T122)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
LE56_IN_GG(s(T121), s(T122)) → LE56_IN_GG(T121, T122)
LE56_IN_GG(s(T121), s(T122)) → LE56_IN_GG(T121, T122)
From the DPs we obtained the following set of size-change graphs:
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → U3_GGA(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
U3_GGA(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → MERGE40_IN_GGA(T104, .(T105, T106), T108)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → U6_GGA(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
U6_GGA(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147, T149)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
MERGE40_IN_GGA(.(T103, T104), .(T105, T106), .(T103, T108)) → U3_GGA(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
U3_GGA(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → MERGE40_IN_GGA(T104, .(T105, T106), T108)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147), .(T146, T149)) → U6_GGA(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
U6_GGA(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147, T149)
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
MERGE40_IN_GGA(.(T103, T104), .(T105, T106)) → U3_GGA(T103, T104, T105, T106, lec56_in_gg(T103, T105))
U3_GGA(T103, T104, T105, T106, lec56_out_gg(T103, T105)) → MERGE40_IN_GGA(T104, .(T105, T106))
MERGE40_IN_GGA(.(T144, T145), .(T146, T147)) → U6_GGA(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
U6_GGA(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147)
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
lec56_in_gg(x0, x1)
gtc73_in_gg(x0, x1)
U27_gg(x0, x1, x2)
U28_gg(x0, x1, x2)
MERGE40_IN_GGA(.(T103, T104), .(T105, T106)) → U3_GGA(T103, T104, T105, T106, lec56_in_gg(T103, T105))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
POL(.(x1, x2)) = 1 + 2·x1 + x2
POL(0) = 0
POL(MERGE40_IN_GGA(x1, x2)) = 2·x1 + 2·x2
POL(U27_gg(x1, x2, x3)) = 2·x1 + 2·x2 + x3
POL(U28_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U3_GGA(x1, x2, x3, x4, x5)) = 2 + x1 + 2·x2 + 2·x3 + 2·x4 + x5
POL(U6_GGA(x1, x2, x3, x4, x5)) = 2 + 2·x1 + 2·x2 + 2·x3 + 2·x4 + 2·x5
POL(gtc73_in_gg(x1, x2)) = 1 + x1 + x2
POL(gtc73_out_gg(x1, x2)) = x1 + x2
POL(lec56_in_gg(x1, x2)) = 2·x1 + 2·x2
POL(lec56_out_gg(x1, x2)) = 2·x1 + 2·x2
POL(s(x1)) = 2·x1
U3_GGA(T103, T104, T105, T106, lec56_out_gg(T103, T105)) → MERGE40_IN_GGA(T104, .(T105, T106))
MERGE40_IN_GGA(.(T144, T145), .(T146, T147)) → U6_GGA(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
U6_GGA(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147)
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
lec56_in_gg(x0, x1)
gtc73_in_gg(x0, x1)
U27_gg(x0, x1, x2)
U28_gg(x0, x1, x2)
U6_GGA(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147)) → U6_GGA(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
lec56_in_gg(x0, x1)
gtc73_in_gg(x0, x1)
U27_gg(x0, x1, x2)
U28_gg(x0, x1, x2)
U6_GGA(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147)) → U6_GGA(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
lec56_in_gg(x0, x1)
gtc73_in_gg(x0, x1)
U27_gg(x0, x1, x2)
U28_gg(x0, x1, x2)
lec56_in_gg(x0, x1)
U27_gg(x0, x1, x2)
U6_GGA(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → MERGE40_IN_GGA(.(T144, T145), T147)
MERGE40_IN_GGA(.(T144, T145), .(T146, T147)) → U6_GGA(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
gtc73_in_gg(x0, x1)
U28_gg(x0, x1, x2)
From the DPs we obtained the following set of size-change graphs:
SPLIT16_IN_GAA(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → SPLIT16_IN_GAA(T59, X167, X168)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
SPLIT16_IN_GAA(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → SPLIT16_IN_GAA(T59, X167, X168)
SPLIT16_IN_GAA(.(T57, .(T58, T59))) → SPLIT16_IN_GAA(T59)
From the DPs we obtained the following set of size-change graphs:
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → U11_GA(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → MERGESORT1_IN_GA(.(T22, T26), X23)
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U13_GA(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → MERGESORT1_IN_GA(.(T23, T27), X24)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
mergesortc1_in_ga([], []) → mergesortc1_out_ga([], [])
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
MERGESORT1_IN_GA(.(T22, .(T23, T24)), T14) → U11_GA(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → MERGESORT1_IN_GA(.(T22, T26), X23)
U11_GA(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U13_GA(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U13_GA(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → MERGESORT1_IN_GA(.(T23, T27), X24)
splitc16_in_gaa([], [], []) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, []), .(T41, []), []) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168)) → U18_gaa(T57, T58, T59, X167, X168, splitc16_in_gaa(T59, X167, X168))
mergesortc1_in_ga(.(T4, []), .(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24)), T14) → U19_ga(T22, T23, T24, T14, splitc16_in_gaa(T24, T26, T27))
U18_gaa(T57, T58, T59, X167, X168, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
U19_ga(T22, T23, T24, T14, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T14, T27, mergesortc1_in_ga(.(T22, T26), T63))
U20_ga(T22, T23, T24, T14, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T14, T63, mergesortc1_in_ga(.(T23, T27), T68))
U21_ga(T22, T23, T24, T14, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, T14, mergec40_in_gga(T63, T68, T14))
U22_ga(T22, T23, T24, T14, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
mergec40_in_gga([], T77, T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, [], T82) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106), .(T103, T108)) → U23_gga(T103, T104, T105, T106, T108, lec56_in_gg(T103, T105))
mergec40_in_gga(.(T144, T145), .(T146, T147), .(T146, T149)) → U25_gga(T144, T145, T146, T147, T149, gtc73_in_gg(T144, T146))
U23_gga(T103, T104, T105, T106, T108, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, T108, mergec40_in_gga(T104, .(T105, T106), T108))
U25_gga(T144, T145, T146, T147, T149, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, T149, mergec40_in_gga(.(T144, T145), T147, T149))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U24_gga(T103, T104, T105, T106, T108, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U26_gga(T144, T145, T146, T147, T149, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
MERGESORT1_IN_GA(.(T22, .(T23, T24))) → U11_GA(T22, T23, T24, splitc16_in_gaa(T24))
U11_GA(T22, T23, T24, splitc16_out_gaa(T24, T26, T27)) → MERGESORT1_IN_GA(.(T22, T26))
U11_GA(T22, T23, T24, splitc16_out_gaa(T24, T26, T27)) → U13_GA(T22, T23, T24, T27, mergesortc1_in_ga(.(T22, T26)))
U13_GA(T22, T23, T24, T27, mergesortc1_out_ga(.(T22, T26), T63)) → MERGESORT1_IN_GA(.(T23, T27))
splitc16_in_gaa([]) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, [])) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59))) → U18_gaa(T57, T58, T59, splitc16_in_gaa(T59))
mergesortc1_in_ga(.(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24))) → U19_ga(T22, T23, T24, splitc16_in_gaa(T24))
U18_gaa(T57, T58, T59, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
U19_ga(T22, T23, T24, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T27, mergesortc1_in_ga(.(T22, T26)))
U20_ga(T22, T23, T24, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T63, mergesortc1_in_ga(.(T23, T27)))
U21_ga(T22, T23, T24, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, mergec40_in_gga(T63, T68))
U22_ga(T22, T23, T24, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
mergec40_in_gga([], T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, []) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106)) → U23_gga(T103, T104, T105, T106, lec56_in_gg(T103, T105))
mergec40_in_gga(.(T144, T145), .(T146, T147)) → U25_gga(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
U23_gga(T103, T104, T105, T106, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, mergec40_in_gga(T104, .(T105, T106)))
U25_gga(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, mergec40_in_gga(.(T144, T145), T147))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U24_gga(T103, T104, T105, T106, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U26_gga(T144, T145, T146, T147, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
splitc16_in_gaa(x0)
mergesortc1_in_ga(x0)
U18_gaa(x0, x1, x2, x3)
U19_ga(x0, x1, x2, x3)
U20_ga(x0, x1, x2, x3, x4)
U21_ga(x0, x1, x2, x3, x4)
U22_ga(x0, x1, x2, x3)
mergec40_in_gga(x0, x1)
U23_gga(x0, x1, x2, x3, x4)
U25_gga(x0, x1, x2, x3, x4)
lec56_in_gg(x0, x1)
U24_gga(x0, x1, x2, x3, x4)
gtc73_in_gg(x0, x1)
U26_gga(x0, x1, x2, x3, x4)
U27_gg(x0, x1, x2)
U28_gg(x0, x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U11_GA(T22, T23, T24, splitc16_out_gaa(T24, T26, T27)) → MERGESORT1_IN_GA(.(T22, T26))
U13_GA(T22, T23, T24, T27, mergesortc1_out_ga(.(T22, T26), T63)) → MERGESORT1_IN_GA(.(T23, T27))
POL( U11_GA(x1, ..., x4) ) = 2x1 + 2x2 + 2x4 + 2
POL( U13_GA(x1, ..., x5) ) = 2x2 + 2x4 + 2
POL( U19_ga(x1, ..., x4) ) = x1 + x2 + 2x3 + x4 + 2
POL( splitc16_in_gaa(x1) ) = 2x1
POL( [] ) = 2
POL( splitc16_out_gaa(x1, ..., x3) ) = x2 + x3
POL( .(x1, x2) ) = 2x1 + 2x2 + 1
POL( U18_gaa(x1, ..., x4) ) = 2x1 + 2x2 + x3 + 2x4 + 2
POL( mergesortc1_in_ga(x1) ) = 2
POL( mergesortc1_out_ga(x1, x2) ) = 2x2 + 1
POL( U20_ga(x1, ..., x5) ) = 2x2 + 2x4 + x5 + 2
POL( U21_ga(x1, ..., x5) ) = x1 + x2 + 2
POL( U22_ga(x1, ..., x4) ) = 2x1 + 2x2 + 2x3
POL( mergec40_in_gga(x1, x2) ) = max{0, 2x1 - 1}
POL( mergec40_out_gga(x1, ..., x3) ) = max{0, 2x2 + 2x3 - 2}
POL( U23_gga(x1, ..., x5) ) = max{0, x1 + 2x2 + 2x3 + 2x5 - 2}
POL( lec56_in_gg(x1, x2) ) = max{0, 2x1 - 2}
POL( U25_gga(x1, ..., x5) ) = x3 + 2x4 + 1
POL( gtc73_in_gg(x1, x2) ) = 2x2 + 2
POL( s(x1) ) = max{0, -2}
POL( U27_gg(x1, ..., x3) ) = max{0, x1 + x2 + x3 - 2}
POL( 0 ) = 2
POL( lec56_out_gg(x1, x2) ) = max{0, 2x1 + 2x2 - 1}
POL( U24_gga(x1, ..., x5) ) = 2x1 + x2 + 2x3 + x4 + 2x5 + 2
POL( U28_gg(x1, ..., x3) ) = x1 + 2x2 + 2
POL( gtc73_out_gg(x1, x2) ) = max{0, -1}
POL( U26_gga(x1, ..., x5) ) = 2x1 + 2x3 + 2
POL( MERGESORT1_IN_GA(x1) ) = max{0, x1 - 1}
splitc16_in_gaa([]) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, [])) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59))) → U18_gaa(T57, T58, T59, splitc16_in_gaa(T59))
U18_gaa(T57, T58, T59, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
MERGESORT1_IN_GA(.(T22, .(T23, T24))) → U11_GA(T22, T23, T24, splitc16_in_gaa(T24))
U11_GA(T22, T23, T24, splitc16_out_gaa(T24, T26, T27)) → U13_GA(T22, T23, T24, T27, mergesortc1_in_ga(.(T22, T26)))
splitc16_in_gaa([]) → splitc16_out_gaa([], [], [])
splitc16_in_gaa(.(T41, [])) → splitc16_out_gaa(.(T41, []), .(T41, []), [])
splitc16_in_gaa(.(T57, .(T58, T59))) → U18_gaa(T57, T58, T59, splitc16_in_gaa(T59))
mergesortc1_in_ga(.(T4, [])) → mergesortc1_out_ga(.(T4, []), .(T4, []))
mergesortc1_in_ga(.(T22, .(T23, T24))) → U19_ga(T22, T23, T24, splitc16_in_gaa(T24))
U18_gaa(T57, T58, T59, splitc16_out_gaa(T59, X167, X168)) → splitc16_out_gaa(.(T57, .(T58, T59)), .(T57, X167), .(T58, X168))
U19_ga(T22, T23, T24, splitc16_out_gaa(T24, T26, T27)) → U20_ga(T22, T23, T24, T27, mergesortc1_in_ga(.(T22, T26)))
U20_ga(T22, T23, T24, T27, mergesortc1_out_ga(.(T22, T26), T63)) → U21_ga(T22, T23, T24, T63, mergesortc1_in_ga(.(T23, T27)))
U21_ga(T22, T23, T24, T63, mergesortc1_out_ga(.(T23, T27), T68)) → U22_ga(T22, T23, T24, mergec40_in_gga(T63, T68))
U22_ga(T22, T23, T24, mergec40_out_gga(T63, T68, T14)) → mergesortc1_out_ga(.(T22, .(T23, T24)), T14)
mergec40_in_gga([], T77) → mergec40_out_gga([], T77, T77)
mergec40_in_gga(T82, []) → mergec40_out_gga(T82, [], T82)
mergec40_in_gga(.(T103, T104), .(T105, T106)) → U23_gga(T103, T104, T105, T106, lec56_in_gg(T103, T105))
mergec40_in_gga(.(T144, T145), .(T146, T147)) → U25_gga(T144, T145, T146, T147, gtc73_in_gg(T144, T146))
U23_gga(T103, T104, T105, T106, lec56_out_gg(T103, T105)) → U24_gga(T103, T104, T105, T106, mergec40_in_gga(T104, .(T105, T106)))
U25_gga(T144, T145, T146, T147, gtc73_out_gg(T144, T146)) → U26_gga(T144, T145, T146, T147, mergec40_in_gga(.(T144, T145), T147))
lec56_in_gg(s(T121), s(T122)) → U27_gg(T121, T122, lec56_in_gg(T121, T122))
lec56_in_gg(0, s(T129)) → lec56_out_gg(0, s(T129))
lec56_in_gg(0, 0) → lec56_out_gg(0, 0)
U24_gga(T103, T104, T105, T106, mergec40_out_gga(T104, .(T105, T106), T108)) → mergec40_out_gga(.(T103, T104), .(T105, T106), .(T103, T108))
gtc73_in_gg(s(T162), s(T163)) → U28_gg(T162, T163, gtc73_in_gg(T162, T163))
gtc73_in_gg(s(T168), 0) → gtc73_out_gg(s(T168), 0)
U26_gga(T144, T145, T146, T147, mergec40_out_gga(.(T144, T145), T147, T149)) → mergec40_out_gga(.(T144, T145), .(T146, T147), .(T146, T149))
U27_gg(T121, T122, lec56_out_gg(T121, T122)) → lec56_out_gg(s(T121), s(T122))
U28_gg(T162, T163, gtc73_out_gg(T162, T163)) → gtc73_out_gg(s(T162), s(T163))
splitc16_in_gaa(x0)
mergesortc1_in_ga(x0)
U18_gaa(x0, x1, x2, x3)
U19_ga(x0, x1, x2, x3)
U20_ga(x0, x1, x2, x3, x4)
U21_ga(x0, x1, x2, x3, x4)
U22_ga(x0, x1, x2, x3)
mergec40_in_gga(x0, x1)
U23_gga(x0, x1, x2, x3, x4)
U25_gga(x0, x1, x2, x3, x4)
lec56_in_gg(x0, x1)
U24_gga(x0, x1, x2, x3, x4)
gtc73_in_gg(x0, x1)
U26_gga(x0, x1, x2, x3, x4)
U27_gg(x0, x1, x2)
U28_gg(x0, x1, x2)