MAYBE Time: 0.096222 TRS: { cond2(true(), x, y, z) -> cond2(gr(y, z), p x, p y, z), cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z), 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, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(true(), x, y, z) -> gr#(y, z), cond2#(true(), x, y, z) -> p# y, cond2#(true(), x, y, z) -> p# x, cond2#(false(), x, y, z) -> gr#(x, z), cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z), cond2#(false(), x, y, z) -> and#(eq(x, y), gr(x, z)), cond2#(false(), x, y, z) -> eq#(x, y), gr#(s x, s y) -> gr#(x, y), cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond1#(true(), x, y, z) -> gr#(y, z), eq#(s x, s y) -> eq#(x, y)} TRS: { cond2(true(), x, y, z) -> cond2(gr(y, z), p x, p y, z), cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z), 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(), gr(s x, s y) -> gr(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), a(w, v) -> w, a(w, v) -> v} EDG: {(cond2#(true(), x, y, z) -> gr#(y, z), gr#(s x, s y) -> gr#(x, y)) (cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z), cond1#(true(), x, y, z) -> gr#(y, z)) (cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z), cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z)) (cond1#(true(), x, y, z) -> gr#(y, z), gr#(s x, s y) -> gr#(x, y)) (gr#(s x, s y) -> gr#(x, y), gr#(s x, s y) -> gr#(x, y)) (eq#(s x, s y) -> eq#(x, y), eq#(s x, s y) -> eq#(x, y)) (cond2#(false(), x, y, z) -> eq#(x, y), eq#(s x, s y) -> eq#(x, y)) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z)) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(true(), x, y, z) -> gr#(y, z)) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(true(), x, y, z) -> p# y) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(true(), x, y, z) -> p# x) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(false(), x, y, z) -> gr#(x, z)) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z)) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(false(), x, y, z) -> and#(eq(x, y), gr(x, z))) (cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z), cond2#(false(), x, y, z) -> eq#(x, y)) (cond2#(false(), x, y, z) -> gr#(x, z), gr#(s x, s y) -> gr#(x, y)) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z)) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(true(), x, y, z) -> gr#(y, z)) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(true(), x, y, z) -> p# y) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(true(), x, y, z) -> p# x) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(false(), x, y, z) -> gr#(x, z)) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z)) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(false(), x, y, z) -> and#(eq(x, y), gr(x, z))) (cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(false(), x, y, z) -> eq#(x, y))} STATUS: arrows: 0.833333 SCCS (3): Scc: { cond2#(true(), x, y, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z), cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z)} 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, z) -> cond2#(gr(y, z), p x, p y, z), cond2#(false(), x, y, z) -> cond1#(and(eq(x, y), gr(x, z)), x, y, z), cond1#(true(), x, y, z) -> cond2#(gr(y, z), x, y, z)} Weak: { cond2(true(), x, y, z) -> cond2(gr(y, z), p x, p y, z), cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z), 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, z) -> cond2(gr(y, z), p x, p y, z), cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z), 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, x3) = x0 + x1 + x2 + 1, [cond1](x0, x1, x2, x3) = x0 + x1, [gr](x0, x1) = x0, [and](x0, x1) = x0, [eq](x0, x1) = 0, [p](x0) = 1, [s](x0) = x0 + 1, [true] = 1, [false] = 1, [0] = 0, [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) 0 + 0y + 0x >= 0 + 0y + 0x eq(s x, 0()) -> false() 0 + 0x >= 1 eq(0(), s x) -> false() 0 + 0x >= 1 eq(0(), 0()) -> true() 0 >= 1 and(false(), x) -> false() 0 + 1x >= 1 and(true(), true()) -> true() 1 >= 1 and(x, false()) -> false() 1 + 0x >= 1 p s x -> x 1 + 0x >= 1x p 0() -> 0() 1 >= 0 cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z) 1 + 0y + 1z + 0x >= 1 + 0y + 2z + 1x gr(s x, s y) -> gr(x, y) 1 + 1y + 0x >= 0 + 1y + 0x gr(s x, 0()) -> true() 0 + 0x >= 1 gr(0(), x) -> false() 0 + 1x >= 1 cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z) 2 + 0y + 1z + 1x >= 0 + 0y + 2z + 0x cond2(true(), x, y, z) -> cond2(gr(y, z), p x, p y, z) 2 + 0y + 1z + 1x >= 2 + 0y + 2z + 0x Qed SCC (1): Strict: {gr#(s x, s y) -> gr#(x, y)} Weak: { cond2(true(), x, y, z) -> cond2(gr(y, z), p x, p y, z), cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z), gr(0(), x) -> false(), gr(s x, 0()) -> true(), gr(s x, s y) -> gr(x, y), cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z), 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, x3) = x0 + x1 + x2 + 1, [cond1](x0, x1, x2, x3) = x0 + x1, [gr](x0, x1) = x0, [and](x0, x1) = x0, [eq](x0, x1) = 0, [p](x0) = 1, [s](x0) = x0 + 1, [true] = 1, [false] = 1, [0] = 0, [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) 0 + 0y + 0x >= 0 + 0y + 0x eq(s x, 0()) -> false() 0 + 0x >= 1 eq(0(), s x) -> false() 0 + 0x >= 1 eq(0(), 0()) -> true() 0 >= 1 and(false(), x) -> false() 0 + 1x >= 1 and(true(), true()) -> true() 1 >= 1 and(x, false()) -> false() 1 + 0x >= 1 p s x -> x 1 + 0x >= 1x p 0() -> 0() 1 >= 0 cond1(true(), x, y, z) -> cond2(gr(y, z), x, y, z) 1 + 0y + 1z + 0x >= 1 + 0y + 2z + 1x gr(s x, s y) -> gr(x, y) 1 + 1y + 0x >= 0 + 1y + 0x gr(s x, 0()) -> true() 0 + 0x >= 1 gr(0(), x) -> false() 0 + 1x >= 1 cond2(false(), x, y, z) -> cond1(and(eq(x, y), gr(x, z)), x, y, z) 2 + 0y + 1z + 1x >= 0 + 0y + 2z + 0x cond2(true(), x, y, z) -> cond2(gr(y, z), p x, p y, z) 2 + 0y + 1z + 1x >= 2 + 0y + 2z + 0x Qed