MAYBE Time: 0.006939 TRS: { gen x -> if1(le(x, 10()), x), table() -> gen s 0(), if1(false(), x) -> nil(), if1(true(), x) -> if2(x, x), le(s x, s y) -> le(x, y), le(s x, 0()) -> false(), le(0(), y) -> true(), 10() -> s s s s s s s s s s 0(), if2(x, y) -> if3(le(y, 10()), x, y), if3(false(), x, y) -> gen s x, if3(true(), x, y) -> cons(entry(x, y, times(x, y)), if2(x, s y)), times(s x, y) -> plus(y, times(x, y)), times(0(), y) -> 0(), plus(s x, y) -> s plus(x, y), plus(0(), y) -> y} DP: DP: { gen# x -> if1#(le(x, 10()), x), gen# x -> le#(x, 10()), gen# x -> 10#(), table#() -> gen# s 0(), if1#(true(), x) -> if2#(x, x), le#(s x, s y) -> le#(x, y), if2#(x, y) -> le#(y, 10()), if2#(x, y) -> 10#(), if2#(x, y) -> if3#(le(y, 10()), x, y), if3#(false(), x, y) -> gen# s x, if3#(true(), x, y) -> if2#(x, s y), if3#(true(), x, y) -> times#(x, y), times#(s x, y) -> times#(x, y), times#(s x, y) -> plus#(y, times(x, y)), plus#(s x, y) -> plus#(x, y)} TRS: { gen x -> if1(le(x, 10()), x), table() -> gen s 0(), if1(false(), x) -> nil(), if1(true(), x) -> if2(x, x), le(s x, s y) -> le(x, y), le(s x, 0()) -> false(), le(0(), y) -> true(), 10() -> s s s s s s s s s s 0(), if2(x, y) -> if3(le(y, 10()), x, y), if3(false(), x, y) -> gen s x, if3(true(), x, y) -> cons(entry(x, y, times(x, y)), if2(x, s y)), times(s x, y) -> plus(y, times(x, y)), times(0(), y) -> 0(), plus(s x, y) -> s plus(x, y), plus(0(), y) -> y} EDG: {(gen# x -> if1#(le(x, 10()), x), if1#(true(), x) -> if2#(x, x)) (table#() -> gen# s 0(), gen# x -> 10#()) (table#() -> gen# s 0(), gen# x -> le#(x, 10())) (table#() -> gen# s 0(), gen# x -> if1#(le(x, 10()), x)) (if3#(false(), x, y) -> gen# s x, gen# x -> 10#()) (if3#(false(), x, y) -> gen# s x, gen# x -> le#(x, 10())) (if3#(false(), x, y) -> gen# s x, gen# x -> if1#(le(x, 10()), x)) (if3#(true(), x, y) -> times#(x, y), times#(s x, y) -> plus#(y, times(x, y))) (if3#(true(), x, y) -> times#(x, y), times#(s x, y) -> times#(x, y)) (plus#(s x, y) -> plus#(x, y), plus#(s x, y) -> plus#(x, y)) (gen# x -> le#(x, 10()), le#(s x, s y) -> le#(x, y)) (if2#(x, y) -> le#(y, 10()), le#(s x, s y) -> le#(x, y)) (if1#(true(), x) -> if2#(x, x), if2#(x, y) -> le#(y, 10())) (if1#(true(), x) -> if2#(x, x), if2#(x, y) -> 10#()) (if1#(true(), x) -> if2#(x, x), if2#(x, y) -> if3#(le(y, 10()), x, y)) (times#(s x, y) -> times#(x, y), times#(s x, y) -> times#(x, y)) (times#(s x, y) -> times#(x, y), times#(s x, y) -> plus#(y, times(x, y))) (le#(s x, s y) -> le#(x, y), le#(s x, s y) -> le#(x, y)) (if2#(x, y) -> if3#(le(y, 10()), x, y), if3#(false(), x, y) -> gen# s x) (if2#(x, y) -> if3#(le(y, 10()), x, y), if3#(true(), x, y) -> if2#(x, s y)) (if2#(x, y) -> if3#(le(y, 10()), x, y), if3#(true(), x, y) -> times#(x, y)) (if3#(true(), x, y) -> if2#(x, s y), if2#(x, y) -> le#(y, 10())) (if3#(true(), x, y) -> if2#(x, s y), if2#(x, y) -> 10#()) (if3#(true(), x, y) -> if2#(x, s y), if2#(x, y) -> if3#(le(y, 10()), x, y)) (times#(s x, y) -> plus#(y, times(x, y)), plus#(s x, y) -> plus#(x, y))} STATUS: arrows: 0.888889 SCCS (4): Scc: { gen# x -> if1#(le(x, 10()), x), if1#(true(), x) -> if2#(x, x), if2#(x, y) -> if3#(le(y, 10()), x, y), if3#(false(), x, y) -> gen# s x, if3#(true(), x, y) -> if2#(x, s y)} Scc: {times#(s x, y) -> times#(x, y)} Scc: {le#(s x, s y) -> le#(x, y)} Scc: {plus#(s x, y) -> plus#(x, y)} SCC (5): Strict: { gen# x -> if1#(le(x, 10()), x), if1#(true(), x) -> if2#(x, x), if2#(x, y) -> if3#(le(y, 10()), x, y), if3#(false(), x, y) -> gen# s x, if3#(true(), x, y) -> if2#(x, s y)} Weak: { gen x -> if1(le(x, 10()), x), table() -> gen s 0(), if1(false(), x) -> nil(), if1(true(), x) -> if2(x, x), le(s x, s y) -> le(x, y), le(s x, 0()) -> false(), le(0(), y) -> true(), 10() -> s s s s s s s s s s 0(), if2(x, y) -> if3(le(y, 10()), x, y), if3(false(), x, y) -> gen s x, if3(true(), x, y) -> cons(entry(x, y, times(x, y)), if2(x, s y)), times(s x, y) -> plus(y, times(x, y)), times(0(), y) -> 0(), plus(s x, y) -> s plus(x, y), plus(0(), y) -> y} Open SCC (1): Strict: {times#(s x, y) -> times#(x, y)} Weak: { gen x -> if1(le(x, 10()), x), table() -> gen s 0(), if1(false(), x) -> nil(), if1(true(), x) -> if2(x, x), le(s x, s y) -> le(x, y), le(s x, 0()) -> false(), le(0(), y) -> true(), 10() -> s s s s s s s s s s 0(), if2(x, y) -> if3(le(y, 10()), x, y), if3(false(), x, y) -> gen s x, if3(true(), x, y) -> cons(entry(x, y, times(x, y)), if2(x, s y)), times(s x, y) -> plus(y, times(x, y)), times(0(), y) -> 0(), plus(s x, y) -> s plus(x, y), plus(0(), y) -> y} Open SCC (1): Strict: {le#(s x, s y) -> le#(x, y)} Weak: { gen x -> if1(le(x, 10()), x), table() -> gen s 0(), if1(false(), x) -> nil(), if1(true(), x) -> if2(x, x), le(s x, s y) -> le(x, y), le(s x, 0()) -> false(), le(0(), y) -> true(), 10() -> s s s s s s s s s s 0(), if2(x, y) -> if3(le(y, 10()), x, y), if3(false(), x, y) -> gen s x, if3(true(), x, y) -> cons(entry(x, y, times(x, y)), if2(x, s y)), times(s x, y) -> plus(y, times(x, y)), times(0(), y) -> 0(), plus(s x, y) -> s plus(x, y), plus(0(), y) -> y} Open SCC (1): Strict: {plus#(s x, y) -> plus#(x, y)} Weak: { gen x -> if1(le(x, 10()), x), table() -> gen s 0(), if1(false(), x) -> nil(), if1(true(), x) -> if2(x, x), le(s x, s y) -> le(x, y), le(s x, 0()) -> false(), le(0(), y) -> true(), 10() -> s s s s s s s s s s 0(), if2(x, y) -> if3(le(y, 10()), x, y), if3(false(), x, y) -> gen s x, if3(true(), x, y) -> cons(entry(x, y, times(x, y)), if2(x, s y)), times(s x, y) -> plus(y, times(x, y)), times(0(), y) -> 0(), plus(s x, y) -> s plus(x, y), plus(0(), y) -> y} Open