MAYBE 1082.21/297.03 MAYBE 1082.21/297.03 1082.21/297.03 We are left with following problem, upon which TcT provides the 1082.21/297.03 certificate MAYBE. 1082.21/297.03 1082.21/297.03 Strict Trs: 1082.21/297.03 { active(eq(X, Y)) -> mark(false()) 1082.21/297.03 , active(eq(0(), 0())) -> mark(true()) 1082.21/297.03 , active(eq(s(X), s(Y))) -> mark(eq(X, Y)) 1082.21/297.03 , active(inf(X)) -> mark(cons(X, inf(s(X)))) 1082.21/297.03 , active(inf(X)) -> inf(active(X)) 1082.21/297.03 , active(take(X1, X2)) -> take(X1, active(X2)) 1082.21/297.03 , active(take(X1, X2)) -> take(active(X1), X2) 1082.21/297.03 , active(take(0(), X)) -> mark(nil()) 1082.21/297.03 , active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))) 1082.21/297.03 , active(length(X)) -> length(active(X)) 1082.21/297.03 , active(length(cons(X, L))) -> mark(s(length(L))) 1082.21/297.03 , active(length(nil())) -> mark(0()) 1082.21/297.03 , eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)) 1082.21/297.03 , s(ok(X)) -> ok(s(X)) 1082.21/297.03 , inf(mark(X)) -> mark(inf(X)) 1082.21/297.03 , inf(ok(X)) -> ok(inf(X)) 1082.21/297.03 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) 1082.21/297.03 , take(X1, mark(X2)) -> mark(take(X1, X2)) 1082.21/297.03 , take(mark(X1), X2) -> mark(take(X1, X2)) 1082.21/297.03 , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) 1082.21/297.03 , length(mark(X)) -> mark(length(X)) 1082.21/297.03 , length(ok(X)) -> ok(length(X)) 1082.21/297.03 , proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)) 1082.21/297.03 , proper(0()) -> ok(0()) 1082.21/297.03 , proper(true()) -> ok(true()) 1082.21/297.03 , proper(s(X)) -> s(proper(X)) 1082.21/297.03 , proper(false()) -> ok(false()) 1082.21/297.03 , proper(inf(X)) -> inf(proper(X)) 1082.21/297.03 , proper(cons(any(X1), X2)) -> 1082.21/297.03 cons(any(any(proper(X1))), any(proper(X2))) 1082.21/297.03 , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) 1082.21/297.03 , proper(nil()) -> ok(nil()) 1082.21/297.03 , proper(length(X)) -> length(proper(X)) 1082.21/297.03 , any(X) -> s(X) 1082.21/297.03 , any(proper(X)) -> any(any(any(X))) 1082.21/297.03 , top(mark(X)) -> top(proper(X)) 1082.21/297.03 , top(ok(X)) -> top(active(X)) } 1082.21/297.03 Obligation: 1082.21/297.03 runtime complexity 1082.21/297.03 Answer: 1082.21/297.03 MAYBE 1082.21/297.03 1082.21/297.03 None of the processors succeeded. 1082.21/297.03 1082.21/297.03 Details of failed attempt(s): 1082.21/297.03 ----------------------------- 1082.21/297.03 1) 'With Problem ... (timeout of 297 seconds)' failed due to the 1082.21/297.03 following reason: 1082.21/297.03 1082.21/297.03 Computation stopped due to timeout after 297.0 seconds. 1082.21/297.03 1082.21/297.03 2) 'Best' failed due to the following reason: 1082.21/297.03 1082.21/297.03 None of the processors succeeded. 1082.21/297.03 1082.21/297.03 Details of failed attempt(s): 1082.21/297.03 ----------------------------- 1082.21/297.03 1) 'With Problem ... (timeout of 148 seconds) (timeout of 297 1082.21/297.03 seconds)' failed due to the following reason: 1082.21/297.03 1082.21/297.03 Computation stopped due to timeout after 148.0 seconds. 1082.21/297.03 1082.21/297.03 2) 'Best' failed due to the following reason: 1082.21/297.03 1082.21/297.03 None of the processors succeeded. 1082.21/297.03 1082.21/297.03 Details of failed attempt(s): 1082.21/297.03 ----------------------------- 1082.21/297.03 1) 'bsearch-popstar (timeout of 297 seconds)' failed due to the 1082.21/297.03 following reason: 1082.21/297.03 1082.21/297.03 The processor is inapplicable, reason: 1082.21/297.03 Processor only applicable for innermost runtime complexity analysis 1082.21/297.03 1082.21/297.03 2) 'Polynomial Path Order (PS) (timeout of 297 seconds)' failed due 1082.21/297.03 to the following reason: 1082.21/297.03 1082.21/297.03 The processor is inapplicable, reason: 1082.21/297.03 Processor only applicable for innermost runtime complexity analysis 1082.21/297.03 1082.21/297.03 1082.21/297.03 3) 'Fastest (timeout of 24 seconds) (timeout of 297 seconds)' 1082.21/297.03 failed due to the following reason: 1082.21/297.03 1082.21/297.03 None of the processors succeeded. 1082.21/297.03 1082.21/297.03 Details of failed attempt(s): 1082.21/297.03 ----------------------------- 1082.21/297.03 1) 'Bounds with minimal-enrichment and initial automaton 'match'' 1082.21/297.03 failed due to the following reason: 1082.21/297.03 1082.21/297.03 match-boundness of the problem could not be verified. 1082.21/297.03 1082.21/297.03 2) 'Bounds with perSymbol-enrichment and initial automaton 'match'' 1082.21/297.03 failed due to the following reason: 1082.21/297.03 1082.21/297.03 match-boundness of the problem could not be verified. 1082.21/297.03 1082.21/297.03 1082.21/297.03 1082.21/297.03 3) 'Weak Dependency Pairs (timeout of 297 seconds)' failed due to 1082.21/297.03 the following reason: 1082.21/297.03 1082.21/297.03 We add the following weak dependency pairs: 1082.21/297.03 1082.21/297.03 Strict DPs: 1082.21/297.03 { active^#(eq(X, Y)) -> c_1() 1082.21/297.03 , active^#(eq(0(), 0())) -> c_2() 1082.21/297.03 , active^#(eq(s(X), s(Y))) -> c_3(eq^#(X, Y)) 1082.21/297.03 , active^#(inf(X)) -> c_4(cons^#(X, inf(s(X)))) 1082.21/297.03 , active^#(inf(X)) -> c_5(inf^#(active(X))) 1082.21/297.03 , active^#(take(X1, X2)) -> c_6(take^#(X1, active(X2))) 1082.21/297.03 , active^#(take(X1, X2)) -> c_7(take^#(active(X1), X2)) 1082.21/297.03 , active^#(take(0(), X)) -> c_8() 1082.21/297.03 , active^#(take(s(X), cons(Y, L))) -> c_9(cons^#(Y, take(X, L))) 1082.21/297.03 , active^#(length(X)) -> c_10(length^#(active(X))) 1082.21/297.03 , active^#(length(cons(X, L))) -> c_11(s^#(length(L))) 1082.21/297.03 , active^#(length(nil())) -> c_12() 1082.21/297.03 , eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) 1082.21/297.03 , cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) 1082.21/297.03 , inf^#(mark(X)) -> c_15(inf^#(X)) 1082.21/297.03 , inf^#(ok(X)) -> c_16(inf^#(X)) 1082.21/297.03 , take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) 1082.21/297.03 , take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) 1082.21/297.03 , take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) 1082.21/297.03 , length^#(mark(X)) -> c_21(length^#(X)) 1082.21/297.03 , length^#(ok(X)) -> c_22(length^#(X)) 1082.21/297.03 , s^#(ok(X)) -> c_14(s^#(X)) 1082.21/297.03 , proper^#(eq(X1, X2)) -> c_23(eq^#(proper(X1), proper(X2))) 1082.21/297.03 , proper^#(0()) -> c_24() 1082.21/297.03 , proper^#(true()) -> c_25() 1082.21/297.03 , proper^#(s(X)) -> c_26(s^#(proper(X))) 1082.21/297.03 , proper^#(false()) -> c_27() 1082.21/297.03 , proper^#(inf(X)) -> c_28(inf^#(proper(X))) 1082.21/297.03 , proper^#(cons(any(X1), X2)) -> 1082.21/297.03 c_29(cons^#(any(any(proper(X1))), any(proper(X2)))) 1082.21/297.03 , proper^#(take(X1, X2)) -> c_30(take^#(proper(X1), proper(X2))) 1082.21/297.03 , proper^#(nil()) -> c_31() 1082.21/297.03 , proper^#(length(X)) -> c_32(length^#(proper(X))) 1082.21/297.03 , any^#(X) -> c_33(s^#(X)) 1082.21/297.03 , any^#(proper(X)) -> c_34(any^#(any(any(X)))) 1082.21/297.03 , top^#(mark(X)) -> c_35(top^#(proper(X))) 1082.21/297.03 , top^#(ok(X)) -> c_36(top^#(active(X))) } 1082.21/297.03 1082.21/297.03 and mark the set of starting terms. 1082.21/297.03 1082.21/297.03 We are left with following problem, upon which TcT provides the 1082.21/297.03 certificate MAYBE. 1082.21/297.03 1082.21/297.03 Strict DPs: 1082.21/297.03 { active^#(eq(X, Y)) -> c_1() 1082.21/297.03 , active^#(eq(0(), 0())) -> c_2() 1082.21/297.03 , active^#(eq(s(X), s(Y))) -> c_3(eq^#(X, Y)) 1082.21/297.03 , active^#(inf(X)) -> c_4(cons^#(X, inf(s(X)))) 1082.21/297.03 , active^#(inf(X)) -> c_5(inf^#(active(X))) 1082.21/297.03 , active^#(take(X1, X2)) -> c_6(take^#(X1, active(X2))) 1082.21/297.03 , active^#(take(X1, X2)) -> c_7(take^#(active(X1), X2)) 1082.21/297.03 , active^#(take(0(), X)) -> c_8() 1082.21/297.03 , active^#(take(s(X), cons(Y, L))) -> c_9(cons^#(Y, take(X, L))) 1082.21/297.03 , active^#(length(X)) -> c_10(length^#(active(X))) 1082.21/297.03 , active^#(length(cons(X, L))) -> c_11(s^#(length(L))) 1082.21/297.03 , active^#(length(nil())) -> c_12() 1082.21/297.03 , eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) 1082.21/297.03 , cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) 1082.21/297.03 , inf^#(mark(X)) -> c_15(inf^#(X)) 1082.21/297.03 , inf^#(ok(X)) -> c_16(inf^#(X)) 1082.21/297.03 , take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) 1082.21/297.03 , take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) 1082.21/297.03 , take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) 1082.21/297.03 , length^#(mark(X)) -> c_21(length^#(X)) 1082.21/297.03 , length^#(ok(X)) -> c_22(length^#(X)) 1082.21/297.03 , s^#(ok(X)) -> c_14(s^#(X)) 1082.21/297.03 , proper^#(eq(X1, X2)) -> c_23(eq^#(proper(X1), proper(X2))) 1082.21/297.03 , proper^#(0()) -> c_24() 1082.21/297.03 , proper^#(true()) -> c_25() 1082.21/297.03 , proper^#(s(X)) -> c_26(s^#(proper(X))) 1082.21/297.03 , proper^#(false()) -> c_27() 1082.21/297.03 , proper^#(inf(X)) -> c_28(inf^#(proper(X))) 1082.21/297.03 , proper^#(cons(any(X1), X2)) -> 1082.21/297.03 c_29(cons^#(any(any(proper(X1))), any(proper(X2)))) 1082.21/297.03 , proper^#(take(X1, X2)) -> c_30(take^#(proper(X1), proper(X2))) 1082.21/297.03 , proper^#(nil()) -> c_31() 1082.21/297.03 , proper^#(length(X)) -> c_32(length^#(proper(X))) 1082.21/297.03 , any^#(X) -> c_33(s^#(X)) 1082.21/297.03 , any^#(proper(X)) -> c_34(any^#(any(any(X)))) 1082.21/297.03 , top^#(mark(X)) -> c_35(top^#(proper(X))) 1082.21/297.03 , top^#(ok(X)) -> c_36(top^#(active(X))) } 1082.21/297.03 Strict Trs: 1082.21/297.03 { active(eq(X, Y)) -> mark(false()) 1082.21/297.03 , active(eq(0(), 0())) -> mark(true()) 1082.21/297.03 , active(eq(s(X), s(Y))) -> mark(eq(X, Y)) 1082.21/297.03 , active(inf(X)) -> mark(cons(X, inf(s(X)))) 1082.21/297.03 , active(inf(X)) -> inf(active(X)) 1082.21/297.03 , active(take(X1, X2)) -> take(X1, active(X2)) 1082.21/297.03 , active(take(X1, X2)) -> take(active(X1), X2) 1082.21/297.03 , active(take(0(), X)) -> mark(nil()) 1082.21/297.03 , active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))) 1082.21/297.03 , active(length(X)) -> length(active(X)) 1082.21/297.03 , active(length(cons(X, L))) -> mark(s(length(L))) 1082.21/297.03 , active(length(nil())) -> mark(0()) 1082.21/297.03 , eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)) 1082.21/297.03 , s(ok(X)) -> ok(s(X)) 1082.21/297.03 , inf(mark(X)) -> mark(inf(X)) 1082.21/297.03 , inf(ok(X)) -> ok(inf(X)) 1082.21/297.03 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) 1082.21/297.03 , take(X1, mark(X2)) -> mark(take(X1, X2)) 1082.21/297.03 , take(mark(X1), X2) -> mark(take(X1, X2)) 1082.21/297.03 , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) 1082.21/297.03 , length(mark(X)) -> mark(length(X)) 1082.21/297.03 , length(ok(X)) -> ok(length(X)) 1082.21/297.03 , proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)) 1082.21/297.03 , proper(0()) -> ok(0()) 1082.21/297.03 , proper(true()) -> ok(true()) 1082.21/297.03 , proper(s(X)) -> s(proper(X)) 1082.21/297.03 , proper(false()) -> ok(false()) 1082.21/297.03 , proper(inf(X)) -> inf(proper(X)) 1082.21/297.03 , proper(cons(any(X1), X2)) -> 1082.21/297.03 cons(any(any(proper(X1))), any(proper(X2))) 1082.21/297.03 , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) 1082.21/297.03 , proper(nil()) -> ok(nil()) 1082.21/297.03 , proper(length(X)) -> length(proper(X)) 1082.21/297.03 , any(X) -> s(X) 1082.21/297.03 , any(proper(X)) -> any(any(any(X))) 1082.21/297.03 , top(mark(X)) -> top(proper(X)) 1082.21/297.03 , top(ok(X)) -> top(active(X)) } 1082.21/297.03 Obligation: 1082.21/297.03 runtime complexity 1082.21/297.03 Answer: 1082.21/297.03 MAYBE 1082.21/297.03 1082.21/297.03 Consider the dependency graph: 1082.21/297.03 1082.21/297.03 1: active^#(eq(X, Y)) -> c_1() 1082.21/297.03 1082.21/297.03 2: active^#(eq(0(), 0())) -> c_2() 1082.21/297.03 1082.21/297.03 3: active^#(eq(s(X), s(Y))) -> c_3(eq^#(X, Y)) 1082.21/297.03 -->_1 eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) :13 1082.21/297.03 1082.21/297.03 4: active^#(inf(X)) -> c_4(cons^#(X, inf(s(X)))) 1082.21/297.03 -->_1 cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) :14 1082.21/297.03 1082.21/297.03 5: active^#(inf(X)) -> c_5(inf^#(active(X))) 1082.21/297.03 -->_1 inf^#(ok(X)) -> c_16(inf^#(X)) :16 1082.21/297.03 -->_1 inf^#(mark(X)) -> c_15(inf^#(X)) :15 1082.21/297.03 1082.21/297.03 6: active^#(take(X1, X2)) -> c_6(take^#(X1, active(X2))) 1082.21/297.03 -->_1 take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) :19 1082.21/297.03 -->_1 take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) :18 1082.21/297.03 -->_1 take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) :17 1082.21/297.03 1082.21/297.03 7: active^#(take(X1, X2)) -> c_7(take^#(active(X1), X2)) 1082.21/297.03 -->_1 take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) :19 1082.21/297.03 -->_1 take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) :18 1082.21/297.03 -->_1 take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) :17 1082.21/297.03 1082.21/297.03 8: active^#(take(0(), X)) -> c_8() 1082.21/297.03 1082.21/297.03 9: active^#(take(s(X), cons(Y, L))) -> c_9(cons^#(Y, take(X, L))) 1082.21/297.03 -->_1 cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) :14 1082.21/297.03 1082.21/297.03 10: active^#(length(X)) -> c_10(length^#(active(X))) 1082.21/297.03 -->_1 length^#(ok(X)) -> c_22(length^#(X)) :21 1082.21/297.03 -->_1 length^#(mark(X)) -> c_21(length^#(X)) :20 1082.21/297.03 1082.21/297.03 11: active^#(length(cons(X, L))) -> c_11(s^#(length(L))) 1082.21/297.03 -->_1 s^#(ok(X)) -> c_14(s^#(X)) :22 1082.21/297.03 1082.21/297.03 12: active^#(length(nil())) -> c_12() 1082.21/297.03 1082.21/297.03 13: eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) 1082.21/297.03 -->_1 eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) :13 1082.21/297.03 1082.21/297.03 14: cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) 1082.21/297.03 -->_1 cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) :14 1082.21/297.03 1082.21/297.03 15: inf^#(mark(X)) -> c_15(inf^#(X)) 1082.21/297.03 -->_1 inf^#(ok(X)) -> c_16(inf^#(X)) :16 1082.21/297.03 -->_1 inf^#(mark(X)) -> c_15(inf^#(X)) :15 1082.21/297.03 1082.21/297.03 16: inf^#(ok(X)) -> c_16(inf^#(X)) 1082.21/297.03 -->_1 inf^#(ok(X)) -> c_16(inf^#(X)) :16 1082.21/297.03 -->_1 inf^#(mark(X)) -> c_15(inf^#(X)) :15 1082.21/297.03 1082.21/297.03 17: take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) 1082.21/297.03 -->_1 take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) :19 1082.21/297.03 -->_1 take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) :18 1082.21/297.03 -->_1 take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) :17 1082.21/297.03 1082.21/297.03 18: take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) 1082.21/297.03 -->_1 take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) :19 1082.21/297.03 -->_1 take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) :18 1082.21/297.03 -->_1 take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) :17 1082.21/297.03 1082.21/297.03 19: take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) 1082.21/297.03 -->_1 take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) :19 1082.21/297.03 -->_1 take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) :18 1082.21/297.03 -->_1 take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) :17 1082.21/297.03 1082.21/297.03 20: length^#(mark(X)) -> c_21(length^#(X)) 1082.21/297.03 -->_1 length^#(ok(X)) -> c_22(length^#(X)) :21 1082.21/297.03 -->_1 length^#(mark(X)) -> c_21(length^#(X)) :20 1082.21/297.03 1082.21/297.03 21: length^#(ok(X)) -> c_22(length^#(X)) 1082.21/297.03 -->_1 length^#(ok(X)) -> c_22(length^#(X)) :21 1082.21/297.03 -->_1 length^#(mark(X)) -> c_21(length^#(X)) :20 1082.21/297.03 1082.21/297.03 22: s^#(ok(X)) -> c_14(s^#(X)) -->_1 s^#(ok(X)) -> c_14(s^#(X)) :22 1082.21/297.03 1082.21/297.03 23: proper^#(eq(X1, X2)) -> c_23(eq^#(proper(X1), proper(X2))) 1082.21/297.03 -->_1 eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) :13 1082.21/297.03 1082.21/297.03 24: proper^#(0()) -> c_24() 1082.21/297.03 1082.21/297.03 25: proper^#(true()) -> c_25() 1082.21/297.03 1082.21/297.03 26: proper^#(s(X)) -> c_26(s^#(proper(X))) 1082.21/297.03 -->_1 s^#(ok(X)) -> c_14(s^#(X)) :22 1082.21/297.03 1082.21/297.03 27: proper^#(false()) -> c_27() 1082.21/297.03 1082.21/297.03 28: proper^#(inf(X)) -> c_28(inf^#(proper(X))) 1082.21/297.03 -->_1 inf^#(ok(X)) -> c_16(inf^#(X)) :16 1082.21/297.03 -->_1 inf^#(mark(X)) -> c_15(inf^#(X)) :15 1082.21/297.03 1082.21/297.03 29: proper^#(cons(any(X1), X2)) -> 1082.21/297.03 c_29(cons^#(any(any(proper(X1))), any(proper(X2)))) 1082.21/297.03 -->_1 cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) :14 1082.21/297.03 1082.21/297.03 30: proper^#(take(X1, X2)) -> c_30(take^#(proper(X1), proper(X2))) 1082.21/297.03 -->_1 take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) :19 1082.21/297.03 -->_1 take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) :18 1082.21/297.03 -->_1 take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) :17 1082.21/297.03 1082.21/297.03 31: proper^#(nil()) -> c_31() 1082.21/297.03 1082.21/297.03 32: proper^#(length(X)) -> c_32(length^#(proper(X))) 1082.21/297.03 -->_1 length^#(ok(X)) -> c_22(length^#(X)) :21 1082.21/297.03 -->_1 length^#(mark(X)) -> c_21(length^#(X)) :20 1082.21/297.03 1082.21/297.03 33: any^#(X) -> c_33(s^#(X)) -->_1 s^#(ok(X)) -> c_14(s^#(X)) :22 1082.21/297.03 1082.21/297.03 34: any^#(proper(X)) -> c_34(any^#(any(any(X)))) 1082.21/297.03 -->_1 any^#(X) -> c_33(s^#(X)) :33 1082.21/297.03 1082.21/297.03 35: top^#(mark(X)) -> c_35(top^#(proper(X))) 1082.21/297.03 -->_1 top^#(ok(X)) -> c_36(top^#(active(X))) :36 1082.21/297.03 -->_1 top^#(mark(X)) -> c_35(top^#(proper(X))) :35 1082.21/297.03 1082.21/297.03 36: top^#(ok(X)) -> c_36(top^#(active(X))) 1082.21/297.03 -->_1 top^#(ok(X)) -> c_36(top^#(active(X))) :36 1082.21/297.03 -->_1 top^#(mark(X)) -> c_35(top^#(proper(X))) :35 1082.21/297.03 1082.21/297.03 1082.21/297.03 Only the nodes {13,14,15,16,17,19,18,20,21,22,24,25,27,31,33,35,36} 1082.21/297.03 are reachable from nodes 1082.21/297.03 {13,14,15,16,17,18,19,20,21,22,24,25,27,31,33,35,36} that start 1082.21/297.03 derivation from marked basic terms. The nodes not reachable are 1082.21/297.03 removed from the problem. 1082.21/297.03 1082.21/297.03 We are left with following problem, upon which TcT provides the 1082.21/297.03 certificate MAYBE. 1082.21/297.03 1082.21/297.03 Strict DPs: 1082.21/297.03 { eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) 1082.21/297.03 , cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) 1082.21/297.03 , inf^#(mark(X)) -> c_15(inf^#(X)) 1082.21/297.03 , inf^#(ok(X)) -> c_16(inf^#(X)) 1082.21/297.03 , take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) 1082.21/297.03 , take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) 1082.21/297.03 , take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) 1082.21/297.03 , length^#(mark(X)) -> c_21(length^#(X)) 1082.21/297.03 , length^#(ok(X)) -> c_22(length^#(X)) 1082.21/297.03 , s^#(ok(X)) -> c_14(s^#(X)) 1082.21/297.03 , proper^#(0()) -> c_24() 1082.21/297.03 , proper^#(true()) -> c_25() 1082.21/297.03 , proper^#(false()) -> c_27() 1082.21/297.03 , proper^#(nil()) -> c_31() 1082.21/297.03 , any^#(X) -> c_33(s^#(X)) 1082.21/297.03 , top^#(mark(X)) -> c_35(top^#(proper(X))) 1082.21/297.03 , top^#(ok(X)) -> c_36(top^#(active(X))) } 1082.21/297.03 Strict Trs: 1082.21/297.03 { active(eq(X, Y)) -> mark(false()) 1082.21/297.03 , active(eq(0(), 0())) -> mark(true()) 1082.21/297.03 , active(eq(s(X), s(Y))) -> mark(eq(X, Y)) 1082.21/297.03 , active(inf(X)) -> mark(cons(X, inf(s(X)))) 1082.21/297.03 , active(inf(X)) -> inf(active(X)) 1082.21/297.03 , active(take(X1, X2)) -> take(X1, active(X2)) 1082.21/297.03 , active(take(X1, X2)) -> take(active(X1), X2) 1082.21/297.03 , active(take(0(), X)) -> mark(nil()) 1082.21/297.03 , active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))) 1082.21/297.03 , active(length(X)) -> length(active(X)) 1082.21/297.03 , active(length(cons(X, L))) -> mark(s(length(L))) 1082.21/297.03 , active(length(nil())) -> mark(0()) 1082.21/297.03 , eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)) 1082.21/297.03 , s(ok(X)) -> ok(s(X)) 1082.21/297.03 , inf(mark(X)) -> mark(inf(X)) 1082.21/297.03 , inf(ok(X)) -> ok(inf(X)) 1082.21/297.03 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) 1082.21/297.03 , take(X1, mark(X2)) -> mark(take(X1, X2)) 1082.21/297.03 , take(mark(X1), X2) -> mark(take(X1, X2)) 1082.21/297.03 , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) 1082.21/297.03 , length(mark(X)) -> mark(length(X)) 1082.21/297.03 , length(ok(X)) -> ok(length(X)) 1082.21/297.03 , proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)) 1082.21/297.03 , proper(0()) -> ok(0()) 1082.21/297.03 , proper(true()) -> ok(true()) 1082.21/297.03 , proper(s(X)) -> s(proper(X)) 1082.21/297.03 , proper(false()) -> ok(false()) 1082.21/297.03 , proper(inf(X)) -> inf(proper(X)) 1082.21/297.03 , proper(cons(any(X1), X2)) -> 1082.21/297.03 cons(any(any(proper(X1))), any(proper(X2))) 1082.21/297.03 , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) 1082.21/297.03 , proper(nil()) -> ok(nil()) 1082.21/297.03 , proper(length(X)) -> length(proper(X)) 1082.21/297.03 , any(X) -> s(X) 1082.21/297.03 , any(proper(X)) -> any(any(any(X))) 1082.21/297.03 , top(mark(X)) -> top(proper(X)) 1082.21/297.03 , top(ok(X)) -> top(active(X)) } 1082.21/297.03 Obligation: 1082.21/297.03 runtime complexity 1082.21/297.03 Answer: 1082.21/297.03 MAYBE 1082.21/297.03 1082.21/297.03 We estimate the number of application of {11,12,13,14} by 1082.21/297.03 applications of Pre({11,12,13,14}) = {}. Here rules are labeled as 1082.21/297.03 follows: 1082.21/297.03 1082.21/297.03 DPs: 1082.21/297.03 { 1: eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) 1082.21/297.03 , 2: cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) 1082.21/297.03 , 3: inf^#(mark(X)) -> c_15(inf^#(X)) 1082.21/297.03 , 4: inf^#(ok(X)) -> c_16(inf^#(X)) 1082.21/297.03 , 5: take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) 1082.21/297.03 , 6: take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) 1082.21/297.03 , 7: take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) 1082.21/297.03 , 8: length^#(mark(X)) -> c_21(length^#(X)) 1082.21/297.03 , 9: length^#(ok(X)) -> c_22(length^#(X)) 1082.21/297.03 , 10: s^#(ok(X)) -> c_14(s^#(X)) 1082.21/297.03 , 11: proper^#(0()) -> c_24() 1082.21/297.03 , 12: proper^#(true()) -> c_25() 1082.21/297.03 , 13: proper^#(false()) -> c_27() 1082.21/297.03 , 14: proper^#(nil()) -> c_31() 1082.21/297.03 , 15: any^#(X) -> c_33(s^#(X)) 1082.21/297.03 , 16: top^#(mark(X)) -> c_35(top^#(proper(X))) 1082.21/297.03 , 17: top^#(ok(X)) -> c_36(top^#(active(X))) } 1082.21/297.03 1082.21/297.03 We are left with following problem, upon which TcT provides the 1082.21/297.03 certificate MAYBE. 1082.21/297.03 1082.21/297.03 Strict DPs: 1082.21/297.03 { eq^#(ok(X1), ok(X2)) -> c_13(eq^#(X1, X2)) 1082.21/297.03 , cons^#(ok(X1), ok(X2)) -> c_17(cons^#(X1, X2)) 1082.21/297.03 , inf^#(mark(X)) -> c_15(inf^#(X)) 1082.21/297.03 , inf^#(ok(X)) -> c_16(inf^#(X)) 1082.21/297.03 , take^#(X1, mark(X2)) -> c_18(take^#(X1, X2)) 1082.21/297.03 , take^#(mark(X1), X2) -> c_19(take^#(X1, X2)) 1082.21/297.03 , take^#(ok(X1), ok(X2)) -> c_20(take^#(X1, X2)) 1082.21/297.03 , length^#(mark(X)) -> c_21(length^#(X)) 1082.21/297.03 , length^#(ok(X)) -> c_22(length^#(X)) 1082.21/297.03 , s^#(ok(X)) -> c_14(s^#(X)) 1082.21/297.03 , any^#(X) -> c_33(s^#(X)) 1082.21/297.03 , top^#(mark(X)) -> c_35(top^#(proper(X))) 1082.21/297.03 , top^#(ok(X)) -> c_36(top^#(active(X))) } 1082.21/297.03 Strict Trs: 1082.21/297.03 { active(eq(X, Y)) -> mark(false()) 1082.21/297.03 , active(eq(0(), 0())) -> mark(true()) 1082.21/297.03 , active(eq(s(X), s(Y))) -> mark(eq(X, Y)) 1082.21/297.03 , active(inf(X)) -> mark(cons(X, inf(s(X)))) 1082.21/297.03 , active(inf(X)) -> inf(active(X)) 1082.21/297.03 , active(take(X1, X2)) -> take(X1, active(X2)) 1082.21/297.03 , active(take(X1, X2)) -> take(active(X1), X2) 1082.21/297.03 , active(take(0(), X)) -> mark(nil()) 1082.21/297.03 , active(take(s(X), cons(Y, L))) -> mark(cons(Y, take(X, L))) 1082.21/297.03 , active(length(X)) -> length(active(X)) 1082.21/297.03 , active(length(cons(X, L))) -> mark(s(length(L))) 1082.21/297.03 , active(length(nil())) -> mark(0()) 1082.21/297.03 , eq(ok(X1), ok(X2)) -> ok(eq(X1, X2)) 1082.21/297.03 , s(ok(X)) -> ok(s(X)) 1082.21/297.03 , inf(mark(X)) -> mark(inf(X)) 1082.21/297.03 , inf(ok(X)) -> ok(inf(X)) 1082.21/297.03 , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) 1082.21/297.03 , take(X1, mark(X2)) -> mark(take(X1, X2)) 1082.21/297.03 , take(mark(X1), X2) -> mark(take(X1, X2)) 1082.21/297.03 , take(ok(X1), ok(X2)) -> ok(take(X1, X2)) 1082.21/297.03 , length(mark(X)) -> mark(length(X)) 1082.21/297.03 , length(ok(X)) -> ok(length(X)) 1082.21/297.03 , proper(eq(X1, X2)) -> eq(proper(X1), proper(X2)) 1082.21/297.03 , proper(0()) -> ok(0()) 1082.21/297.03 , proper(true()) -> ok(true()) 1082.21/297.03 , proper(s(X)) -> s(proper(X)) 1082.21/297.03 , proper(false()) -> ok(false()) 1082.21/297.03 , proper(inf(X)) -> inf(proper(X)) 1082.21/297.03 , proper(cons(any(X1), X2)) -> 1082.21/297.03 cons(any(any(proper(X1))), any(proper(X2))) 1082.21/297.03 , proper(take(X1, X2)) -> take(proper(X1), proper(X2)) 1082.21/297.03 , proper(nil()) -> ok(nil()) 1082.21/297.03 , proper(length(X)) -> length(proper(X)) 1082.21/297.03 , any(X) -> s(X) 1082.21/297.03 , any(proper(X)) -> any(any(any(X))) 1082.21/297.03 , top(mark(X)) -> top(proper(X)) 1082.21/297.03 , top(ok(X)) -> top(active(X)) } 1082.21/297.03 Weak DPs: 1082.21/297.03 { proper^#(0()) -> c_24() 1082.21/297.03 , proper^#(true()) -> c_25() 1082.21/297.03 , proper^#(false()) -> c_27() 1082.21/297.03 , proper^#(nil()) -> c_31() } 1082.21/297.03 Obligation: 1082.21/297.03 runtime complexity 1082.21/297.03 Answer: 1082.21/297.03 MAYBE 1082.21/297.03 1082.21/297.03 Empty strict component of the problem is NOT empty. 1082.21/297.03 1082.21/297.03 1082.21/297.03 Arrrr.. 1082.58/297.37 EOF