Time: 3.609392 TRS: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} SRS: We consider a TRS. Trs: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} APP: We consider a non-applicative system. Trs: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} DP: DP: {if_1#(pair(m, zh), x, y, zs) -> Cond_if_1#(greater_int(m, x), m, zh, x, y, zs), if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x), min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs), min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs), msort# ins(x, ys) -> min#(x, ys), msort# ins(x, ys) -> if_3#(min(x, ys), x, ys), if_2#(pair(m, zh), x, y, zs) -> Cond_if_2#(greatereq_int(x, m), m, zh, x, y, zs), if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m), 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_3#(pair(m, zs), x, ys) -> msort# 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)} TRS: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} EDG: {(if_3#(pair(m, zs), x, ys) -> msort# zs, msort# ins(x, ys) -> if_3#(min(x, ys), x, ys)) (if_3#(pair(m, zs), x, ys) -> msort# zs, msort# ins(x, ys) -> min#(x, ys)) (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)) (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#(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)) (min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs), if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x)) (min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs), if_1#(pair(m, zh), x, y, zs) -> Cond_if_1#(greater_int(m, x), m, zh, x, y, zs)) (min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs), if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m)) (min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs), if_2#(pair(m, zh), x, y, zs) -> Cond_if_2#(greatereq_int(x, m), m, zh, x, y, zs)) (if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs)) (min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> min#(y, zs)) (min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs)) (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#(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)) (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)) (msort# ins(x, ys) -> if_3#(min(x, ys), x, ys), if_3#(pair(m, zs), x, ys) -> msort# zs) (msort# ins(x, ys) -> min#(x, ys), min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs)) (msort# ins(x, ys) -> min#(x, ys), min#(x, ins(y, zs)) -> min#(y, zs)) (msort# ins(x, ys) -> min#(x, ys), min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs))} EDG: {(if_3#(pair(m, zs), x, ys) -> msort# zs, msort# ins(x, ys) -> if_3#(min(x, ys), x, ys)) (if_3#(pair(m, zs), x, ys) -> msort# zs, msort# ins(x, ys) -> min#(x, ys)) (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)) (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)) (min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs), if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x)) (min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs), if_1#(pair(m, zh), x, y, zs) -> Cond_if_1#(greater_int(m, x), m, zh, x, y, zs)) (min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs), if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m)) (min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs), if_2#(pair(m, zh), x, y, zs) -> Cond_if_2#(greatereq_int(x, m), m, zh, x, y, zs)) (if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m), greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)) (if_2#(pair(m, zh), x, y, zs) -> greatereq_int#(x, m), greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)) (if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x), greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)) (if_1#(pair(m, zh), x, y, zs) -> greater_int#(m, x), greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)) (min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs)) (min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> min#(y, zs)) (min#(x, ins(y, zs)) -> min#(y, zs), min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs)) (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)) (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)) (msort# ins(x, ys) -> if_3#(min(x, ys), x, ys), if_3#(pair(m, zs), x, ys) -> msort# zs) (msort# ins(x, ys) -> min#(x, ys), min#(x, ins(y, zs)) -> if_1#(min(y, zs), x, y, zs)) (msort# ins(x, ys) -> min#(x, ys), min#(x, ins(y, zs)) -> min#(y, zs)) (msort# ins(x, ys) -> min#(x, ys), min#(x, ins(y, zs)) -> if_2#(min(y, zs), x, y, zs))} SCCS (6): 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: {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: { msort# ins(x, ys) -> if_3#(min(x, ys), x, ys), if_3#(pair(m, zs), x, ys) -> msort# zs} Scc: {min#(x, ins(y, zs)) -> min#(y, zs)} SCC: Strict: {greatereq_int#(neg s x, neg s y) -> greatereq_int#(neg x, neg y)} Weak: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(neg) = [0], pi(greatereq_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 1x0 + 0, [neg](x0) = 1x0 + 0, [greatereq_int#](x0) = 0x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: {greatereq_int#(pos s x, pos s y) -> greatereq_int#(pos x, pos y)} Weak: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(pos) = [0], pi(greatereq_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 1x0 + 0, [pos](x0) = 1x0 + 0, [greatereq_int#](x0) = 0x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: {greater_int#(neg s x, neg s y) -> greater_int#(neg x, neg y)} Weak: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(neg) = [0], pi(greater_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 1x0 + 0, [neg](x0) = 1x0 + 0, [greater_int#](x0) = 0x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: {greater_int#(pos s x, pos s y) -> greater_int#(pos x, pos y)} Weak: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} UR: {} ARCTIC: Argument Filtering: pi(s) = [0], pi(pos) = [0], pi(greater_int#) = [1] Usable Rules: {} Interpretation: [s](x0) = 1x0 + 0, [pos](x0) = 1x0 + 0, [greater_int#](x0) = 0x0 + 0 Strict: {} Weak: {} Qed SCC: Strict: { msort# ins(x, ys) -> if_3#(min(x, ys), x, ys), if_3#(pair(m, zs), x, ys) -> msort# zs} Weak: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} UR: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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), a(z, w) -> z, a(z, w) -> w} POLY: Mode: weak, max_in=15, output_bits=10, dnum=4, ur=true Interpretation: [Cond_if_1](x0, x1, x2, x3, x4, x5) = 9 / 4x0 + 3x1 + 2x2 + 2, [Cond_if_2](x0, x1, x2, x3, x4, x5) = 2x0 + x1 + 3x2 + 2x3, [if_1](x0, x1, x2, x3) = 3x0 + 2x1 + 13 / 4, [if_2](x0, x1, x2, x3) = 3x0 + 2x1 + 3, [min](x0, x1) = 2x0 + 3x1 + 1 / 4, [ins](x0, x1) = 2x0 + 3x1 + 2, [greater_int](x0, x1) = 0, [pair](x0, x1) = x0 + x1, [greatereq_int](x0, x1) = x0 + 3 / 2, [a](x0, x1) = 0, [pos](x0) = 0, [neg](x0) = 1 / 4x0 + 7 / 4, [s](x0) = 2x0 + 1, [e] = 5 / 4, [true] = 1, [false] = 0, [0] = 7 / 2, [if_3#](x0, x1, x2) = 2x0 + 7 / 2, [msort#](x0) = 2x0 Strict: if_3#(pair(m, zs), x, ys) -> msort# zs 7/2 + 2zs + 0x + 2m + 0ys >= 0 + 2zs msort# ins(x, ys) -> if_3#(min(x, ys), x, ys) 4 + 4x + 6ys >= 4 + 4x + 6ys Weak: SCCS (0): Qed SCC: Strict: {min#(x, ins(y, zs)) -> min#(y, zs)} Weak: { if_1(pair(m, zh), x, y, zs) -> Cond_if_1(greater_int(m, x), m, zh, x, y, zs), min(x, ins(y, zs)) -> if_1(min(y, zs), x, y, zs), min(x, ins(y, zs)) -> if_2(min(y, zs), x, y, zs), min(x, e()) -> pair(x, e()), msort ins(x, ys) -> if_3(min(x, ys), x, ys), msort e() -> nil(), if_2(pair(m, zh), x, y, zs) -> Cond_if_2(greatereq_int(x, m), m, zh, x, y, zs), Cond_if_1(true(), m, zh, x, y, zs) -> pair(x, ins(m, 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_3(pair(m, zs), x, ys) -> cons(m, msort zs), Cond_if_2(true(), m, zh, x, y, zs) -> pair(m, ins(x, 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)} SPSC: Simple Projection: pi(min#) = 1 Strict: {} Qed