Time: 4.807610 TRS: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} SRS: We consider a TRS. Trs: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} APP: We consider a non-applicative system. Trs: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} DP: DP: { app#(cons(x, ys), zs) -> app#(ys, zs), qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), qsort# ins(x, ys) -> split#(x, ys), if_3#(pair(yl, yh), x, ys) -> app#(qsort yl, cons(x, qsort yh)), if_3#(pair(yl, yh), x, ys) -> qsort# yl, if_3#(pair(yl, yh), x, ys) -> qsort# yh, greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y), if_1#(pair(zl, zh), x, y, zs) -> Cond_if_1#(greater_int(x, y), zl, zh, x, y, zs), if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y), split#(x, ins(y, zs)) -> greater_int#(x, y), split#(x, ins(y, zs)) -> greatereq_int#(y, x), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y), if_2#(pair(zl, zh), x, y, zs) -> Cond_if_2#(greatereq_int(y, x), zl, zh, x, y, zs), if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x), Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs), Cond_split#(true(), x, y, zs) -> split#(x, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs), Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs)} TRS: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} EDG: {(qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs)) (qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs)) (qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> greatereq_int#(y, x)) (qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> greater_int#(x, y)) (if_3#(pair(yl, yh), x, ys) -> qsort# yh, qsort# ins(x, ys) -> split#(x, ys)) (if_3#(pair(yl, yh), x, ys) -> qsort# yh, qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greatereq_int#(y, x)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greater_int#(x, y)) (greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (split#(x, ins(y, zs)) -> greatereq_int#(y, x), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (split#(x, ins(y, zs)) -> greatereq_int#(y, x), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (if_3#(pair(yl, yh), x, ys) -> app#(qsort yl, cons(x, qsort yh)), app#(cons(x, ys), zs) -> app#(ys, zs)) (split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs)) (split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)) (Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs), if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x)) (Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs), if_2#(pair(zl, zh), x, y, zs) -> Cond_if_2#(greatereq_int(y, x), zl, zh, x, y, zs)) (split#(x, ins(y, zs)) -> greater_int#(x, y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (split#(x, ins(y, zs)) -> greater_int#(x, y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs), if_1#(pair(zl, zh), x, y, zs) -> Cond_if_1#(greater_int(x, y), zl, zh, x, y, zs)) (Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs), if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y)) (split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs)) (split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), Cond_split#(true(), x, y, zs) -> split#(x, zs)) (if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greater_int#(x, y)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greatereq_int#(y, x)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs)) (app#(cons(x, ys), zs) -> app#(ys, zs), app#(cons(x, ys), zs) -> app#(ys, zs)) (if_3#(pair(yl, yh), x, ys) -> qsort# yl, qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys)) (if_3#(pair(yl, yh), x, ys) -> qsort# yl, qsort# ins(x, ys) -> split#(x, ys)) (qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> app#(qsort yl, cons(x, qsort yh))) (qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> qsort# yl) (qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> qsort# yh)} EDG: {(qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs)) (qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs)) (qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> greatereq_int#(y, x)) (qsort# ins(x, ys) -> split#(x, ys), split#(x, ins(y, zs)) -> greater_int#(x, y)) (if_3#(pair(yl, yh), x, ys) -> qsort# yh, qsort# ins(x, ys) -> split#(x, ys)) (if_3#(pair(yl, yh), x, ys) -> qsort# yh, qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greatereq_int#(y, x)) (Cond_split#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greater_int#(x, y)) (greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (split#(x, ins(y, zs)) -> greatereq_int#(y, x), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (split#(x, ins(y, zs)) -> greatereq_int#(y, x), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (if_3#(pair(yl, yh), x, ys) -> app#(qsort yl, cons(x, qsort yh)), app#(cons(x, ys), zs) -> app#(ys, zs)) (split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs)) (split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)) (Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs), if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x)) (Cond_split1#(true(), x, y, zs) -> if_2#(split(x, zs), x, y, zs), if_2#(pair(zl, zh), x, y, zs) -> Cond_if_2#(greatereq_int(y, x), zl, zh, x, y, zs)) (split#(x, ins(y, zs)) -> greater_int#(x, y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (split#(x, ins(y, zs)) -> greater_int#(x, y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs), if_1#(pair(zl, zh), x, y, zs) -> Cond_if_1#(greater_int(x, y), zl, zh, x, y, zs)) (Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs), if_1#(pair(zl, zh), x, y, zs) -> greater_int#(x, y)) (split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), Cond_split#(true(), x, y, zs) -> if_1#(split(x, zs), x, y, zs)) (split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), Cond_split#(true(), x, y, zs) -> split#(x, zs)) (if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (if_2#(pair(zl, zh), x, y, zs) -> greatereq_int#(y, x), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greater_int#(x, y)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> greatereq_int#(y, x)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs)) (Cond_split1#(true(), x, y, zs) -> split#(x, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs)) (app#(cons(x, ys), zs) -> app#(ys, zs), app#(cons(x, ys), zs) -> app#(ys, zs)) (if_3#(pair(yl, yh), x, ys) -> qsort# yl, qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys)) (if_3#(pair(yl, yh), x, ys) -> qsort# yl, qsort# ins(x, ys) -> split#(x, ys)) (qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> app#(qsort yl, cons(x, qsort yh))) (qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> qsort# yl) (qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> qsort# yh)} SCCS (7): Scc: {greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)} Scc: {greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)} Scc: { split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split#(true(), x, y, zs) -> split#(x, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)} Scc: {greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)} Scc: {greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)} Scc: { qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> qsort# yl, if_3#(pair(yl, yh), x, ys) -> qsort# yh} Scc: {app#(cons(x, ys), zs) -> app#(ys, zs)} SCC: Strict: {greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(neg) = [0], pi(greatereq_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 5x0 + 9, [neg](x0) = -4x0 + 0, [greatereq_int#](x0) = -4x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: {greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(pos) = [0], pi(greatereq_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 5x0 + 9, [pos](x0) = -4x0 + 0, [greatereq_int#](x0) = -4x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: { split#(x, ins(y, zs)) -> Cond_split#(greater_int(x, y), x, y, zs), split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split#(true(), x, y, zs) -> split#(x, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} SPSC: Simple Projection: pi(Cond_split1#) = 3, pi(Cond_split#) = 3, pi(split#) = 1 Strict: { split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split#(true(), x, y, zs) -> split#(x, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)} SCCS (1): Scc: { split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)} SCC: Strict: { split#(x, ins(y, zs)) -> Cond_split1#(greatereq_int(y, x), x, y, zs), Cond_split1#(true(), x, y, zs) -> split#(x, zs)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} SPSC: Simple Projection: pi(Cond_split1#) = 3, pi(split#) = 1 Strict: {Cond_split1#(true(), x, y, zs) -> split#(x, zs)} SCCS (0): Qed SCC: Strict: {greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(neg) = [0], pi(greater_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 5x0 + 9, [neg](x0) = -4x0 + 0, [greater_int#](x0) = -4x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: {greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(pos) = 0, pi(greater_int#) = 1 Usable Rules: {} Interpretation: [s](x0) = 1x0 Strict: {} Weak: {} Qed SCC: Strict: { qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys), if_3#(pair(yl, yh), x, ys) -> qsort# yl, if_3#(pair(yl, yh), x, ys) -> qsort# yh} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} UR: {Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs), a(z, w) -> z, a(z, w) -> w} POLY: Mode: weak, max_in=7, output_bits=5, dnum=1, ur=true Interpretation: [Cond_if_1](x0, x1, x2, x3, x4, x5) = x0 + 3x1 + 2x2 + 4x3 + 1, [Cond_if_2](x0, x1, x2, x3, x4, x5) = x0 + 3x1 + 4x2 + 7, [if_1](x0, x1, x2, x3) = 3x0 + 6x1 + 1, [if_2](x0, x1, x2, x3) = 3x0 + 4x1 + 7, [Cond_split](x0, x1, x2, x3) = x0 + 6x1 + 6x2 + 6, [Cond_split1](x0, x1, x2, x3) = 2x0 + 4x1 + 6x2 + 5, [pair](x0, x1) = x0 + x1, [greater_int](x0, x1) = 2x0, [split](x0, x1) = 2x0 + 4, [ins](x0, x1) = 4x0 + 3x1 + 7, [greatereq_int](x0, x1) = x0, [a](x0, x1) = 0, [pos](x0) = x0 + 7, [neg](x0) = 2x0 + 4, [s](x0) = 4x0 + 2, [true] = 7, [e] = 6, [false] = 0, [0] = 2, [if_3#](x0, x1, x2) = 4x0 + 4x1 + 5, [qsort#](x0) = 3x0 + 5 Strict: if_3#(pair(yl, yh), x, ys) -> qsort# yh 5 + 4yl + 4x + 4yh + 0ys >= 5 + 3yh if_3#(pair(yl, yh), x, ys) -> qsort# yl 5 + 4yl + 4x + 4yh + 0ys >= 5 + 3yl qsort# ins(x, ys) -> if_3#(split(x, ys), x, ys) 26 + 12x + 9ys >= 21 + 4x + 8ys Weak: SCCS (0): Qed SCC: Strict: {app#(cons(x, ys), zs) -> app#(ys, zs)} Weak: { app(nil(), zs) -> zs, app(cons(x, ys), zs) -> cons(x, app(ys, zs)), qsort ins(x, ys) -> if_3(split(x, ys), x, ys), qsort e() -> nil(), if_3(pair(yl, yh), x, ys) -> app(qsort yl, cons(x, qsort yh)), Cond_if_1(true(), zl, zh, x, y, zs) -> pair(ins(y, zl), zh), greater_int(pos 0(), pos 0()) -> false(), greater_int(pos 0(), pos s y) -> false(), greater_int(pos 0(), neg 0()) -> false(), greater_int(pos 0(), neg s y) -> true(), greater_int(pos s x, pos 0()) -> true(), greater_int(pos s x, pos s y) -> greater_int(pos x, pos y), greater_int(pos s x, neg 0()) -> true(), greater_int(pos s x, neg s y) -> true(), greater_int(neg 0(), pos 0()) -> false(), greater_int(neg 0(), pos s y) -> false(), greater_int(neg 0(), neg 0()) -> false(), greater_int(neg 0(), neg s y) -> true(), greater_int(neg s x, pos 0()) -> false(), greater_int(neg s x, pos s y) -> false(), greater_int(neg s x, neg 0()) -> false(), greater_int(neg s x, neg s y) -> greater_int(neg x, neg y), if_1(pair(zl, zh), x, y, zs) -> Cond_if_1(greater_int(x, y), zl, zh, x, y, zs), split(x, ins(y, zs)) -> Cond_split(greater_int(x, y), x, y, zs), split(x, ins(y, zs)) -> Cond_split1(greatereq_int(y, x), x, y, zs), split(x, e()) -> pair(e(), e()), Cond_if_2(true(), zl, zh, x, y, zs) -> pair(zl, ins(y, zh)), greatereq_int(pos x, pos 0()) -> true(), greatereq_int(pos x, neg y) -> true(), greatereq_int(pos 0(), pos s y) -> false(), greatereq_int(pos s x, pos s y) -> greatereq_int(pos x, pos y), greatereq_int(neg x, pos s y) -> false(), greatereq_int(neg 0(), pos 0()) -> true(), greatereq_int(neg 0(), neg y) -> true(), greatereq_int(neg s x, pos 0()) -> false(), greatereq_int(neg s x, neg 0()) -> false(), greatereq_int(neg s x, neg s y) -> greatereq_int(neg x, neg y), if_2(pair(zl, zh), x, y, zs) -> Cond_if_2(greatereq_int(y, x), zl, zh, x, y, zs), Cond_split(true(), x, y, zs) -> if_1(split(x, zs), x, y, zs), Cond_split1(true(), x, y, zs) -> if_2(split(x, zs), x, y, zs)} SPSC: Simple Projection: pi(app#) = 0 Strict: {} Qed