MAYBE TRS: { nonZero(0()) -> false(), nonZero(s(x)) -> true(), p(0()) -> 0(), p(s(x)) -> x, id_inc(x) -> x, id_inc(x) -> s(x), rand(x, y) -> if(nonZero(x), x, y), random(x) -> rand(x, 0()), if(false(), x, y) -> y, if(true(), x, y) -> rand(p(x), id_inc(y))} DP: Strict: { rand#(x, y) -> nonZero#(x), rand#(x, y) -> if#(nonZero(x), x, y), random#(x) -> rand#(x, 0()), if#(true(), x, y) -> p#(x), if#(true(), x, y) -> id_inc#(y), if#(true(), x, y) -> rand#(p(x), id_inc(y))} Weak: { nonZero(0()) -> false(), nonZero(s(x)) -> true(), p(0()) -> 0(), p(s(x)) -> x, id_inc(x) -> x, id_inc(x) -> s(x), rand(x, y) -> if(nonZero(x), x, y), random(x) -> rand(x, 0()), if(false(), x, y) -> y, if(true(), x, y) -> rand(p(x), id_inc(y))} EDG: {(random#(x) -> rand#(x, 0()), rand#(x, y) -> if#(nonZero(x), x, y)) (random#(x) -> rand#(x, 0()), rand#(x, y) -> nonZero#(x)) (rand#(x, y) -> if#(nonZero(x), x, y), if#(true(), x, y) -> p#(x)) (rand#(x, y) -> if#(nonZero(x), x, y), if#(true(), x, y) -> id_inc#(y)) (rand#(x, y) -> if#(nonZero(x), x, y), if#(true(), x, y) -> rand#(p(x), id_inc(y))) (if#(true(), x, y) -> rand#(p(x), id_inc(y)), rand#(x, y) -> nonZero#(x)) (if#(true(), x, y) -> rand#(p(x), id_inc(y)), rand#(x, y) -> if#(nonZero(x), x, y))} SCCS: Scc: { rand#(x, y) -> if#(nonZero(x), x, y), if#(true(), x, y) -> rand#(p(x), id_inc(y))} SCC: Strict: { rand#(x, y) -> if#(nonZero(x), x, y), if#(true(), x, y) -> rand#(p(x), id_inc(y))} Weak: { nonZero(0()) -> false(), nonZero(s(x)) -> true(), p(0()) -> 0(), p(s(x)) -> x, id_inc(x) -> x, id_inc(x) -> s(x), rand(x, y) -> if(nonZero(x), x, y), random(x) -> rand(x, 0()), if(false(), x, y) -> y, if(true(), x, y) -> rand(p(x), id_inc(y))} Fail