* Step 1: Sum WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            goal(xs) -> mergesort(xs)
            merge(Cons(x,xs),Nil()) -> Cons(x,xs)
            merge(Cons(x',xs'),Cons(x,xs)) -> merge[Ite](<=(x',x),Cons(x',xs'),Cons(x,xs))
            merge(Nil(),xs2) -> xs2
            mergesort(Cons(x,Nil())) -> Cons(x,Nil())
            mergesort(Cons(x',Cons(x,xs))) -> splitmerge(Cons(x',Cons(x,xs)),Nil(),Nil())
            mergesort(Nil()) -> Nil()
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            splitmerge(Cons(x,xs),xs1,xs2) -> splitmerge(xs,Cons(x,xs2),xs1)
            splitmerge(Nil(),xs1,xs2) -> merge(mergesort(xs1),mergesort(xs2))
        - Weak TRS:
            <=(0(),y) -> True()
            <=(S(x),0()) -> False()
            <=(S(x),S(y)) -> <=(x,y)
            merge[Ite](False(),xs1,Cons(x,xs)) -> Cons(x,merge(xs1,xs))
            merge[Ite](True(),Cons(x,xs),xs2) -> Cons(x,merge(xs,xs2))
        - Signature:
            {<=/2,goal/1,merge/2,merge[Ite]/3,mergesort/1,notEmpty/1,splitmerge/3} / {0/0,Cons/2,False/0,Nil/0,S/1
            ,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {<=,goal,merge,merge[Ite],mergesort,notEmpty
            ,splitmerge} and constructors {0,Cons,False,Nil,S,True}
    + Applied Processor:
        Sum {left = someStrategy, right = someStrategy}
    + Details:
        ()
* Step 2: DecreasingLoops WORST_CASE(Omega(n^1),?)
    + Considered Problem:
        - Strict TRS:
            goal(xs) -> mergesort(xs)
            merge(Cons(x,xs),Nil()) -> Cons(x,xs)
            merge(Cons(x',xs'),Cons(x,xs)) -> merge[Ite](<=(x',x),Cons(x',xs'),Cons(x,xs))
            merge(Nil(),xs2) -> xs2
            mergesort(Cons(x,Nil())) -> Cons(x,Nil())
            mergesort(Cons(x',Cons(x,xs))) -> splitmerge(Cons(x',Cons(x,xs)),Nil(),Nil())
            mergesort(Nil()) -> Nil()
            notEmpty(Cons(x,xs)) -> True()
            notEmpty(Nil()) -> False()
            splitmerge(Cons(x,xs),xs1,xs2) -> splitmerge(xs,Cons(x,xs2),xs1)
            splitmerge(Nil(),xs1,xs2) -> merge(mergesort(xs1),mergesort(xs2))
        - Weak TRS:
            <=(0(),y) -> True()
            <=(S(x),0()) -> False()
            <=(S(x),S(y)) -> <=(x,y)
            merge[Ite](False(),xs1,Cons(x,xs)) -> Cons(x,merge(xs1,xs))
            merge[Ite](True(),Cons(x,xs),xs2) -> Cons(x,merge(xs,xs2))
        - Signature:
            {<=/2,goal/1,merge/2,merge[Ite]/3,mergesort/1,notEmpty/1,splitmerge/3} / {0/0,Cons/2,False/0,Nil/0,S/1
            ,True/0}
        - Obligation:
            innermost runtime complexity wrt. defined symbols {<=,goal,merge,merge[Ite],mergesort,notEmpty
            ,splitmerge} and constructors {0,Cons,False,Nil,S,True}
    + Applied Processor:
        DecreasingLoops {bound = AnyLoop, narrow = 10}
    + Details:
        The system has following decreasing Loops:
          splitmerge(y,z,u){y -> Cons(x,y)} =
            splitmerge(Cons(x,y),z,u) ->^+ splitmerge(y,Cons(x,u),z)
              = C[splitmerge(y,Cons(x,u),z) = splitmerge(y,z,u){z -> Cons(x,u),u -> z}]

WORST_CASE(Omega(n^1),?)