MAYBE Time: 0.096093 TRS: { cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y), cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y) -> cond2(gr(y, 0()), x, y), p 0() -> 0(), p s x -> x, and(x, false()) -> false(), and(true(), true()) -> true(), and(false(), x) -> false(), eq(0(), 0()) -> true(), eq(0(), s x) -> false(), eq(s x, 0()) -> false(), eq(s x, s y) -> eq(x, y)} DP: DP: { cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(true(), x, y) -> gr#(y, 0()), cond2#(true(), x, y) -> p# y, cond2#(true(), x, y) -> p# x, cond2#(false(), x, y) -> gr#(x, 0()), cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y), cond2#(false(), x, y) -> and#(eq(x, y), gr(x, 0())), cond2#(false(), x, y) -> eq#(x, y), gr#(s x, s y) -> gr#(x, y), cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond1#(true(), x, y) -> gr#(y, 0()), eq#(s x, s y) -> eq#(x, y)} TRS: { cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y), cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y) -> cond2(gr(y, 0()), x, y), p 0() -> 0(), p s x -> x, and(x, false()) -> false(), and(true(), true()) -> true(), and(false(), x) -> false(), eq(0(), 0()) -> true(), eq(0(), s x) -> false(), eq(s x, 0()) -> false(), eq(s x, s y) -> eq(x, y)} UR: { gr(0(), x) -> false(), gr(s x, 0()) -> true(), p 0() -> 0(), p s x -> x, and(x, false()) -> false(), and(true(), true()) -> true(), and(false(), x) -> false(), eq(0(), 0()) -> true(), eq(0(), s x) -> false(), eq(s x, 0()) -> false(), eq(s x, s y) -> eq(x, y), a(z, w) -> z, a(z, w) -> w} EDG: {(cond2#(false(), x, y) -> gr#(x, 0()), gr#(s x, s y) -> gr#(x, y)) (cond2#(false(), x, y) -> eq#(x, y), eq#(s x, s y) -> eq#(x, y)) (eq#(s x, s y) -> eq#(x, y), eq#(s x, s y) -> eq#(x, y)) (cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y), cond1#(true(), x, y) -> gr#(y, 0())) (cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y), cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y)) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y)) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(true(), x, y) -> gr#(y, 0())) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(true(), x, y) -> p# y) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(true(), x, y) -> p# x) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(false(), x, y) -> gr#(x, 0())) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y)) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(false(), x, y) -> and#(eq(x, y), gr(x, 0()))) (cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y), cond2#(false(), x, y) -> eq#(x, y)) (gr#(s x, s y) -> gr#(x, y), gr#(s x, s y) -> gr#(x, y)) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y)) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(true(), x, y) -> gr#(y, 0())) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(true(), x, y) -> p# y) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(true(), x, y) -> p# x) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(false(), x, y) -> gr#(x, 0())) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y)) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(false(), x, y) -> and#(eq(x, y), gr(x, 0()))) (cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(false(), x, y) -> eq#(x, y)) (cond1#(true(), x, y) -> gr#(y, 0()), gr#(s x, s y) -> gr#(x, y)) (cond2#(true(), x, y) -> gr#(y, 0()), gr#(s x, s y) -> gr#(x, y))} STATUS: arrows: 0.833333 SCCS (3): Scc: { cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y), cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y)} Scc: {eq#(s x, s y) -> eq#(x, y)} Scc: {gr#(s x, s y) -> gr#(x, y)} SCC (3): Strict: { cond2#(true(), x, y) -> cond2#(gr(y, 0()), p x, p y), cond2#(false(), x, y) -> cond1#(and(eq(x, y), gr(x, 0())), x, y), cond1#(true(), x, y) -> cond2#(gr(y, 0()), x, y)} Weak: { cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y), cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y) -> cond2(gr(y, 0()), x, y), p 0() -> 0(), p s x -> x, and(x, false()) -> false(), and(true(), true()) -> true(), and(false(), x) -> false(), eq(0(), 0()) -> true(), eq(0(), s x) -> false(), eq(s x, 0()) -> false(), eq(s x, s y) -> eq(x, y)} Fail SCC (1): Strict: {eq#(s x, s y) -> eq#(x, y)} Weak: { cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y), cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y) -> cond2(gr(y, 0()), x, y), p 0() -> 0(), p s x -> x, and(x, false()) -> false(), and(true(), true()) -> true(), and(false(), x) -> false(), eq(0(), 0()) -> true(), eq(0(), s x) -> false(), eq(s x, 0()) -> false(), eq(s x, s y) -> eq(x, y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [cond2](x0, x1, x2) = x0 + x1 + 1, [cond1](x0, x1, x2) = 0, [gr](x0, x1) = x0, [and](x0, x1) = x0 + x1, [eq](x0, x1) = x0 + x1, [p](x0) = 1, [s](x0) = x0 + 1, [0] = 1, [true] = 1, [false] = 1, [eq#](x0, x1) = x0 + 1 Strict: eq#(s x, s y) -> eq#(x, y) 2 + 0y + 1x >= 1 + 0y + 1x Weak: eq(s x, s y) -> eq(x, y) 2 + 1y + 1x >= 0 + 1y + 1x eq(s x, 0()) -> false() 2 + 1x >= 1 eq(0(), s x) -> false() 2 + 1x >= 1 eq(0(), 0()) -> true() 2 >= 1 and(false(), x) -> false() 1 + 1x >= 1 and(true(), true()) -> true() 2 >= 1 and(x, false()) -> false() 1 + 1x >= 1 p s x -> x 1 + 0x >= 1x p 0() -> 0() 1 >= 1 cond1(true(), x, y) -> cond2(gr(y, 0()), x, y) 0 + 0y + 0x >= 1 + 2y + 0x gr(s x, s y) -> gr(x, y) 1 + 0y + 1x >= 0 + 0y + 1x gr(s x, 0()) -> true() 1 + 1x >= 1 gr(0(), x) -> false() 1 + 0x >= 1 cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y) 2 + 1y + 0x >= 0 + 0y + 0x cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y) 2 + 1y + 0x >= 2 + 1y + 0x Qed SCC (1): Strict: {gr#(s x, s y) -> gr#(x, y)} Weak: { cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y), cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y) -> cond2(gr(y, 0()), x, y), p 0() -> 0(), p s x -> x, and(x, false()) -> false(), and(true(), true()) -> true(), and(false(), x) -> false(), eq(0(), 0()) -> true(), eq(0(), s x) -> false(), eq(s x, 0()) -> false(), eq(s x, s y) -> eq(x, y)} POLY: Mode: weak, max_in=1, output_bits=-1, dnum=1, ur=true Interpretation: [cond2](x0, x1, x2) = x0 + x1 + 1, [cond1](x0, x1, x2) = 0, [gr](x0, x1) = x0, [and](x0, x1) = x0 + x1, [eq](x0, x1) = x0 + x1, [p](x0) = 1, [s](x0) = x0 + 1, [0] = 1, [true] = 1, [false] = 1, [gr#](x0, x1) = x0 + 1 Strict: gr#(s x, s y) -> gr#(x, y) 2 + 0y + 1x >= 1 + 0y + 1x Weak: eq(s x, s y) -> eq(x, y) 2 + 1y + 1x >= 0 + 1y + 1x eq(s x, 0()) -> false() 2 + 1x >= 1 eq(0(), s x) -> false() 2 + 1x >= 1 eq(0(), 0()) -> true() 2 >= 1 and(false(), x) -> false() 1 + 1x >= 1 and(true(), true()) -> true() 2 >= 1 and(x, false()) -> false() 1 + 1x >= 1 p s x -> x 1 + 0x >= 1x p 0() -> 0() 1 >= 1 cond1(true(), x, y) -> cond2(gr(y, 0()), x, y) 0 + 0y + 0x >= 1 + 2y + 0x gr(s x, s y) -> gr(x, y) 1 + 0y + 1x >= 0 + 0y + 1x gr(s x, 0()) -> true() 1 + 1x >= 1 gr(0(), x) -> false() 1 + 0x >= 1 cond2(false(), x, y) -> cond1(and(eq(x, y), gr(x, 0())), x, y) 2 + 1y + 0x >= 0 + 0y + 0x cond2(true(), x, y) -> cond2(gr(y, 0()), p x, p y) 2 + 1y + 0x >= 2 + 1y + 0x Qed