YES TRS: { qsort(nil()) -> nil(), qsort(.(x, y)) -> ++(qsort(lowers(x, y)), .(x, qsort(greaters(x, y)))), lowers(x, nil()) -> nil(), lowers(x, .(y, z)) -> if(<=(y, x), .(y, lowers(x, z)), lowers(x, z)), greaters(x, nil()) -> nil(), greaters(x, .(y, z)) -> if(<=(y, x), greaters(x, z), .(y, greaters(x, z)))} DP: Strict: { qsort#(.(x, y)) -> qsort#(lowers(x, y)), qsort#(.(x, y)) -> qsort#(greaters(x, y)), qsort#(.(x, y)) -> lowers#(x, y), qsort#(.(x, y)) -> greaters#(x, y), lowers#(x, .(y, z)) -> lowers#(x, z), greaters#(x, .(y, z)) -> greaters#(x, z)} Weak: { qsort(nil()) -> nil(), qsort(.(x, y)) -> ++(qsort(lowers(x, y)), .(x, qsort(greaters(x, y)))), lowers(x, nil()) -> nil(), lowers(x, .(y, z)) -> if(<=(y, x), .(y, lowers(x, z)), lowers(x, z)), greaters(x, nil()) -> nil(), greaters(x, .(y, z)) -> if(<=(y, x), greaters(x, z), .(y, greaters(x, z)))} EDG: {(greaters#(x, .(y, z)) -> greaters#(x, z), greaters#(x, .(y, z)) -> greaters#(x, z)) (qsort#(.(x, y)) -> greaters#(x, y), greaters#(x, .(y, z)) -> greaters#(x, z)) (qsort#(.(x, y)) -> lowers#(x, y), lowers#(x, .(y, z)) -> lowers#(x, z)) (lowers#(x, .(y, z)) -> lowers#(x, z), lowers#(x, .(y, z)) -> lowers#(x, z))} SCCS: Scc: {greaters#(x, .(y, z)) -> greaters#(x, z)} Scc: {lowers#(x, .(y, z)) -> lowers#(x, z)} SCC: Strict: {greaters#(x, .(y, z)) -> greaters#(x, z)} Weak: { qsort(nil()) -> nil(), qsort(.(x, y)) -> ++(qsort(lowers(x, y)), .(x, qsort(greaters(x, y)))), lowers(x, nil()) -> nil(), lowers(x, .(y, z)) -> if(<=(y, x), .(y, lowers(x, z)), lowers(x, z)), greaters(x, nil()) -> nil(), greaters(x, .(y, z)) -> if(<=(y, x), greaters(x, z), .(y, greaters(x, z)))} SPSC: Simple Projection: pi(greaters#) = 1 Strict: {} Qed SCC: Strict: {lowers#(x, .(y, z)) -> lowers#(x, z)} Weak: { qsort(nil()) -> nil(), qsort(.(x, y)) -> ++(qsort(lowers(x, y)), .(x, qsort(greaters(x, y)))), lowers(x, nil()) -> nil(), lowers(x, .(y, z)) -> if(<=(y, x), .(y, lowers(x, z)), lowers(x, z)), greaters(x, nil()) -> nil(), greaters(x, .(y, z)) -> if(<=(y, x), greaters(x, z), .(y, greaters(x, z)))} SPSC: Simple Projection: pi(lowers#) = 1 Strict: {} Qed