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