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