0 Prolog
↳1 PrologToPiTRSProof (⇐)
↳2 PiTRS
↳3 DependencyPairsProof (⇔)
↳4 PiDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔)
↳9 PiDP
↳10 PiDPToQDPProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
↳14 PiDP
↳15 UsableRulesProof (⇔)
↳16 PiDP
↳17 PiDPToQDPProof (⇐)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 TRUE
↳21 PiDP
↳22 UsableRulesProof (⇔)
↳23 PiDP
↳24 PiDPToQDPProof (⇔)
↳25 QDP
↳26 QDPSizeChangeProof (⇔)
↳27 TRUE
↳28 PiDP
↳29 UsableRulesProof (⇔)
↳30 PiDP
↳31 PiDPToQDPProof (⇔)
↳32 QDP
↳33 QDPSizeChangeProof (⇔)
↳34 TRUE
↳35 PiDP
↳36 UsableRulesProof (⇔)
↳37 PiDP
↳38 PiDPToQDPProof (⇐)
↳39 QDP
↳40 QDPSizeChangeProof (⇔)
↳41 TRUE
↳42 PiDP
↳43 UsableRulesProof (⇔)
↳44 PiDP
↳45 PiDPToQDPProof (⇐)
↳46 QDP
↳47 QDPOrderProof (⇔)
↳48 QDP
↳49 DependencyGraphProof (⇔)
↳50 TRUE
↳51 PrologToPiTRSProof (⇐)
↳52 PiTRS
↳53 DependencyPairsProof (⇔)
↳54 PiDP
↳55 DependencyGraphProof (⇔)
↳56 AND
↳57 PiDP
↳58 UsableRulesProof (⇔)
↳59 PiDP
↳60 PiDPToQDPProof (⇔)
↳61 QDP
↳62 QDPSizeChangeProof (⇔)
↳63 TRUE
↳64 PiDP
↳65 UsableRulesProof (⇔)
↳66 PiDP
↳67 PiDPToQDPProof (⇐)
↳68 QDP
↳69 QDPSizeChangeProof (⇔)
↳70 TRUE
↳71 PiDP
↳72 UsableRulesProof (⇔)
↳73 PiDP
↳74 PiDPToQDPProof (⇔)
↳75 QDP
↳76 QDPSizeChangeProof (⇔)
↳77 TRUE
↳78 PiDP
↳79 UsableRulesProof (⇔)
↳80 PiDP
↳81 PiDPToQDPProof (⇔)
↳82 QDP
↳83 QDPSizeChangeProof (⇔)
↳84 TRUE
↳85 PiDP
↳86 UsableRulesProof (⇔)
↳87 PiDP
↳88 PiDPToQDPProof (⇐)
↳89 QDP
↳90 QDPSizeChangeProof (⇔)
↳91 TRUE
↳92 PiDP
↳93 UsableRulesProof (⇔)
↳94 PiDP
↳95 PiDPToQDPProof (⇐)
↳96 QDP
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
MINSORT_IN_GA(L, .(X, L1)) → MIN1_IN_AG(X, L)
MIN1_IN_AG(M, .(X, L)) → U4_AG(M, X, L, min2_in_gag(X, M, L))
MIN1_IN_AG(M, .(X, L)) → MIN2_IN_GAG(X, M, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
MIN2_IN_GAG(X, A, .(M, L)) → MIN_IN_GGA(X, M, B)
MIN_IN_GGA(X, Y, X) → U7_GGA(X, Y, le_in_gg(X, Y))
MIN_IN_GGA(X, Y, X) → LE_IN_GG(X, Y)
LE_IN_GG(s(X), s(Y)) → U12_GG(X, Y, le_in_gg(X, Y))
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
MIN_IN_GGA(X, Y, Y) → U8_GGA(X, Y, gt_in_gg(X, Y))
MIN_IN_GGA(X, Y, Y) → GT_IN_GG(X, Y)
GT_IN_GG(s(X), s(Y)) → U11_GG(X, Y, gt_in_gg(X, Y))
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → U6_GAG(X, A, M, L, min2_in_gag(B, A, L))
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U1_GA(L, X, L1, min1_out_ag(X, L)) → REMOVE_IN_GGA(X, L, L2)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → NOTEQ_IN_GG(N, M)
NOTEQ_IN_GG(s(X), s(Y)) → U13_GG(X, Y, notEq_in_gg(X, Y))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → U10_GGA(N, M, L, L1, remove_in_gga(N, L, L1))
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → U3_GA(L, X, L1, minsort_in_ga(L2, L1))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
MINSORT_IN_GA(L, .(X, L1)) → MIN1_IN_AG(X, L)
MIN1_IN_AG(M, .(X, L)) → U4_AG(M, X, L, min2_in_gag(X, M, L))
MIN1_IN_AG(M, .(X, L)) → MIN2_IN_GAG(X, M, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
MIN2_IN_GAG(X, A, .(M, L)) → MIN_IN_GGA(X, M, B)
MIN_IN_GGA(X, Y, X) → U7_GGA(X, Y, le_in_gg(X, Y))
MIN_IN_GGA(X, Y, X) → LE_IN_GG(X, Y)
LE_IN_GG(s(X), s(Y)) → U12_GG(X, Y, le_in_gg(X, Y))
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
MIN_IN_GGA(X, Y, Y) → U8_GGA(X, Y, gt_in_gg(X, Y))
MIN_IN_GGA(X, Y, Y) → GT_IN_GG(X, Y)
GT_IN_GG(s(X), s(Y)) → U11_GG(X, Y, gt_in_gg(X, Y))
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → U6_GAG(X, A, M, L, min2_in_gag(B, A, L))
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U1_GA(L, X, L1, min1_out_ag(X, L)) → REMOVE_IN_GGA(X, L, L2)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → NOTEQ_IN_GG(N, M)
NOTEQ_IN_GG(s(X), s(Y)) → U13_GG(X, Y, notEq_in_gg(X, Y))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → U10_GGA(N, M, L, L1, remove_in_gga(N, L, L1))
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → U3_GA(L, X, L1, minsort_in_ga(L2, L1))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
From the DPs we obtained the following set of size-change graphs:
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_GGA(N, M, L, notEq_out_gg) → REMOVE_IN_GGA(N, L)
REMOVE_IN_GGA(N, .(M, L)) → U9_GGA(N, M, L, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg
notEq_in_gg(0, s(X)) → notEq_out_gg
U13_gg(notEq_out_gg) → notEq_out_gg
notEq_in_gg(x0, x1)
U13_gg(x0)
From the DPs we obtained the following set of size-change graphs:
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
From the DPs we obtained the following set of size-change graphs:
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
From the DPs we obtained the following set of size-change graphs:
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U5_GAG(L, min_out_gga(B)) → MIN2_IN_GAG(B, L)
MIN2_IN_GAG(X, .(M, L)) → U5_GAG(L, min_in_gga(X, M))
min_in_gga(X, Y) → U7_gga(X, le_in_gg(X, Y))
min_in_gga(X, Y) → U8_gga(Y, gt_in_gg(X, Y))
U7_gga(X, le_out_gg) → min_out_gga(X)
U8_gga(Y, gt_out_gg) → min_out_gga(Y)
le_in_gg(s(X), s(Y)) → U12_gg(le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg
le_in_gg(0, 0) → le_out_gg
gt_in_gg(s(X), s(Y)) → U11_gg(gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg
U12_gg(le_out_gg) → le_out_gg
U11_gg(gt_out_gg) → gt_out_gg
min_in_gga(x0, x1)
U7_gga(x0, x1)
U8_gga(x0, x1)
le_in_gg(x0, x1)
gt_in_gg(x0, x1)
U12_gg(x0)
U11_gg(x0)
From the DPs we obtained the following set of size-change graphs:
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U1_GA(L, min1_out_ag(X)) → U2_GA(X, remove_in_gga(X, L))
U2_GA(X, remove_out_gga(L2)) → MINSORT_IN_GA(L2)
MINSORT_IN_GA(L) → U1_GA(L, min1_in_ag(L))
remove_in_gga(N, .(N, L)) → remove_out_gga(L)
remove_in_gga(N, .(M, L)) → U9_gga(N, M, L, notEq_in_gg(N, M))
min1_in_ag(.(X, L)) → U4_ag(min2_in_gag(X, L))
U9_gga(N, M, L, notEq_out_gg) → U10_gga(M, remove_in_gga(N, L))
U4_ag(min2_out_gag(M)) → min1_out_ag(M)
notEq_in_gg(s(X), s(Y)) → U13_gg(notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg
notEq_in_gg(0, s(X)) → notEq_out_gg
U10_gga(M, remove_out_gga(L1)) → remove_out_gga(.(M, L1))
min2_in_gag(X, []) → min2_out_gag(X)
min2_in_gag(X, .(M, L)) → U5_gag(L, min_in_gga(X, M))
U13_gg(notEq_out_gg) → notEq_out_gg
U5_gag(L, min_out_gga(B)) → U6_gag(min2_in_gag(B, L))
min_in_gga(X, Y) → U7_gga(X, le_in_gg(X, Y))
min_in_gga(X, Y) → U8_gga(Y, gt_in_gg(X, Y))
U6_gag(min2_out_gag(A)) → min2_out_gag(A)
U7_gga(X, le_out_gg) → min_out_gga(X)
U8_gga(Y, gt_out_gg) → min_out_gga(Y)
le_in_gg(s(X), s(Y)) → U12_gg(le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg
le_in_gg(0, 0) → le_out_gg
gt_in_gg(s(X), s(Y)) → U11_gg(gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg
U12_gg(le_out_gg) → le_out_gg
U11_gg(gt_out_gg) → gt_out_gg
remove_in_gga(x0, x1)
min1_in_ag(x0)
U9_gga(x0, x1, x2, x3)
U4_ag(x0)
notEq_in_gg(x0, x1)
U10_gga(x0, x1)
min2_in_gag(x0, x1)
U13_gg(x0)
U5_gag(x0, x1)
min_in_gga(x0, x1)
U6_gag(x0)
U7_gga(x0, x1)
U8_gga(x0, x1)
le_in_gg(x0, x1)
gt_in_gg(x0, x1)
U12_gg(x0)
U11_gg(x0)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U2_GA(X, remove_out_gga(L2)) → MINSORT_IN_GA(L2)
POL(.(x1, x2)) = 1 + x2
POL(0) = 0
POL(MINSORT_IN_GA(x1)) = x1
POL(U10_gga(x1, x2)) = 1 + x2
POL(U11_gg(x1)) = 0
POL(U12_gg(x1)) = 0
POL(U13_gg(x1)) = 0
POL(U1_GA(x1, x2)) = x1
POL(U2_GA(x1, x2)) = x2
POL(U4_ag(x1)) = 0
POL(U5_gag(x1, x2)) = 0
POL(U6_gag(x1)) = 0
POL(U7_gga(x1, x2)) = 0
POL(U8_gga(x1, x2)) = 0
POL(U9_gga(x1, x2, x3, x4)) = 1 + x3
POL([]) = 0
POL(gt_in_gg(x1, x2)) = x2
POL(gt_out_gg) = 0
POL(le_in_gg(x1, x2)) = 0
POL(le_out_gg) = 0
POL(min1_in_ag(x1)) = 0
POL(min1_out_ag(x1)) = 0
POL(min2_in_gag(x1, x2)) = 0
POL(min2_out_gag(x1)) = 0
POL(min_in_gga(x1, x2)) = 0
POL(min_out_gga(x1)) = 0
POL(notEq_in_gg(x1, x2)) = x1 + x2
POL(notEq_out_gg) = 0
POL(remove_in_gga(x1, x2)) = x2
POL(remove_out_gga(x1)) = 1 + x1
POL(s(x1)) = x1
remove_in_gga(N, .(N, L)) → remove_out_gga(L)
remove_in_gga(N, .(M, L)) → U9_gga(N, M, L, notEq_in_gg(N, M))
U9_gga(N, M, L, notEq_out_gg) → U10_gga(M, remove_in_gga(N, L))
U10_gga(M, remove_out_gga(L1)) → remove_out_gga(.(M, L1))
U1_GA(L, min1_out_ag(X)) → U2_GA(X, remove_in_gga(X, L))
MINSORT_IN_GA(L) → U1_GA(L, min1_in_ag(L))
remove_in_gga(N, .(N, L)) → remove_out_gga(L)
remove_in_gga(N, .(M, L)) → U9_gga(N, M, L, notEq_in_gg(N, M))
min1_in_ag(.(X, L)) → U4_ag(min2_in_gag(X, L))
U9_gga(N, M, L, notEq_out_gg) → U10_gga(M, remove_in_gga(N, L))
U4_ag(min2_out_gag(M)) → min1_out_ag(M)
notEq_in_gg(s(X), s(Y)) → U13_gg(notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg
notEq_in_gg(0, s(X)) → notEq_out_gg
U10_gga(M, remove_out_gga(L1)) → remove_out_gga(.(M, L1))
min2_in_gag(X, []) → min2_out_gag(X)
min2_in_gag(X, .(M, L)) → U5_gag(L, min_in_gga(X, M))
U13_gg(notEq_out_gg) → notEq_out_gg
U5_gag(L, min_out_gga(B)) → U6_gag(min2_in_gag(B, L))
min_in_gga(X, Y) → U7_gga(X, le_in_gg(X, Y))
min_in_gga(X, Y) → U8_gga(Y, gt_in_gg(X, Y))
U6_gag(min2_out_gag(A)) → min2_out_gag(A)
U7_gga(X, le_out_gg) → min_out_gga(X)
U8_gga(Y, gt_out_gg) → min_out_gga(Y)
le_in_gg(s(X), s(Y)) → U12_gg(le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg
le_in_gg(0, 0) → le_out_gg
gt_in_gg(s(X), s(Y)) → U11_gg(gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg
U12_gg(le_out_gg) → le_out_gg
U11_gg(gt_out_gg) → gt_out_gg
remove_in_gga(x0, x1)
min1_in_ag(x0)
U9_gga(x0, x1, x2, x3)
U4_ag(x0)
notEq_in_gg(x0, x1)
U10_gga(x0, x1)
min2_in_gag(x0, x1)
U13_gg(x0)
U5_gag(x0, x1)
min_in_gga(x0, x1)
U6_gag(x0)
U7_gga(x0, x1)
U8_gga(x0, x1)
le_in_gg(x0, x1)
gt_in_gg(x0, x1)
U12_gg(x0)
U11_gg(x0)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
MINSORT_IN_GA(L, .(X, L1)) → MIN1_IN_AG(X, L)
MIN1_IN_AG(M, .(X, L)) → U4_AG(M, X, L, min2_in_gag(X, M, L))
MIN1_IN_AG(M, .(X, L)) → MIN2_IN_GAG(X, M, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
MIN2_IN_GAG(X, A, .(M, L)) → MIN_IN_GGA(X, M, B)
MIN_IN_GGA(X, Y, X) → U7_GGA(X, Y, le_in_gg(X, Y))
MIN_IN_GGA(X, Y, X) → LE_IN_GG(X, Y)
LE_IN_GG(s(X), s(Y)) → U12_GG(X, Y, le_in_gg(X, Y))
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
MIN_IN_GGA(X, Y, Y) → U8_GGA(X, Y, gt_in_gg(X, Y))
MIN_IN_GGA(X, Y, Y) → GT_IN_GG(X, Y)
GT_IN_GG(s(X), s(Y)) → U11_GG(X, Y, gt_in_gg(X, Y))
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → U6_GAG(X, A, M, L, min2_in_gag(B, A, L))
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U1_GA(L, X, L1, min1_out_ag(X, L)) → REMOVE_IN_GGA(X, L, L2)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → NOTEQ_IN_GG(N, M)
NOTEQ_IN_GG(s(X), s(Y)) → U13_GG(X, Y, notEq_in_gg(X, Y))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → U10_GGA(N, M, L, L1, remove_in_gga(N, L, L1))
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → U3_GA(L, X, L1, minsort_in_ga(L2, L1))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
MINSORT_IN_GA(L, .(X, L1)) → MIN1_IN_AG(X, L)
MIN1_IN_AG(M, .(X, L)) → U4_AG(M, X, L, min2_in_gag(X, M, L))
MIN1_IN_AG(M, .(X, L)) → MIN2_IN_GAG(X, M, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
MIN2_IN_GAG(X, A, .(M, L)) → MIN_IN_GGA(X, M, B)
MIN_IN_GGA(X, Y, X) → U7_GGA(X, Y, le_in_gg(X, Y))
MIN_IN_GGA(X, Y, X) → LE_IN_GG(X, Y)
LE_IN_GG(s(X), s(Y)) → U12_GG(X, Y, le_in_gg(X, Y))
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
MIN_IN_GGA(X, Y, Y) → U8_GGA(X, Y, gt_in_gg(X, Y))
MIN_IN_GGA(X, Y, Y) → GT_IN_GG(X, Y)
GT_IN_GG(s(X), s(Y)) → U11_GG(X, Y, gt_in_gg(X, Y))
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → U6_GAG(X, A, M, L, min2_in_gag(B, A, L))
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U1_GA(L, X, L1, min1_out_ag(X, L)) → REMOVE_IN_GGA(X, L, L2)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → NOTEQ_IN_GG(N, M)
NOTEQ_IN_GG(s(X), s(Y)) → U13_GG(X, Y, notEq_in_gg(X, Y))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → U10_GGA(N, M, L, L1, remove_in_gga(N, L, L1))
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → U3_GA(L, X, L1, minsort_in_ga(L2, L1))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
NOTEQ_IN_GG(s(X), s(Y)) → NOTEQ_IN_GG(X, Y)
From the DPs we obtained the following set of size-change graphs:
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
U9_GGA(N, M, L, L1, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L, L1)
REMOVE_IN_GGA(N, .(M, L), .(M, L1)) → U9_GGA(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_GGA(N, M, L, notEq_out_gg(N, M)) → REMOVE_IN_GGA(N, L)
REMOVE_IN_GGA(N, .(M, L)) → U9_GGA(N, M, L, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
notEq_in_gg(x0, x1)
U13_gg(x0, x1, x2)
From the DPs we obtained the following set of size-change graphs:
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
GT_IN_GG(s(X), s(Y)) → GT_IN_GG(X, Y)
From the DPs we obtained the following set of size-change graphs:
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
LE_IN_GG(s(X), s(Y)) → LE_IN_GG(X, Y)
From the DPs we obtained the following set of size-change graphs:
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
U5_GAG(X, A, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, A, L)
MIN2_IN_GAG(X, A, .(M, L)) → U5_GAG(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U5_GAG(X, M, L, min_out_gga(X, M, B)) → MIN2_IN_GAG(B, L)
MIN2_IN_GAG(X, .(M, L)) → U5_GAG(X, M, L, min_in_gga(X, M))
min_in_gga(X, Y) → U7_gga(X, Y, le_in_gg(X, Y))
min_in_gga(X, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
min_in_gga(x0, x1)
U7_gga(x0, x1, x2)
U8_gga(x0, x1, x2)
le_in_gg(x0, x1)
gt_in_gg(x0, x1)
U12_gg(x0, x1, x2)
U11_gg(x0, x1, x2)
From the DPs we obtained the following set of size-change graphs:
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
minsort_in_ga([], []) → minsort_out_ga([], [])
minsort_in_ga(L, .(X, L1)) → U1_ga(L, X, L1, min1_in_ag(X, L))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
U1_ga(L, X, L1, min1_out_ag(X, L)) → U2_ga(L, X, L1, remove_in_gga(X, L, L2))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
U2_ga(L, X, L1, remove_out_gga(X, L, L2)) → U3_ga(L, X, L1, minsort_in_ga(L2, L1))
U3_ga(L, X, L1, minsort_out_ga(L2, L1)) → minsort_out_ga(L, .(X, L1))
U1_GA(L, X, L1, min1_out_ag(X, L)) → U2_GA(L, X, L1, remove_in_gga(X, L, L2))
U2_GA(L, X, L1, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2, L1)
MINSORT_IN_GA(L, .(X, L1)) → U1_GA(L, X, L1, min1_in_ag(X, L))
remove_in_gga(N, .(N, L), L) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L), .(M, L1)) → U9_gga(N, M, L, L1, notEq_in_gg(N, M))
min1_in_ag(M, .(X, L)) → U4_ag(M, X, L, min2_in_gag(X, M, L))
U9_gga(N, M, L, L1, notEq_out_gg(N, M)) → U10_gga(N, M, L, L1, remove_in_gga(N, L, L1))
U4_ag(M, X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U10_gga(N, M, L, L1, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
min2_in_gag(X, X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, A, .(M, L)) → U5_gag(X, A, M, L, min_in_gga(X, M, B))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U5_gag(X, A, M, L, min_out_gga(X, M, B)) → U6_gag(X, A, M, L, min2_in_gag(B, A, L))
min_in_gga(X, Y, X) → U7_gga(X, Y, le_in_gg(X, Y))
min_in_gga(X, Y, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
U6_gag(X, A, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
U1_GA(L, min1_out_ag(X, L)) → U2_GA(L, X, remove_in_gga(X, L))
U2_GA(L, X, remove_out_gga(X, L, L2)) → MINSORT_IN_GA(L2)
MINSORT_IN_GA(L) → U1_GA(L, min1_in_ag(L))
remove_in_gga(N, .(N, L)) → remove_out_gga(N, .(N, L), L)
remove_in_gga(N, .(M, L)) → U9_gga(N, M, L, notEq_in_gg(N, M))
min1_in_ag(.(X, L)) → U4_ag(X, L, min2_in_gag(X, L))
U9_gga(N, M, L, notEq_out_gg(N, M)) → U10_gga(N, M, L, remove_in_gga(N, L))
U4_ag(X, L, min2_out_gag(X, M, L)) → min1_out_ag(M, .(X, L))
notEq_in_gg(s(X), s(Y)) → U13_gg(X, Y, notEq_in_gg(X, Y))
notEq_in_gg(s(X), 0) → notEq_out_gg(s(X), 0)
notEq_in_gg(0, s(X)) → notEq_out_gg(0, s(X))
U10_gga(N, M, L, remove_out_gga(N, L, L1)) → remove_out_gga(N, .(M, L), .(M, L1))
min2_in_gag(X, []) → min2_out_gag(X, X, [])
min2_in_gag(X, .(M, L)) → U5_gag(X, M, L, min_in_gga(X, M))
U13_gg(X, Y, notEq_out_gg(X, Y)) → notEq_out_gg(s(X), s(Y))
U5_gag(X, M, L, min_out_gga(X, M, B)) → U6_gag(X, M, L, min2_in_gag(B, L))
min_in_gga(X, Y) → U7_gga(X, Y, le_in_gg(X, Y))
min_in_gga(X, Y) → U8_gga(X, Y, gt_in_gg(X, Y))
U6_gag(X, M, L, min2_out_gag(B, A, L)) → min2_out_gag(X, A, .(M, L))
U7_gga(X, Y, le_out_gg(X, Y)) → min_out_gga(X, Y, X)
U8_gga(X, Y, gt_out_gg(X, Y)) → min_out_gga(X, Y, Y)
le_in_gg(s(X), s(Y)) → U12_gg(X, Y, le_in_gg(X, Y))
le_in_gg(0, s(Y)) → le_out_gg(0, s(Y))
le_in_gg(0, 0) → le_out_gg(0, 0)
gt_in_gg(s(X), s(Y)) → U11_gg(X, Y, gt_in_gg(X, Y))
gt_in_gg(s(X), 0) → gt_out_gg(s(X), 0)
U12_gg(X, Y, le_out_gg(X, Y)) → le_out_gg(s(X), s(Y))
U11_gg(X, Y, gt_out_gg(X, Y)) → gt_out_gg(s(X), s(Y))
remove_in_gga(x0, x1)
min1_in_ag(x0)
U9_gga(x0, x1, x2, x3)
U4_ag(x0, x1, x2)
notEq_in_gg(x0, x1)
U10_gga(x0, x1, x2, x3)
min2_in_gag(x0, x1)
U13_gg(x0, x1, x2)
U5_gag(x0, x1, x2, x3)
min_in_gga(x0, x1)
U6_gag(x0, x1, x2, x3)
U7_gga(x0, x1, x2)
U8_gga(x0, x1, x2)
le_in_gg(x0, x1)
gt_in_gg(x0, x1)
U12_gg(x0, x1, x2)
U11_gg(x0, x1, x2)