Tool CaT
stdout:
MAYBE
Problem:
inc(s(x)) -> s(inc(x))
inc(0()) -> s(0())
plus(x,y) -> ifPlus(eq(x,0()),minus(x,s(0())),x,inc(x))
ifPlus(false(),x,y,z) -> plus(x,z)
ifPlus(true(),x,y,z) -> y
minus(s(x),s(y)) -> minus(x,y)
minus(0(),x) -> 0()
minus(x,0()) -> x
minus(x,x) -> 0()
eq(s(x),s(y)) -> eq(x,y)
eq(0(),s(x)) -> false()
eq(s(x),0()) -> false()
eq(0(),0()) -> true()
eq(x,x) -> true()
times(x,y) -> timesIter(x,y,0())
timesIter(x,y,z) -> ifTimes(eq(x,0()),minus(x,s(0())),y,z,plus(y,z))
ifTimes(true(),x,y,z,u) -> z
ifTimes(false(),x,y,z,u) -> timesIter(x,y,u)
f() -> g()
f() -> h()
Proof:
OpenTool IRC1
stdout:
MAYBE
Tool IRC2
stdout:
TIMEOUT
'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer: TIMEOUT
Input Problem: innermost runtime-complexity with respect to
Rules:
{ inc(s(x)) -> s(inc(x))
, inc(0()) -> s(0())
, plus(x, y) -> ifPlus(eq(x, 0()), minus(x, s(0())), x, inc(x))
, ifPlus(false(), x, y, z) -> plus(x, z)
, ifPlus(true(), x, y, z) -> y
, minus(s(x), s(y)) -> minus(x, y)
, minus(0(), x) -> 0()
, minus(x, 0()) -> x
, minus(x, x) -> 0()
, eq(s(x), s(y)) -> eq(x, y)
, eq(0(), s(x)) -> false()
, eq(s(x), 0()) -> false()
, eq(0(), 0()) -> true()
, eq(x, x) -> true()
, times(x, y) -> timesIter(x, y, 0())
, timesIter(x, y, z) ->
ifTimes(eq(x, 0()), minus(x, s(0())), y, z, plus(y, z))
, ifTimes(true(), x, y, z, u) -> z
, ifTimes(false(), x, y, z, u) -> timesIter(x, y, u)
, f() -> g()
, f() -> h()}
Proof Output:
Computation stopped due to timeout after 60.0 secondsTool RC1
stdout:
MAYBE
Tool RC2
stdout:
TIMEOUT
'Fastest (timeout of 60.0 seconds)'
-----------------------------------
Answer: TIMEOUT
Input Problem: runtime-complexity with respect to
Rules:
{ inc(s(x)) -> s(inc(x))
, inc(0()) -> s(0())
, plus(x, y) -> ifPlus(eq(x, 0()), minus(x, s(0())), x, inc(x))
, ifPlus(false(), x, y, z) -> plus(x, z)
, ifPlus(true(), x, y, z) -> y
, minus(s(x), s(y)) -> minus(x, y)
, minus(0(), x) -> 0()
, minus(x, 0()) -> x
, minus(x, x) -> 0()
, eq(s(x), s(y)) -> eq(x, y)
, eq(0(), s(x)) -> false()
, eq(s(x), 0()) -> false()
, eq(0(), 0()) -> true()
, eq(x, x) -> true()
, times(x, y) -> timesIter(x, y, 0())
, timesIter(x, y, z) ->
ifTimes(eq(x, 0()), minus(x, s(0())), y, z, plus(y, z))
, ifTimes(true(), x, y, z, u) -> z
, ifTimes(false(), x, y, z, u) -> timesIter(x, y, u)
, f() -> g()
, f() -> h()}
Proof Output:
Computation stopped due to timeout after 60.0 seconds