MAYBE We are left with following problem, upon which TcT provides the certificate MAYBE. Strict Trs: { active(from(X)) -> from(active(X)) , active(from(X)) -> mark(cons(X, from(s(X)))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(s(X)) -> s(active(X)) , active(2ndspos(X1, X2)) -> 2ndspos(X1, active(X2)) , active(2ndspos(X1, X2)) -> 2ndspos(active(X1), X2) , active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) , active(2ndspos(0(), Z)) -> mark(rnil()) , active(rcons(X1, X2)) -> rcons(X1, active(X2)) , active(rcons(X1, X2)) -> rcons(active(X1), X2) , active(posrecip(X)) -> posrecip(active(X)) , active(2ndsneg(X1, X2)) -> 2ndsneg(X1, active(X2)) , active(2ndsneg(X1, X2)) -> 2ndsneg(active(X1), X2) , active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) , active(2ndsneg(0(), Z)) -> mark(rnil()) , active(negrecip(X)) -> negrecip(active(X)) , active(pi(X)) -> mark(2ndspos(X, from(0()))) , active(pi(X)) -> pi(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(s(X), Y)) -> mark(s(plus(X, Y))) , active(plus(0(), Y)) -> mark(Y) , active(times(X1, X2)) -> times(X1, active(X2)) , active(times(X1, X2)) -> times(active(X1), X2) , active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) , active(times(0(), Y)) -> mark(0()) , active(square(X)) -> mark(times(X, X)) , active(square(X)) -> square(active(X)) , from(mark(X)) -> mark(from(X)) , from(ok(X)) -> ok(from(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , 2ndspos(X1, mark(X2)) -> mark(2ndspos(X1, X2)) , 2ndspos(mark(X1), X2) -> mark(2ndspos(X1, X2)) , 2ndspos(ok(X1), ok(X2)) -> ok(2ndspos(X1, X2)) , rcons(X1, mark(X2)) -> mark(rcons(X1, X2)) , rcons(mark(X1), X2) -> mark(rcons(X1, X2)) , rcons(ok(X1), ok(X2)) -> ok(rcons(X1, X2)) , posrecip(mark(X)) -> mark(posrecip(X)) , posrecip(ok(X)) -> ok(posrecip(X)) , 2ndsneg(X1, mark(X2)) -> mark(2ndsneg(X1, X2)) , 2ndsneg(mark(X1), X2) -> mark(2ndsneg(X1, X2)) , 2ndsneg(ok(X1), ok(X2)) -> ok(2ndsneg(X1, X2)) , negrecip(mark(X)) -> mark(negrecip(X)) , negrecip(ok(X)) -> ok(negrecip(X)) , pi(mark(X)) -> mark(pi(X)) , pi(ok(X)) -> ok(pi(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , times(X1, mark(X2)) -> mark(times(X1, X2)) , times(mark(X1), X2) -> mark(times(X1, X2)) , times(ok(X1), ok(X2)) -> ok(times(X1, X2)) , square(mark(X)) -> mark(square(X)) , square(ok(X)) -> ok(square(X)) , proper(from(X)) -> from(proper(X)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(2ndspos(X1, X2)) -> 2ndspos(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(rnil()) -> ok(rnil()) , proper(rcons(X1, X2)) -> rcons(proper(X1), proper(X2)) , proper(posrecip(X)) -> posrecip(proper(X)) , proper(2ndsneg(X1, X2)) -> 2ndsneg(proper(X1), proper(X2)) , proper(negrecip(X)) -> negrecip(proper(X)) , proper(pi(X)) -> pi(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(times(X1, X2)) -> times(proper(X1), proper(X2)) , proper(square(X)) -> square(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 60.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'WithProblem (timeout of 30 seconds) (timeout of 60 seconds)' failed due to the following reason: Computation stopped due to timeout after 30.0 seconds. 2) 'Best' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'bsearch-popstar (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 2) 'Polynomial Path Order (PS) (timeout of 60 seconds)' failed due to the following reason: The processor is inapplicable, reason: Processor only applicable for innermost runtime complexity analysis 3) 'Fastest (timeout of 5 seconds) (timeout of 60 seconds)' failed due to the following reason: None of the processors succeeded. Details of failed attempt(s): ----------------------------- 1) 'Bounds with perSymbol-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 2) 'Bounds with minimal-enrichment and initial automaton 'match'' failed due to the following reason: match-boundness of the problem could not be verified. 3) 'Innermost Weak Dependency Pairs (timeout of 60 seconds)' failed due to the following reason: We add the following weak dependency pairs: Strict DPs: { active^#(from(X)) -> c_1(from^#(active(X))) , active^#(from(X)) -> c_2(cons^#(X, from(s(X)))) , active^#(cons(X1, X2)) -> c_3(cons^#(active(X1), X2)) , active^#(s(X)) -> c_4(s^#(active(X))) , active^#(2ndspos(X1, X2)) -> c_5(2ndspos^#(X1, active(X2))) , active^#(2ndspos(X1, X2)) -> c_6(2ndspos^#(active(X1), X2)) , active^#(2ndspos(s(N), cons(X, cons(Y, Z)))) -> c_7(rcons^#(posrecip(Y), 2ndsneg(N, Z))) , active^#(2ndspos(0(), Z)) -> c_8() , active^#(rcons(X1, X2)) -> c_9(rcons^#(X1, active(X2))) , active^#(rcons(X1, X2)) -> c_10(rcons^#(active(X1), X2)) , active^#(posrecip(X)) -> c_11(posrecip^#(active(X))) , active^#(2ndsneg(X1, X2)) -> c_12(2ndsneg^#(X1, active(X2))) , active^#(2ndsneg(X1, X2)) -> c_13(2ndsneg^#(active(X1), X2)) , active^#(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> c_14(rcons^#(negrecip(Y), 2ndspos(N, Z))) , active^#(2ndsneg(0(), Z)) -> c_15() , active^#(negrecip(X)) -> c_16(negrecip^#(active(X))) , active^#(pi(X)) -> c_17(2ndspos^#(X, from(0()))) , active^#(pi(X)) -> c_18(pi^#(active(X))) , active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) , active^#(plus(s(X), Y)) -> c_21(s^#(plus(X, Y))) , active^#(plus(0(), Y)) -> c_22(Y) , active^#(times(X1, X2)) -> c_23(times^#(X1, active(X2))) , active^#(times(X1, X2)) -> c_24(times^#(active(X1), X2)) , active^#(times(s(X), Y)) -> c_25(plus^#(Y, times(X, Y))) , active^#(times(0(), Y)) -> c_26() , active^#(square(X)) -> c_27(times^#(X, X)) , active^#(square(X)) -> c_28(square^#(active(X))) , from^#(mark(X)) -> c_29(from^#(X)) , from^#(ok(X)) -> c_30(from^#(X)) , cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) , s^#(mark(X)) -> c_33(s^#(X)) , s^#(ok(X)) -> c_34(s^#(X)) , 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) , 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) , 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) , rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) , rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) , rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) , posrecip^#(mark(X)) -> c_41(posrecip^#(X)) , posrecip^#(ok(X)) -> c_42(posrecip^#(X)) , 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) , 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) , 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) , negrecip^#(mark(X)) -> c_46(negrecip^#(X)) , negrecip^#(ok(X)) -> c_47(negrecip^#(X)) , pi^#(mark(X)) -> c_48(pi^#(X)) , pi^#(ok(X)) -> c_49(pi^#(X)) , plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) , times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) , times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) , times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) , square^#(mark(X)) -> c_56(square^#(X)) , square^#(ok(X)) -> c_57(square^#(X)) , proper^#(from(X)) -> c_58(from^#(proper(X))) , proper^#(cons(X1, X2)) -> c_59(cons^#(proper(X1), proper(X2))) , proper^#(s(X)) -> c_60(s^#(proper(X))) , proper^#(2ndspos(X1, X2)) -> c_61(2ndspos^#(proper(X1), proper(X2))) , proper^#(0()) -> c_62() , proper^#(rnil()) -> c_63() , proper^#(rcons(X1, X2)) -> c_64(rcons^#(proper(X1), proper(X2))) , proper^#(posrecip(X)) -> c_65(posrecip^#(proper(X))) , proper^#(2ndsneg(X1, X2)) -> c_66(2ndsneg^#(proper(X1), proper(X2))) , proper^#(negrecip(X)) -> c_67(negrecip^#(proper(X))) , proper^#(pi(X)) -> c_68(pi^#(proper(X))) , proper^#(plus(X1, X2)) -> c_69(plus^#(proper(X1), proper(X2))) , proper^#(times(X1, X2)) -> c_70(times^#(proper(X1), proper(X2))) , proper^#(square(X)) -> c_71(square^#(proper(X))) , proper^#(nil()) -> c_72() , top^#(mark(X)) -> c_73(top^#(proper(X))) , top^#(ok(X)) -> c_74(top^#(active(X))) } and mark the set of starting terms. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { active^#(from(X)) -> c_1(from^#(active(X))) , active^#(from(X)) -> c_2(cons^#(X, from(s(X)))) , active^#(cons(X1, X2)) -> c_3(cons^#(active(X1), X2)) , active^#(s(X)) -> c_4(s^#(active(X))) , active^#(2ndspos(X1, X2)) -> c_5(2ndspos^#(X1, active(X2))) , active^#(2ndspos(X1, X2)) -> c_6(2ndspos^#(active(X1), X2)) , active^#(2ndspos(s(N), cons(X, cons(Y, Z)))) -> c_7(rcons^#(posrecip(Y), 2ndsneg(N, Z))) , active^#(2ndspos(0(), Z)) -> c_8() , active^#(rcons(X1, X2)) -> c_9(rcons^#(X1, active(X2))) , active^#(rcons(X1, X2)) -> c_10(rcons^#(active(X1), X2)) , active^#(posrecip(X)) -> c_11(posrecip^#(active(X))) , active^#(2ndsneg(X1, X2)) -> c_12(2ndsneg^#(X1, active(X2))) , active^#(2ndsneg(X1, X2)) -> c_13(2ndsneg^#(active(X1), X2)) , active^#(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> c_14(rcons^#(negrecip(Y), 2ndspos(N, Z))) , active^#(2ndsneg(0(), Z)) -> c_15() , active^#(negrecip(X)) -> c_16(negrecip^#(active(X))) , active^#(pi(X)) -> c_17(2ndspos^#(X, from(0()))) , active^#(pi(X)) -> c_18(pi^#(active(X))) , active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) , active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) , active^#(plus(s(X), Y)) -> c_21(s^#(plus(X, Y))) , active^#(plus(0(), Y)) -> c_22(Y) , active^#(times(X1, X2)) -> c_23(times^#(X1, active(X2))) , active^#(times(X1, X2)) -> c_24(times^#(active(X1), X2)) , active^#(times(s(X), Y)) -> c_25(plus^#(Y, times(X, Y))) , active^#(times(0(), Y)) -> c_26() , active^#(square(X)) -> c_27(times^#(X, X)) , active^#(square(X)) -> c_28(square^#(active(X))) , from^#(mark(X)) -> c_29(from^#(X)) , from^#(ok(X)) -> c_30(from^#(X)) , cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) , s^#(mark(X)) -> c_33(s^#(X)) , s^#(ok(X)) -> c_34(s^#(X)) , 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) , 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) , 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) , rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) , rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) , rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) , posrecip^#(mark(X)) -> c_41(posrecip^#(X)) , posrecip^#(ok(X)) -> c_42(posrecip^#(X)) , 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) , 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) , 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) , negrecip^#(mark(X)) -> c_46(negrecip^#(X)) , negrecip^#(ok(X)) -> c_47(negrecip^#(X)) , pi^#(mark(X)) -> c_48(pi^#(X)) , pi^#(ok(X)) -> c_49(pi^#(X)) , plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) , times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) , times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) , times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) , square^#(mark(X)) -> c_56(square^#(X)) , square^#(ok(X)) -> c_57(square^#(X)) , proper^#(from(X)) -> c_58(from^#(proper(X))) , proper^#(cons(X1, X2)) -> c_59(cons^#(proper(X1), proper(X2))) , proper^#(s(X)) -> c_60(s^#(proper(X))) , proper^#(2ndspos(X1, X2)) -> c_61(2ndspos^#(proper(X1), proper(X2))) , proper^#(0()) -> c_62() , proper^#(rnil()) -> c_63() , proper^#(rcons(X1, X2)) -> c_64(rcons^#(proper(X1), proper(X2))) , proper^#(posrecip(X)) -> c_65(posrecip^#(proper(X))) , proper^#(2ndsneg(X1, X2)) -> c_66(2ndsneg^#(proper(X1), proper(X2))) , proper^#(negrecip(X)) -> c_67(negrecip^#(proper(X))) , proper^#(pi(X)) -> c_68(pi^#(proper(X))) , proper^#(plus(X1, X2)) -> c_69(plus^#(proper(X1), proper(X2))) , proper^#(times(X1, X2)) -> c_70(times^#(proper(X1), proper(X2))) , proper^#(square(X)) -> c_71(square^#(proper(X))) , proper^#(nil()) -> c_72() , top^#(mark(X)) -> c_73(top^#(proper(X))) , top^#(ok(X)) -> c_74(top^#(active(X))) } Strict Trs: { active(from(X)) -> from(active(X)) , active(from(X)) -> mark(cons(X, from(s(X)))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(s(X)) -> s(active(X)) , active(2ndspos(X1, X2)) -> 2ndspos(X1, active(X2)) , active(2ndspos(X1, X2)) -> 2ndspos(active(X1), X2) , active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) , active(2ndspos(0(), Z)) -> mark(rnil()) , active(rcons(X1, X2)) -> rcons(X1, active(X2)) , active(rcons(X1, X2)) -> rcons(active(X1), X2) , active(posrecip(X)) -> posrecip(active(X)) , active(2ndsneg(X1, X2)) -> 2ndsneg(X1, active(X2)) , active(2ndsneg(X1, X2)) -> 2ndsneg(active(X1), X2) , active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) , active(2ndsneg(0(), Z)) -> mark(rnil()) , active(negrecip(X)) -> negrecip(active(X)) , active(pi(X)) -> mark(2ndspos(X, from(0()))) , active(pi(X)) -> pi(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(s(X), Y)) -> mark(s(plus(X, Y))) , active(plus(0(), Y)) -> mark(Y) , active(times(X1, X2)) -> times(X1, active(X2)) , active(times(X1, X2)) -> times(active(X1), X2) , active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) , active(times(0(), Y)) -> mark(0()) , active(square(X)) -> mark(times(X, X)) , active(square(X)) -> square(active(X)) , from(mark(X)) -> mark(from(X)) , from(ok(X)) -> ok(from(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , 2ndspos(X1, mark(X2)) -> mark(2ndspos(X1, X2)) , 2ndspos(mark(X1), X2) -> mark(2ndspos(X1, X2)) , 2ndspos(ok(X1), ok(X2)) -> ok(2ndspos(X1, X2)) , rcons(X1, mark(X2)) -> mark(rcons(X1, X2)) , rcons(mark(X1), X2) -> mark(rcons(X1, X2)) , rcons(ok(X1), ok(X2)) -> ok(rcons(X1, X2)) , posrecip(mark(X)) -> mark(posrecip(X)) , posrecip(ok(X)) -> ok(posrecip(X)) , 2ndsneg(X1, mark(X2)) -> mark(2ndsneg(X1, X2)) , 2ndsneg(mark(X1), X2) -> mark(2ndsneg(X1, X2)) , 2ndsneg(ok(X1), ok(X2)) -> ok(2ndsneg(X1, X2)) , negrecip(mark(X)) -> mark(negrecip(X)) , negrecip(ok(X)) -> ok(negrecip(X)) , pi(mark(X)) -> mark(pi(X)) , pi(ok(X)) -> ok(pi(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , times(X1, mark(X2)) -> mark(times(X1, X2)) , times(mark(X1), X2) -> mark(times(X1, X2)) , times(ok(X1), ok(X2)) -> ok(times(X1, X2)) , square(mark(X)) -> mark(square(X)) , square(ok(X)) -> ok(square(X)) , proper(from(X)) -> from(proper(X)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(2ndspos(X1, X2)) -> 2ndspos(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(rnil()) -> ok(rnil()) , proper(rcons(X1, X2)) -> rcons(proper(X1), proper(X2)) , proper(posrecip(X)) -> posrecip(proper(X)) , proper(2ndsneg(X1, X2)) -> 2ndsneg(proper(X1), proper(X2)) , proper(negrecip(X)) -> negrecip(proper(X)) , proper(pi(X)) -> pi(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(times(X1, X2)) -> times(proper(X1), proper(X2)) , proper(square(X)) -> square(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE Consider the dependency graph: 1: active^#(from(X)) -> c_1(from^#(active(X))) -->_1 from^#(ok(X)) -> c_30(from^#(X)) :30 -->_1 from^#(mark(X)) -> c_29(from^#(X)) :29 2: active^#(from(X)) -> c_2(cons^#(X, from(s(X)))) -->_1 cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) :32 -->_1 cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) :31 3: active^#(cons(X1, X2)) -> c_3(cons^#(active(X1), X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) :32 -->_1 cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) :31 4: active^#(s(X)) -> c_4(s^#(active(X))) -->_1 s^#(ok(X)) -> c_34(s^#(X)) :34 -->_1 s^#(mark(X)) -> c_33(s^#(X)) :33 5: active^#(2ndspos(X1, X2)) -> c_5(2ndspos^#(X1, active(X2))) -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 6: active^#(2ndspos(X1, X2)) -> c_6(2ndspos^#(active(X1), X2)) -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 7: active^#(2ndspos(s(N), cons(X, cons(Y, Z)))) -> c_7(rcons^#(posrecip(Y), 2ndsneg(N, Z))) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 8: active^#(2ndspos(0(), Z)) -> c_8() 9: active^#(rcons(X1, X2)) -> c_9(rcons^#(X1, active(X2))) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 10: active^#(rcons(X1, X2)) -> c_10(rcons^#(active(X1), X2)) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 11: active^#(posrecip(X)) -> c_11(posrecip^#(active(X))) -->_1 posrecip^#(ok(X)) -> c_42(posrecip^#(X)) :42 -->_1 posrecip^#(mark(X)) -> c_41(posrecip^#(X)) :41 12: active^#(2ndsneg(X1, X2)) -> c_12(2ndsneg^#(X1, active(X2))) -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 13: active^#(2ndsneg(X1, X2)) -> c_13(2ndsneg^#(active(X1), X2)) -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 14: active^#(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> c_14(rcons^#(negrecip(Y), 2ndspos(N, Z))) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 15: active^#(2ndsneg(0(), Z)) -> c_15() 16: active^#(negrecip(X)) -> c_16(negrecip^#(active(X))) -->_1 negrecip^#(ok(X)) -> c_47(negrecip^#(X)) :47 -->_1 negrecip^#(mark(X)) -> c_46(negrecip^#(X)) :46 17: active^#(pi(X)) -> c_17(2ndspos^#(X, from(0()))) -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 18: active^#(pi(X)) -> c_18(pi^#(active(X))) -->_1 pi^#(ok(X)) -> c_49(pi^#(X)) :49 -->_1 pi^#(mark(X)) -> c_48(pi^#(X)) :48 19: active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 20: active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 21: active^#(plus(s(X), Y)) -> c_21(s^#(plus(X, Y))) -->_1 s^#(ok(X)) -> c_34(s^#(X)) :34 -->_1 s^#(mark(X)) -> c_33(s^#(X)) :33 22: active^#(plus(0(), Y)) -> c_22(Y) -->_1 top^#(ok(X)) -> c_74(top^#(active(X))) :74 -->_1 top^#(mark(X)) -> c_73(top^#(proper(X))) :73 -->_1 proper^#(square(X)) -> c_71(square^#(proper(X))) :71 -->_1 proper^#(times(X1, X2)) -> c_70(times^#(proper(X1), proper(X2))) :70 -->_1 proper^#(plus(X1, X2)) -> c_69(plus^#(proper(X1), proper(X2))) :69 -->_1 proper^#(pi(X)) -> c_68(pi^#(proper(X))) :68 -->_1 proper^#(negrecip(X)) -> c_67(negrecip^#(proper(X))) :67 -->_1 proper^#(2ndsneg(X1, X2)) -> c_66(2ndsneg^#(proper(X1), proper(X2))) :66 -->_1 proper^#(posrecip(X)) -> c_65(posrecip^#(proper(X))) :65 -->_1 proper^#(rcons(X1, X2)) -> c_64(rcons^#(proper(X1), proper(X2))) :64 -->_1 proper^#(2ndspos(X1, X2)) -> c_61(2ndspos^#(proper(X1), proper(X2))) :61 -->_1 proper^#(s(X)) -> c_60(s^#(proper(X))) :60 -->_1 proper^#(cons(X1, X2)) -> c_59(cons^#(proper(X1), proper(X2))) :59 -->_1 proper^#(from(X)) -> c_58(from^#(proper(X))) :58 -->_1 square^#(ok(X)) -> c_57(square^#(X)) :57 -->_1 square^#(mark(X)) -> c_56(square^#(X)) :56 -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 -->_1 pi^#(ok(X)) -> c_49(pi^#(X)) :49 -->_1 pi^#(mark(X)) -> c_48(pi^#(X)) :48 -->_1 negrecip^#(ok(X)) -> c_47(negrecip^#(X)) :47 -->_1 negrecip^#(mark(X)) -> c_46(negrecip^#(X)) :46 -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 -->_1 posrecip^#(ok(X)) -> c_42(posrecip^#(X)) :42 -->_1 posrecip^#(mark(X)) -> c_41(posrecip^#(X)) :41 -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 -->_1 s^#(ok(X)) -> c_34(s^#(X)) :34 -->_1 s^#(mark(X)) -> c_33(s^#(X)) :33 -->_1 cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) :32 -->_1 cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) :31 -->_1 from^#(ok(X)) -> c_30(from^#(X)) :30 -->_1 from^#(mark(X)) -> c_29(from^#(X)) :29 -->_1 active^#(square(X)) -> c_28(square^#(active(X))) :28 -->_1 active^#(square(X)) -> c_27(times^#(X, X)) :27 -->_1 active^#(times(s(X), Y)) -> c_25(plus^#(Y, times(X, Y))) :25 -->_1 active^#(times(X1, X2)) -> c_24(times^#(active(X1), X2)) :24 -->_1 active^#(times(X1, X2)) -> c_23(times^#(X1, active(X2))) :23 -->_1 proper^#(nil()) -> c_72() :72 -->_1 proper^#(rnil()) -> c_63() :63 -->_1 proper^#(0()) -> c_62() :62 -->_1 active^#(times(0(), Y)) -> c_26() :26 -->_1 active^#(plus(0(), Y)) -> c_22(Y) :22 -->_1 active^#(plus(s(X), Y)) -> c_21(s^#(plus(X, Y))) :21 -->_1 active^#(plus(X1, X2)) -> c_20(plus^#(active(X1), X2)) :20 -->_1 active^#(plus(X1, X2)) -> c_19(plus^#(X1, active(X2))) :19 -->_1 active^#(pi(X)) -> c_18(pi^#(active(X))) :18 -->_1 active^#(pi(X)) -> c_17(2ndspos^#(X, from(0()))) :17 -->_1 active^#(negrecip(X)) -> c_16(negrecip^#(active(X))) :16 -->_1 active^#(2ndsneg(0(), Z)) -> c_15() :15 -->_1 active^#(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> c_14(rcons^#(negrecip(Y), 2ndspos(N, Z))) :14 -->_1 active^#(2ndsneg(X1, X2)) -> c_13(2ndsneg^#(active(X1), X2)) :13 -->_1 active^#(2ndsneg(X1, X2)) -> c_12(2ndsneg^#(X1, active(X2))) :12 -->_1 active^#(posrecip(X)) -> c_11(posrecip^#(active(X))) :11 -->_1 active^#(rcons(X1, X2)) -> c_10(rcons^#(active(X1), X2)) :10 -->_1 active^#(rcons(X1, X2)) -> c_9(rcons^#(X1, active(X2))) :9 -->_1 active^#(2ndspos(0(), Z)) -> c_8() :8 -->_1 active^#(2ndspos(s(N), cons(X, cons(Y, Z)))) -> c_7(rcons^#(posrecip(Y), 2ndsneg(N, Z))) :7 -->_1 active^#(2ndspos(X1, X2)) -> c_6(2ndspos^#(active(X1), X2)) :6 -->_1 active^#(2ndspos(X1, X2)) -> c_5(2ndspos^#(X1, active(X2))) :5 -->_1 active^#(s(X)) -> c_4(s^#(active(X))) :4 -->_1 active^#(cons(X1, X2)) -> c_3(cons^#(active(X1), X2)) :3 -->_1 active^#(from(X)) -> c_2(cons^#(X, from(s(X)))) :2 -->_1 active^#(from(X)) -> c_1(from^#(active(X))) :1 23: active^#(times(X1, X2)) -> c_23(times^#(X1, active(X2))) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 24: active^#(times(X1, X2)) -> c_24(times^#(active(X1), X2)) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 25: active^#(times(s(X), Y)) -> c_25(plus^#(Y, times(X, Y))) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 26: active^#(times(0(), Y)) -> c_26() 27: active^#(square(X)) -> c_27(times^#(X, X)) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 28: active^#(square(X)) -> c_28(square^#(active(X))) -->_1 square^#(ok(X)) -> c_57(square^#(X)) :57 -->_1 square^#(mark(X)) -> c_56(square^#(X)) :56 29: from^#(mark(X)) -> c_29(from^#(X)) -->_1 from^#(ok(X)) -> c_30(from^#(X)) :30 -->_1 from^#(mark(X)) -> c_29(from^#(X)) :29 30: from^#(ok(X)) -> c_30(from^#(X)) -->_1 from^#(ok(X)) -> c_30(from^#(X)) :30 -->_1 from^#(mark(X)) -> c_29(from^#(X)) :29 31: cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) :32 -->_1 cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) :31 32: cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) -->_1 cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) :32 -->_1 cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) :31 33: s^#(mark(X)) -> c_33(s^#(X)) -->_1 s^#(ok(X)) -> c_34(s^#(X)) :34 -->_1 s^#(mark(X)) -> c_33(s^#(X)) :33 34: s^#(ok(X)) -> c_34(s^#(X)) -->_1 s^#(ok(X)) -> c_34(s^#(X)) :34 -->_1 s^#(mark(X)) -> c_33(s^#(X)) :33 35: 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 36: 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 37: 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 38: rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 39: rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 40: rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 41: posrecip^#(mark(X)) -> c_41(posrecip^#(X)) -->_1 posrecip^#(ok(X)) -> c_42(posrecip^#(X)) :42 -->_1 posrecip^#(mark(X)) -> c_41(posrecip^#(X)) :41 42: posrecip^#(ok(X)) -> c_42(posrecip^#(X)) -->_1 posrecip^#(ok(X)) -> c_42(posrecip^#(X)) :42 -->_1 posrecip^#(mark(X)) -> c_41(posrecip^#(X)) :41 43: 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 44: 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 45: 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 46: negrecip^#(mark(X)) -> c_46(negrecip^#(X)) -->_1 negrecip^#(ok(X)) -> c_47(negrecip^#(X)) :47 -->_1 negrecip^#(mark(X)) -> c_46(negrecip^#(X)) :46 47: negrecip^#(ok(X)) -> c_47(negrecip^#(X)) -->_1 negrecip^#(ok(X)) -> c_47(negrecip^#(X)) :47 -->_1 negrecip^#(mark(X)) -> c_46(negrecip^#(X)) :46 48: pi^#(mark(X)) -> c_48(pi^#(X)) -->_1 pi^#(ok(X)) -> c_49(pi^#(X)) :49 -->_1 pi^#(mark(X)) -> c_48(pi^#(X)) :48 49: pi^#(ok(X)) -> c_49(pi^#(X)) -->_1 pi^#(ok(X)) -> c_49(pi^#(X)) :49 -->_1 pi^#(mark(X)) -> c_48(pi^#(X)) :48 50: plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 51: plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 52: plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 53: times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 54: times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 55: times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 56: square^#(mark(X)) -> c_56(square^#(X)) -->_1 square^#(ok(X)) -> c_57(square^#(X)) :57 -->_1 square^#(mark(X)) -> c_56(square^#(X)) :56 57: square^#(ok(X)) -> c_57(square^#(X)) -->_1 square^#(ok(X)) -> c_57(square^#(X)) :57 -->_1 square^#(mark(X)) -> c_56(square^#(X)) :56 58: proper^#(from(X)) -> c_58(from^#(proper(X))) -->_1 from^#(ok(X)) -> c_30(from^#(X)) :30 -->_1 from^#(mark(X)) -> c_29(from^#(X)) :29 59: proper^#(cons(X1, X2)) -> c_59(cons^#(proper(X1), proper(X2))) -->_1 cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) :32 -->_1 cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) :31 60: proper^#(s(X)) -> c_60(s^#(proper(X))) -->_1 s^#(ok(X)) -> c_34(s^#(X)) :34 -->_1 s^#(mark(X)) -> c_33(s^#(X)) :33 61: proper^#(2ndspos(X1, X2)) -> c_61(2ndspos^#(proper(X1), proper(X2))) -->_1 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) :37 -->_1 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) :36 -->_1 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) :35 62: proper^#(0()) -> c_62() 63: proper^#(rnil()) -> c_63() 64: proper^#(rcons(X1, X2)) -> c_64(rcons^#(proper(X1), proper(X2))) -->_1 rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) :40 -->_1 rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) :39 -->_1 rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) :38 65: proper^#(posrecip(X)) -> c_65(posrecip^#(proper(X))) -->_1 posrecip^#(ok(X)) -> c_42(posrecip^#(X)) :42 -->_1 posrecip^#(mark(X)) -> c_41(posrecip^#(X)) :41 66: proper^#(2ndsneg(X1, X2)) -> c_66(2ndsneg^#(proper(X1), proper(X2))) -->_1 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) :45 -->_1 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) :44 -->_1 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) :43 67: proper^#(negrecip(X)) -> c_67(negrecip^#(proper(X))) -->_1 negrecip^#(ok(X)) -> c_47(negrecip^#(X)) :47 -->_1 negrecip^#(mark(X)) -> c_46(negrecip^#(X)) :46 68: proper^#(pi(X)) -> c_68(pi^#(proper(X))) -->_1 pi^#(ok(X)) -> c_49(pi^#(X)) :49 -->_1 pi^#(mark(X)) -> c_48(pi^#(X)) :48 69: proper^#(plus(X1, X2)) -> c_69(plus^#(proper(X1), proper(X2))) -->_1 plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) :52 -->_1 plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) :51 -->_1 plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) :50 70: proper^#(times(X1, X2)) -> c_70(times^#(proper(X1), proper(X2))) -->_1 times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) :55 -->_1 times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) :54 -->_1 times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) :53 71: proper^#(square(X)) -> c_71(square^#(proper(X))) -->_1 square^#(ok(X)) -> c_57(square^#(X)) :57 -->_1 square^#(mark(X)) -> c_56(square^#(X)) :56 72: proper^#(nil()) -> c_72() 73: top^#(mark(X)) -> c_73(top^#(proper(X))) -->_1 top^#(ok(X)) -> c_74(top^#(active(X))) :74 -->_1 top^#(mark(X)) -> c_73(top^#(proper(X))) :73 74: top^#(ok(X)) -> c_74(top^#(active(X))) -->_1 top^#(ok(X)) -> c_74(top^#(active(X))) :74 -->_1 top^#(mark(X)) -> c_73(top^#(proper(X))) :73 Only the nodes {29,30,31,32,33,34,35,37,36,38,40,39,41,42,43,45,44,46,47,48,49,50,52,51,53,55,54,56,57,62,63,72,73,74} are reachable from nodes {29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,62,63,72,73,74} that start derivation from marked basic terms. The nodes not reachable are removed from the problem. We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { from^#(mark(X)) -> c_29(from^#(X)) , from^#(ok(X)) -> c_30(from^#(X)) , cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) , s^#(mark(X)) -> c_33(s^#(X)) , s^#(ok(X)) -> c_34(s^#(X)) , 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) , 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) , 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) , rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) , rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) , rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) , posrecip^#(mark(X)) -> c_41(posrecip^#(X)) , posrecip^#(ok(X)) -> c_42(posrecip^#(X)) , 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) , 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) , 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) , negrecip^#(mark(X)) -> c_46(negrecip^#(X)) , negrecip^#(ok(X)) -> c_47(negrecip^#(X)) , pi^#(mark(X)) -> c_48(pi^#(X)) , pi^#(ok(X)) -> c_49(pi^#(X)) , plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) , times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) , times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) , times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) , square^#(mark(X)) -> c_56(square^#(X)) , square^#(ok(X)) -> c_57(square^#(X)) , proper^#(0()) -> c_62() , proper^#(rnil()) -> c_63() , proper^#(nil()) -> c_72() , top^#(mark(X)) -> c_73(top^#(proper(X))) , top^#(ok(X)) -> c_74(top^#(active(X))) } Strict Trs: { active(from(X)) -> from(active(X)) , active(from(X)) -> mark(cons(X, from(s(X)))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(s(X)) -> s(active(X)) , active(2ndspos(X1, X2)) -> 2ndspos(X1, active(X2)) , active(2ndspos(X1, X2)) -> 2ndspos(active(X1), X2) , active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) , active(2ndspos(0(), Z)) -> mark(rnil()) , active(rcons(X1, X2)) -> rcons(X1, active(X2)) , active(rcons(X1, X2)) -> rcons(active(X1), X2) , active(posrecip(X)) -> posrecip(active(X)) , active(2ndsneg(X1, X2)) -> 2ndsneg(X1, active(X2)) , active(2ndsneg(X1, X2)) -> 2ndsneg(active(X1), X2) , active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) , active(2ndsneg(0(), Z)) -> mark(rnil()) , active(negrecip(X)) -> negrecip(active(X)) , active(pi(X)) -> mark(2ndspos(X, from(0()))) , active(pi(X)) -> pi(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(s(X), Y)) -> mark(s(plus(X, Y))) , active(plus(0(), Y)) -> mark(Y) , active(times(X1, X2)) -> times(X1, active(X2)) , active(times(X1, X2)) -> times(active(X1), X2) , active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) , active(times(0(), Y)) -> mark(0()) , active(square(X)) -> mark(times(X, X)) , active(square(X)) -> square(active(X)) , from(mark(X)) -> mark(from(X)) , from(ok(X)) -> ok(from(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , 2ndspos(X1, mark(X2)) -> mark(2ndspos(X1, X2)) , 2ndspos(mark(X1), X2) -> mark(2ndspos(X1, X2)) , 2ndspos(ok(X1), ok(X2)) -> ok(2ndspos(X1, X2)) , rcons(X1, mark(X2)) -> mark(rcons(X1, X2)) , rcons(mark(X1), X2) -> mark(rcons(X1, X2)) , rcons(ok(X1), ok(X2)) -> ok(rcons(X1, X2)) , posrecip(mark(X)) -> mark(posrecip(X)) , posrecip(ok(X)) -> ok(posrecip(X)) , 2ndsneg(X1, mark(X2)) -> mark(2ndsneg(X1, X2)) , 2ndsneg(mark(X1), X2) -> mark(2ndsneg(X1, X2)) , 2ndsneg(ok(X1), ok(X2)) -> ok(2ndsneg(X1, X2)) , negrecip(mark(X)) -> mark(negrecip(X)) , negrecip(ok(X)) -> ok(negrecip(X)) , pi(mark(X)) -> mark(pi(X)) , pi(ok(X)) -> ok(pi(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , times(X1, mark(X2)) -> mark(times(X1, X2)) , times(mark(X1), X2) -> mark(times(X1, X2)) , times(ok(X1), ok(X2)) -> ok(times(X1, X2)) , square(mark(X)) -> mark(square(X)) , square(ok(X)) -> ok(square(X)) , proper(from(X)) -> from(proper(X)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(2ndspos(X1, X2)) -> 2ndspos(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(rnil()) -> ok(rnil()) , proper(rcons(X1, X2)) -> rcons(proper(X1), proper(X2)) , proper(posrecip(X)) -> posrecip(proper(X)) , proper(2ndsneg(X1, X2)) -> 2ndsneg(proper(X1), proper(X2)) , proper(negrecip(X)) -> negrecip(proper(X)) , proper(pi(X)) -> pi(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(times(X1, X2)) -> times(proper(X1), proper(X2)) , proper(square(X)) -> square(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Obligation: runtime complexity Answer: MAYBE We estimate the number of application of {30,31,32} by applications of Pre({30,31,32}) = {}. Here rules are labeled as follows: DPs: { 1: from^#(mark(X)) -> c_29(from^#(X)) , 2: from^#(ok(X)) -> c_30(from^#(X)) , 3: cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) , 4: cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) , 5: s^#(mark(X)) -> c_33(s^#(X)) , 6: s^#(ok(X)) -> c_34(s^#(X)) , 7: 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) , 8: 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) , 9: 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) , 10: rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) , 11: rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) , 12: rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) , 13: posrecip^#(mark(X)) -> c_41(posrecip^#(X)) , 14: posrecip^#(ok(X)) -> c_42(posrecip^#(X)) , 15: 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) , 16: 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) , 17: 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) , 18: negrecip^#(mark(X)) -> c_46(negrecip^#(X)) , 19: negrecip^#(ok(X)) -> c_47(negrecip^#(X)) , 20: pi^#(mark(X)) -> c_48(pi^#(X)) , 21: pi^#(ok(X)) -> c_49(pi^#(X)) , 22: plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) , 23: plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) , 24: plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) , 25: times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) , 26: times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) , 27: times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) , 28: square^#(mark(X)) -> c_56(square^#(X)) , 29: square^#(ok(X)) -> c_57(square^#(X)) , 30: proper^#(0()) -> c_62() , 31: proper^#(rnil()) -> c_63() , 32: proper^#(nil()) -> c_72() , 33: top^#(mark(X)) -> c_73(top^#(proper(X))) , 34: top^#(ok(X)) -> c_74(top^#(active(X))) } We are left with following problem, upon which TcT provides the certificate MAYBE. Strict DPs: { from^#(mark(X)) -> c_29(from^#(X)) , from^#(ok(X)) -> c_30(from^#(X)) , cons^#(mark(X1), X2) -> c_31(cons^#(X1, X2)) , cons^#(ok(X1), ok(X2)) -> c_32(cons^#(X1, X2)) , s^#(mark(X)) -> c_33(s^#(X)) , s^#(ok(X)) -> c_34(s^#(X)) , 2ndspos^#(X1, mark(X2)) -> c_35(2ndspos^#(X1, X2)) , 2ndspos^#(mark(X1), X2) -> c_36(2ndspos^#(X1, X2)) , 2ndspos^#(ok(X1), ok(X2)) -> c_37(2ndspos^#(X1, X2)) , rcons^#(X1, mark(X2)) -> c_38(rcons^#(X1, X2)) , rcons^#(mark(X1), X2) -> c_39(rcons^#(X1, X2)) , rcons^#(ok(X1), ok(X2)) -> c_40(rcons^#(X1, X2)) , posrecip^#(mark(X)) -> c_41(posrecip^#(X)) , posrecip^#(ok(X)) -> c_42(posrecip^#(X)) , 2ndsneg^#(X1, mark(X2)) -> c_43(2ndsneg^#(X1, X2)) , 2ndsneg^#(mark(X1), X2) -> c_44(2ndsneg^#(X1, X2)) , 2ndsneg^#(ok(X1), ok(X2)) -> c_45(2ndsneg^#(X1, X2)) , negrecip^#(mark(X)) -> c_46(negrecip^#(X)) , negrecip^#(ok(X)) -> c_47(negrecip^#(X)) , pi^#(mark(X)) -> c_48(pi^#(X)) , pi^#(ok(X)) -> c_49(pi^#(X)) , plus^#(X1, mark(X2)) -> c_50(plus^#(X1, X2)) , plus^#(mark(X1), X2) -> c_51(plus^#(X1, X2)) , plus^#(ok(X1), ok(X2)) -> c_52(plus^#(X1, X2)) , times^#(X1, mark(X2)) -> c_53(times^#(X1, X2)) , times^#(mark(X1), X2) -> c_54(times^#(X1, X2)) , times^#(ok(X1), ok(X2)) -> c_55(times^#(X1, X2)) , square^#(mark(X)) -> c_56(square^#(X)) , square^#(ok(X)) -> c_57(square^#(X)) , top^#(mark(X)) -> c_73(top^#(proper(X))) , top^#(ok(X)) -> c_74(top^#(active(X))) } Strict Trs: { active(from(X)) -> from(active(X)) , active(from(X)) -> mark(cons(X, from(s(X)))) , active(cons(X1, X2)) -> cons(active(X1), X2) , active(s(X)) -> s(active(X)) , active(2ndspos(X1, X2)) -> 2ndspos(X1, active(X2)) , active(2ndspos(X1, X2)) -> 2ndspos(active(X1), X2) , active(2ndspos(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(posrecip(Y), 2ndsneg(N, Z))) , active(2ndspos(0(), Z)) -> mark(rnil()) , active(rcons(X1, X2)) -> rcons(X1, active(X2)) , active(rcons(X1, X2)) -> rcons(active(X1), X2) , active(posrecip(X)) -> posrecip(active(X)) , active(2ndsneg(X1, X2)) -> 2ndsneg(X1, active(X2)) , active(2ndsneg(X1, X2)) -> 2ndsneg(active(X1), X2) , active(2ndsneg(s(N), cons(X, cons(Y, Z)))) -> mark(rcons(negrecip(Y), 2ndspos(N, Z))) , active(2ndsneg(0(), Z)) -> mark(rnil()) , active(negrecip(X)) -> negrecip(active(X)) , active(pi(X)) -> mark(2ndspos(X, from(0()))) , active(pi(X)) -> pi(active(X)) , active(plus(X1, X2)) -> plus(X1, active(X2)) , active(plus(X1, X2)) -> plus(active(X1), X2) , active(plus(s(X), Y)) -> mark(s(plus(X, Y))) , active(plus(0(), Y)) -> mark(Y) , active(times(X1, X2)) -> times(X1, active(X2)) , active(times(X1, X2)) -> times(active(X1), X2) , active(times(s(X), Y)) -> mark(plus(Y, times(X, Y))) , active(times(0(), Y)) -> mark(0()) , active(square(X)) -> mark(times(X, X)) , active(square(X)) -> square(active(X)) , from(mark(X)) -> mark(from(X)) , from(ok(X)) -> ok(from(X)) , cons(mark(X1), X2) -> mark(cons(X1, X2)) , cons(ok(X1), ok(X2)) -> ok(cons(X1, X2)) , s(mark(X)) -> mark(s(X)) , s(ok(X)) -> ok(s(X)) , 2ndspos(X1, mark(X2)) -> mark(2ndspos(X1, X2)) , 2ndspos(mark(X1), X2) -> mark(2ndspos(X1, X2)) , 2ndspos(ok(X1), ok(X2)) -> ok(2ndspos(X1, X2)) , rcons(X1, mark(X2)) -> mark(rcons(X1, X2)) , rcons(mark(X1), X2) -> mark(rcons(X1, X2)) , rcons(ok(X1), ok(X2)) -> ok(rcons(X1, X2)) , posrecip(mark(X)) -> mark(posrecip(X)) , posrecip(ok(X)) -> ok(posrecip(X)) , 2ndsneg(X1, mark(X2)) -> mark(2ndsneg(X1, X2)) , 2ndsneg(mark(X1), X2) -> mark(2ndsneg(X1, X2)) , 2ndsneg(ok(X1), ok(X2)) -> ok(2ndsneg(X1, X2)) , negrecip(mark(X)) -> mark(negrecip(X)) , negrecip(ok(X)) -> ok(negrecip(X)) , pi(mark(X)) -> mark(pi(X)) , pi(ok(X)) -> ok(pi(X)) , plus(X1, mark(X2)) -> mark(plus(X1, X2)) , plus(mark(X1), X2) -> mark(plus(X1, X2)) , plus(ok(X1), ok(X2)) -> ok(plus(X1, X2)) , times(X1, mark(X2)) -> mark(times(X1, X2)) , times(mark(X1), X2) -> mark(times(X1, X2)) , times(ok(X1), ok(X2)) -> ok(times(X1, X2)) , square(mark(X)) -> mark(square(X)) , square(ok(X)) -> ok(square(X)) , proper(from(X)) -> from(proper(X)) , proper(cons(X1, X2)) -> cons(proper(X1), proper(X2)) , proper(s(X)) -> s(proper(X)) , proper(2ndspos(X1, X2)) -> 2ndspos(proper(X1), proper(X2)) , proper(0()) -> ok(0()) , proper(rnil()) -> ok(rnil()) , proper(rcons(X1, X2)) -> rcons(proper(X1), proper(X2)) , proper(posrecip(X)) -> posrecip(proper(X)) , proper(2ndsneg(X1, X2)) -> 2ndsneg(proper(X1), proper(X2)) , proper(negrecip(X)) -> negrecip(proper(X)) , proper(pi(X)) -> pi(proper(X)) , proper(plus(X1, X2)) -> plus(proper(X1), proper(X2)) , proper(times(X1, X2)) -> times(proper(X1), proper(X2)) , proper(square(X)) -> square(proper(X)) , proper(nil()) -> ok(nil()) , top(mark(X)) -> top(proper(X)) , top(ok(X)) -> top(active(X)) } Weak DPs: { proper^#(0()) -> c_62() , proper^#(rnil()) -> c_63() , proper^#(nil()) -> c_72() } Obligation: runtime complexity Answer: MAYBE Empty strict component of the problem is NOT empty. Arrrr..