MAYBE Time: 0.003074 TRS: { plus(0(), y) -> y, plus(s x, y) -> s plus(x, y), lt(x, 0()) -> false(), lt(0(), s y) -> true(), lt(s x, s y) -> lt(x, y), fibiter(b, c, x, y) -> if(lt(c, b), b, c, x, y), fib x -> fibiter(x, 0(), 0(), s 0()), if(true(), b, c, x, y) -> fibiter(b, s c, y, plus(x, y)), if(false(), b, c, x, y) -> x} DP: DP: { plus#(s x, y) -> plus#(x, y), lt#(s x, s y) -> lt#(x, y), fibiter#(b, c, x, y) -> lt#(c, b), fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y), fib# x -> fibiter#(x, 0(), 0(), s 0()), if#(true(), b, c, x, y) -> plus#(x, y), if#(true(), b, c, x, y) -> fibiter#(b, s c, y, plus(x, y))} TRS: { plus(0(), y) -> y, plus(s x, y) -> s plus(x, y), lt(x, 0()) -> false(), lt(0(), s y) -> true(), lt(s x, s y) -> lt(x, y), fibiter(b, c, x, y) -> if(lt(c, b), b, c, x, y), fib x -> fibiter(x, 0(), 0(), s 0()), if(true(), b, c, x, y) -> fibiter(b, s c, y, plus(x, y)), if(false(), b, c, x, y) -> x} EDG: {(plus#(s x, y) -> plus#(x, y), plus#(s x, y) -> plus#(x, y)) (if#(true(), b, c, x, y) -> plus#(x, y), plus#(s x, y) -> plus#(x, y)) (fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y), if#(true(), b, c, x, y) -> fibiter#(b, s c, y, plus(x, y))) (fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y), if#(true(), b, c, x, y) -> plus#(x, y)) (fibiter#(b, c, x, y) -> lt#(c, b), lt#(s x, s y) -> lt#(x, y)) (if#(true(), b, c, x, y) -> fibiter#(b, s c, y, plus(x, y)), fibiter#(b, c, x, y) -> lt#(c, b)) (if#(true(), b, c, x, y) -> fibiter#(b, s c, y, plus(x, y)), fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y)) (lt#(s x, s y) -> lt#(x, y), lt#(s x, s y) -> lt#(x, y)) (fib# x -> fibiter#(x, 0(), 0(), s 0()), fibiter#(b, c, x, y) -> lt#(c, b)) (fib# x -> fibiter#(x, 0(), 0(), s 0()), fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y))} STATUS: arrows: 0.795918 SCCS (3): Scc: { fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y), if#(true(), b, c, x, y) -> fibiter#(b, s c, y, plus(x, y))} Scc: {plus#(s x, y) -> plus#(x, y)} Scc: {lt#(s x, s y) -> lt#(x, y)} SCC (2): Strict: { fibiter#(b, c, x, y) -> if#(lt(c, b), b, c, x, y), if#(true(), b, c, x, y) -> fibiter#(b, s c, y, plus(x, y))} Weak: { plus(0(), y) -> y, plus(s x, y) -> s plus(x, y), lt(x, 0()) -> false(), lt(0(), s y) -> true(), lt(s x, s y) -> lt(x, y), fibiter(b, c, x, y) -> if(lt(c, b), b, c, x, y), fib x -> fibiter(x, 0(), 0(), s 0()), if(true(), b, c, x, y) -> fibiter(b, s c, y, plus(x, y)), if(false(), b, c, x, y) -> x} Open SCC (1): Strict: {plus#(s x, y) -> plus#(x, y)} Weak: { plus(0(), y) -> y, plus(s x, y) -> s plus(x, y), lt(x, 0()) -> false(), lt(0(), s y) -> true(), lt(s x, s y) -> lt(x, y), fibiter(b, c, x, y) -> if(lt(c, b), b, c, x, y), fib x -> fibiter(x, 0(), 0(), s 0()), if(true(), b, c, x, y) -> fibiter(b, s c, y, plus(x, y)), if(false(), b, c, x, y) -> x} Open SCC (1): Strict: {lt#(s x, s y) -> lt#(x, y)} Weak: { plus(0(), y) -> y, plus(s x, y) -> s plus(x, y), lt(x, 0()) -> false(), lt(0(), s y) -> true(), lt(s x, s y) -> lt(x, y), fibiter(b, c, x, y) -> if(lt(c, b), b, c, x, y), fib x -> fibiter(x, 0(), 0(), s 0()), if(true(), b, c, x, y) -> fibiter(b, s c, y, plus(x, y)), if(false(), b, c, x, y) -> x} Open