MAYBE

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x))
  , addLists(xs, ys, zs) ->
    if(isEmpty(xs),
       isEmpty(ys),
       isZero(head(xs)),
       tail(xs),
       tail(ys),
       cons(p(head(xs)), tail(xs)),
       cons(inc(head(ys)), tail(ys)),
       zs,
       append(zs, head(ys)))
  , if(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs2, ys2, zs)
  , if(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs, ys, zs2)
  , if(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> zs
  , addList(xs, ys) -> addLists(xs, ys, nil()) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We add following dependency tuples:

Strict DPs:
  { isEmpty^#(cons(x, xs)) -> c_1()
  , isEmpty^#(nil()) -> c_2()
  , isZero^#(0()) -> c_3()
  , isZero^#(s(x)) -> c_4()
  , head^#(cons(x, xs)) -> c_5()
  , tail^#(cons(x, xs)) -> c_6()
  , tail^#(nil()) -> c_7()
  , append^#(cons(y, ys), x) -> c_8(append^#(ys, x))
  , append^#(nil(), x) -> c_9()
  , p^#(0()) -> c_10()
  , p^#(s(0())) -> c_11()
  , p^#(s(s(x))) -> c_12(p^#(s(x)))
  , inc^#(0()) -> c_13()
  , inc^#(s(x)) -> c_14(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_15(if^#(isEmpty(xs),
              isEmpty(ys),
              isZero(head(xs)),
              tail(xs),
              tail(ys),
              cons(p(head(xs)), tail(xs)),
              cons(inc(head(ys)), tail(ys)),
              zs,
              append(zs, head(ys))),
         isEmpty^#(xs),
         isEmpty^#(ys),
         isZero^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         tail^#(ys),
         p^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         inc^#(head(ys)),
         head^#(ys),
         tail^#(ys),
         append^#(zs, head(ys)),
         head^#(ys))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_16(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_17(addLists^#(xs, ys, zs2))
  , if^#(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_18()
  , if^#(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) -> c_19()
  , if^#(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_20()
  , addList^#(xs, ys) -> c_21(addLists^#(xs, ys, nil())) }

and mark the set of starting terms.

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { isEmpty^#(cons(x, xs)) -> c_1()
  , isEmpty^#(nil()) -> c_2()
  , isZero^#(0()) -> c_3()
  , isZero^#(s(x)) -> c_4()
  , head^#(cons(x, xs)) -> c_5()
  , tail^#(cons(x, xs)) -> c_6()
  , tail^#(nil()) -> c_7()
  , append^#(cons(y, ys), x) -> c_8(append^#(ys, x))
  , append^#(nil(), x) -> c_9()
  , p^#(0()) -> c_10()
  , p^#(s(0())) -> c_11()
  , p^#(s(s(x))) -> c_12(p^#(s(x)))
  , inc^#(0()) -> c_13()
  , inc^#(s(x)) -> c_14(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_15(if^#(isEmpty(xs),
              isEmpty(ys),
              isZero(head(xs)),
              tail(xs),
              tail(ys),
              cons(p(head(xs)), tail(xs)),
              cons(inc(head(ys)), tail(ys)),
              zs,
              append(zs, head(ys))),
         isEmpty^#(xs),
         isEmpty^#(ys),
         isZero^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         tail^#(ys),
         p^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         inc^#(head(ys)),
         head^#(ys),
         tail^#(ys),
         append^#(zs, head(ys)),
         head^#(ys))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_16(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_17(addLists^#(xs, ys, zs2))
  , if^#(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_18()
  , if^#(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) -> c_19()
  , if^#(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_20()
  , addList^#(xs, ys) -> c_21(addLists^#(xs, ys, nil())) }
Weak Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x))
  , addLists(xs, ys, zs) ->
    if(isEmpty(xs),
       isEmpty(ys),
       isZero(head(xs)),
       tail(xs),
       tail(ys),
       cons(p(head(xs)), tail(xs)),
       cons(inc(head(ys)), tail(ys)),
       zs,
       append(zs, head(ys)))
  , if(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs2, ys2, zs)
  , if(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs, ys, zs2)
  , if(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> zs
  , addList(xs, ys) -> addLists(xs, ys, nil()) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We estimate the number of application of
{1,2,3,4,5,6,7,9,10,11,13,18,19,20} by applications of
Pre({1,2,3,4,5,6,7,9,10,11,13,18,19,20}) = {8,12,14,15}. Here rules
are labeled as follows:

  DPs:
    { 1: isEmpty^#(cons(x, xs)) -> c_1()
    , 2: isEmpty^#(nil()) -> c_2()
    , 3: isZero^#(0()) -> c_3()
    , 4: isZero^#(s(x)) -> c_4()
    , 5: head^#(cons(x, xs)) -> c_5()
    , 6: tail^#(cons(x, xs)) -> c_6()
    , 7: tail^#(nil()) -> c_7()
    , 8: append^#(cons(y, ys), x) -> c_8(append^#(ys, x))
    , 9: append^#(nil(), x) -> c_9()
    , 10: p^#(0()) -> c_10()
    , 11: p^#(s(0())) -> c_11()
    , 12: p^#(s(s(x))) -> c_12(p^#(s(x)))
    , 13: inc^#(0()) -> c_13()
    , 14: inc^#(s(x)) -> c_14(inc^#(x))
    , 15: addLists^#(xs, ys, zs) ->
          c_15(if^#(isEmpty(xs),
                    isEmpty(ys),
                    isZero(head(xs)),
                    tail(xs),
                    tail(ys),
                    cons(p(head(xs)), tail(xs)),
                    cons(inc(head(ys)), tail(ys)),
                    zs,
                    append(zs, head(ys))),
               isEmpty^#(xs),
               isEmpty^#(ys),
               isZero^#(head(xs)),
               head^#(xs),
               tail^#(xs),
               tail^#(ys),
               p^#(head(xs)),
               head^#(xs),
               tail^#(xs),
               inc^#(head(ys)),
               head^#(ys),
               tail^#(ys),
               append^#(zs, head(ys)),
               head^#(ys))
    , 16: if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
          c_16(addLists^#(xs2, ys2, zs))
    , 17: if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
          c_17(addLists^#(xs, ys, zs2))
    , 18: if^#(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_18()
    , 19: if^#(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) -> c_19()
    , 20: if^#(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_20()
    , 21: addList^#(xs, ys) -> c_21(addLists^#(xs, ys, nil())) }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { append^#(cons(y, ys), x) -> c_8(append^#(ys, x))
  , p^#(s(s(x))) -> c_12(p^#(s(x)))
  , inc^#(s(x)) -> c_14(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_15(if^#(isEmpty(xs),
              isEmpty(ys),
              isZero(head(xs)),
              tail(xs),
              tail(ys),
              cons(p(head(xs)), tail(xs)),
              cons(inc(head(ys)), tail(ys)),
              zs,
              append(zs, head(ys))),
         isEmpty^#(xs),
         isEmpty^#(ys),
         isZero^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         tail^#(ys),
         p^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         inc^#(head(ys)),
         head^#(ys),
         tail^#(ys),
         append^#(zs, head(ys)),
         head^#(ys))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_16(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_17(addLists^#(xs, ys, zs2))
  , addList^#(xs, ys) -> c_21(addLists^#(xs, ys, nil())) }
Weak DPs:
  { isEmpty^#(cons(x, xs)) -> c_1()
  , isEmpty^#(nil()) -> c_2()
  , isZero^#(0()) -> c_3()
  , isZero^#(s(x)) -> c_4()
  , head^#(cons(x, xs)) -> c_5()
  , tail^#(cons(x, xs)) -> c_6()
  , tail^#(nil()) -> c_7()
  , append^#(nil(), x) -> c_9()
  , p^#(0()) -> c_10()
  , p^#(s(0())) -> c_11()
  , inc^#(0()) -> c_13()
  , if^#(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_18()
  , if^#(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) -> c_19()
  , if^#(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_20() }
Weak Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x))
  , addLists(xs, ys, zs) ->
    if(isEmpty(xs),
       isEmpty(ys),
       isZero(head(xs)),
       tail(xs),
       tail(ys),
       cons(p(head(xs)), tail(xs)),
       cons(inc(head(ys)), tail(ys)),
       zs,
       append(zs, head(ys)))
  , if(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs2, ys2, zs)
  , if(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs, ys, zs2)
  , if(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> zs
  , addList(xs, ys) -> addLists(xs, ys, nil()) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The following weak DPs constitute a sub-graph of the DG that is
closed under successors. The DPs are removed.

{ isEmpty^#(cons(x, xs)) -> c_1()
, isEmpty^#(nil()) -> c_2()
, isZero^#(0()) -> c_3()
, isZero^#(s(x)) -> c_4()
, head^#(cons(x, xs)) -> c_5()
, tail^#(cons(x, xs)) -> c_6()
, tail^#(nil()) -> c_7()
, append^#(nil(), x) -> c_9()
, p^#(0()) -> c_10()
, p^#(s(0())) -> c_11()
, inc^#(0()) -> c_13()
, if^#(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_18()
, if^#(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) -> c_19()
, if^#(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> c_20() }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { append^#(cons(y, ys), x) -> c_8(append^#(ys, x))
  , p^#(s(s(x))) -> c_12(p^#(s(x)))
  , inc^#(s(x)) -> c_14(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_15(if^#(isEmpty(xs),
              isEmpty(ys),
              isZero(head(xs)),
              tail(xs),
              tail(ys),
              cons(p(head(xs)), tail(xs)),
              cons(inc(head(ys)), tail(ys)),
              zs,
              append(zs, head(ys))),
         isEmpty^#(xs),
         isEmpty^#(ys),
         isZero^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         tail^#(ys),
         p^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         inc^#(head(ys)),
         head^#(ys),
         tail^#(ys),
         append^#(zs, head(ys)),
         head^#(ys))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_16(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_17(addLists^#(xs, ys, zs2))
  , addList^#(xs, ys) -> c_21(addLists^#(xs, ys, nil())) }
Weak Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x))
  , addLists(xs, ys, zs) ->
    if(isEmpty(xs),
       isEmpty(ys),
       isZero(head(xs)),
       tail(xs),
       tail(ys),
       cons(p(head(xs)), tail(xs)),
       cons(inc(head(ys)), tail(ys)),
       zs,
       append(zs, head(ys)))
  , if(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs2, ys2, zs)
  , if(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs, ys, zs2)
  , if(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> zs
  , addList(xs, ys) -> addLists(xs, ys, nil()) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

Due to missing edges in the dependency-graph, the right-hand sides
of following rules could be simplified:

  { addLists^#(xs, ys, zs) ->
    c_15(if^#(isEmpty(xs),
              isEmpty(ys),
              isZero(head(xs)),
              tail(xs),
              tail(ys),
              cons(p(head(xs)), tail(xs)),
              cons(inc(head(ys)), tail(ys)),
              zs,
              append(zs, head(ys))),
         isEmpty^#(xs),
         isEmpty^#(ys),
         isZero^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         tail^#(ys),
         p^#(head(xs)),
         head^#(xs),
         tail^#(xs),
         inc^#(head(ys)),
         head^#(ys),
         tail^#(ys),
         append^#(zs, head(ys)),
         head^#(ys)) }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { append^#(cons(y, ys), x) -> c_1(append^#(ys, x))
  , p^#(s(s(x))) -> c_2(p^#(s(x)))
  , inc^#(s(x)) -> c_3(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_4(if^#(isEmpty(xs),
             isEmpty(ys),
             isZero(head(xs)),
             tail(xs),
             tail(ys),
             cons(p(head(xs)), tail(xs)),
             cons(inc(head(ys)), tail(ys)),
             zs,
             append(zs, head(ys))),
        p^#(head(xs)),
        inc^#(head(ys)),
        append^#(zs, head(ys)))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_5(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_6(addLists^#(xs, ys, zs2))
  , addList^#(xs, ys) -> c_7(addLists^#(xs, ys, nil())) }
Weak Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x))
  , addLists(xs, ys, zs) ->
    if(isEmpty(xs),
       isEmpty(ys),
       isZero(head(xs)),
       tail(xs),
       tail(ys),
       cons(p(head(xs)), tail(xs)),
       cons(inc(head(ys)), tail(ys)),
       zs,
       append(zs, head(ys)))
  , if(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs2, ys2, zs)
  , if(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    addLists(xs, ys, zs2)
  , if(false(), true(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), false(), b, xs, ys, xs2, ys2, zs, zs2) ->
    differentLengthError()
  , if(true(), true(), b, xs, ys, xs2, ys2, zs, zs2) -> zs
  , addList(xs, ys) -> addLists(xs, ys, nil()) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

We replace rewrite rules by usable rules:

  Weak Usable Rules:
    { isEmpty(cons(x, xs)) -> false()
    , isEmpty(nil()) -> true()
    , isZero(0()) -> true()
    , isZero(s(x)) -> false()
    , head(cons(x, xs)) -> x
    , tail(cons(x, xs)) -> xs
    , tail(nil()) -> nil()
    , append(cons(y, ys), x) -> cons(y, append(ys, x))
    , append(nil(), x) -> cons(x, nil())
    , p(0()) -> 0()
    , p(s(0())) -> 0()
    , p(s(s(x))) -> s(p(s(x)))
    , inc(0()) -> s(0())
    , inc(s(x)) -> s(inc(x)) }

We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { append^#(cons(y, ys), x) -> c_1(append^#(ys, x))
  , p^#(s(s(x))) -> c_2(p^#(s(x)))
  , inc^#(s(x)) -> c_3(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_4(if^#(isEmpty(xs),
             isEmpty(ys),
             isZero(head(xs)),
             tail(xs),
             tail(ys),
             cons(p(head(xs)), tail(xs)),
             cons(inc(head(ys)), tail(ys)),
             zs,
             append(zs, head(ys))),
        p^#(head(xs)),
        inc^#(head(ys)),
        append^#(zs, head(ys)))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_5(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_6(addLists^#(xs, ys, zs2))
  , addList^#(xs, ys) -> c_7(addLists^#(xs, ys, nil())) }
Weak Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

Consider the dependency graph

  1: append^#(cons(y, ys), x) -> c_1(append^#(ys, x))
     -->_1 append^#(cons(y, ys), x) -> c_1(append^#(ys, x)) :1
  
  2: p^#(s(s(x))) -> c_2(p^#(s(x)))
     -->_1 p^#(s(s(x))) -> c_2(p^#(s(x))) :2
  
  3: inc^#(s(x)) -> c_3(inc^#(x))
     -->_1 inc^#(s(x)) -> c_3(inc^#(x)) :3
  
  4: addLists^#(xs, ys, zs) ->
     c_4(if^#(isEmpty(xs),
              isEmpty(ys),
              isZero(head(xs)),
              tail(xs),
              tail(ys),
              cons(p(head(xs)), tail(xs)),
              cons(inc(head(ys)), tail(ys)),
              zs,
              append(zs, head(ys))),
         p^#(head(xs)),
         inc^#(head(ys)),
         append^#(zs, head(ys)))
     -->_1 if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
           c_6(addLists^#(xs, ys, zs2)) :6
     -->_1 if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
           c_5(addLists^#(xs2, ys2, zs)) :5
     -->_3 inc^#(s(x)) -> c_3(inc^#(x)) :3
     -->_2 p^#(s(s(x))) -> c_2(p^#(s(x))) :2
     -->_4 append^#(cons(y, ys), x) -> c_1(append^#(ys, x)) :1
  
  5: if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
     c_5(addLists^#(xs2, ys2, zs))
     -->_1 addLists^#(xs, ys, zs) ->
           c_4(if^#(isEmpty(xs),
                    isEmpty(ys),
                    isZero(head(xs)),
                    tail(xs),
                    tail(ys),
                    cons(p(head(xs)), tail(xs)),
                    cons(inc(head(ys)), tail(ys)),
                    zs,
                    append(zs, head(ys))),
               p^#(head(xs)),
               inc^#(head(ys)),
               append^#(zs, head(ys))) :4
  
  6: if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
     c_6(addLists^#(xs, ys, zs2))
     -->_1 addLists^#(xs, ys, zs) ->
           c_4(if^#(isEmpty(xs),
                    isEmpty(ys),
                    isZero(head(xs)),
                    tail(xs),
                    tail(ys),
                    cons(p(head(xs)), tail(xs)),
                    cons(inc(head(ys)), tail(ys)),
                    zs,
                    append(zs, head(ys))),
               p^#(head(xs)),
               inc^#(head(ys)),
               append^#(zs, head(ys))) :4
  
  7: addList^#(xs, ys) -> c_7(addLists^#(xs, ys, nil()))
     -->_1 addLists^#(xs, ys, zs) ->
           c_4(if^#(isEmpty(xs),
                    isEmpty(ys),
                    isZero(head(xs)),
                    tail(xs),
                    tail(ys),
                    cons(p(head(xs)), tail(xs)),
                    cons(inc(head(ys)), tail(ys)),
                    zs,
                    append(zs, head(ys))),
               p^#(head(xs)),
               inc^#(head(ys)),
               append^#(zs, head(ys))) :4
  

Following roots of the dependency graph are removed, as the
considered set of starting terms is closed under reduction with
respect to these rules (modulo compound contexts).

  { addList^#(xs, ys) -> c_7(addLists^#(xs, ys, nil())) }


We are left with following problem, upon which TcT provides the
certificate MAYBE.

Strict DPs:
  { append^#(cons(y, ys), x) -> c_1(append^#(ys, x))
  , p^#(s(s(x))) -> c_2(p^#(s(x)))
  , inc^#(s(x)) -> c_3(inc^#(x))
  , addLists^#(xs, ys, zs) ->
    c_4(if^#(isEmpty(xs),
             isEmpty(ys),
             isZero(head(xs)),
             tail(xs),
             tail(ys),
             cons(p(head(xs)), tail(xs)),
             cons(inc(head(ys)), tail(ys)),
             zs,
             append(zs, head(ys))),
        p^#(head(xs)),
        inc^#(head(ys)),
        append^#(zs, head(ys)))
  , if^#(false(), false(), false(), xs, ys, xs2, ys2, zs, zs2) ->
    c_5(addLists^#(xs2, ys2, zs))
  , if^#(false(), false(), true(), xs, ys, xs2, ys2, zs, zs2) ->
    c_6(addLists^#(xs, ys, zs2)) }
Weak Trs:
  { isEmpty(cons(x, xs)) -> false()
  , isEmpty(nil()) -> true()
  , isZero(0()) -> true()
  , isZero(s(x)) -> false()
  , head(cons(x, xs)) -> x
  , tail(cons(x, xs)) -> xs
  , tail(nil()) -> nil()
  , append(cons(y, ys), x) -> cons(y, append(ys, x))
  , append(nil(), x) -> cons(x, nil())
  , p(0()) -> 0()
  , p(s(0())) -> 0()
  , p(s(s(x))) -> s(p(s(x)))
  , inc(0()) -> s(0())
  , inc(s(x)) -> s(inc(x)) }
Obligation:
  innermost runtime complexity
Answer:
  MAYBE

The input cannot be shown compatible

Arrrr..