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