*** 1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: add(0(),X) -> X add(s(),Y) -> s() dbl(0()) -> 0() dbl(s()) -> s() first(0(),X) -> nil() first(s(),cons(Y)) -> cons(Y) sqr(0()) -> 0() sqr(s()) -> s() terms(N) -> cons(recip(sqr(N))) Weak DP Rules: Weak TRS Rules: Signature: {add/2,dbl/1,first/2,sqr/1,terms/1} / {0/0,cons/1,nil/0,recip/1,s/0} Obligation: Full basic terms: {add,dbl,first,sqr,terms}/{0,cons,nil,recip,s} Applied Processor: ToInnermost Proof: switch to innermost, as the system is overlay and right linear and does not contain weak rules *** 1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: add(0(),X) -> X add(s(),Y) -> s() dbl(0()) -> 0() dbl(s()) -> s() first(0(),X) -> nil() first(s(),cons(Y)) -> cons(Y) sqr(0()) -> 0() sqr(s()) -> s() terms(N) -> cons(recip(sqr(N))) Weak DP Rules: Weak TRS Rules: Signature: {add/2,dbl/1,first/2,sqr/1,terms/1} / {0/0,cons/1,nil/0,recip/1,s/0} Obligation: Innermost basic terms: {add,dbl,first,sqr,terms}/{0,cons,nil,recip,s} Applied Processor: DependencyPairs {dpKind_ = DT} Proof: We add the following dependency tuples: Strict DPs add#(0(),X) -> c_1() add#(s(),Y) -> c_2() dbl#(0()) -> c_3() dbl#(s()) -> c_4() first#(0(),X) -> c_5() first#(s(),cons(Y)) -> c_6() sqr#(0()) -> c_7() sqr#(s()) -> c_8() terms#(N) -> c_9(sqr#(N)) Weak DPs and mark the set of starting terms. *** 1.1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: add#(0(),X) -> c_1() add#(s(),Y) -> c_2() dbl#(0()) -> c_3() dbl#(s()) -> c_4() first#(0(),X) -> c_5() first#(s(),cons(Y)) -> c_6() sqr#(0()) -> c_7() sqr#(s()) -> c_8() terms#(N) -> c_9(sqr#(N)) Strict TRS Rules: Weak DP Rules: Weak TRS Rules: add(0(),X) -> X add(s(),Y) -> s() dbl(0()) -> 0() dbl(s()) -> s() first(0(),X) -> nil() first(s(),cons(Y)) -> cons(Y) sqr(0()) -> 0() sqr(s()) -> s() terms(N) -> cons(recip(sqr(N))) Signature: {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/1} Obligation: Innermost basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s} Applied Processor: UsableRules Proof: We replace rewrite rules by usable rules: add#(0(),X) -> c_1() add#(s(),Y) -> c_2() dbl#(0()) -> c_3() dbl#(s()) -> c_4() first#(0(),X) -> c_5() first#(s(),cons(Y)) -> c_6() sqr#(0()) -> c_7() sqr#(s()) -> c_8() terms#(N) -> c_9(sqr#(N)) *** 1.1.1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: add#(0(),X) -> c_1() add#(s(),Y) -> c_2() dbl#(0()) -> c_3() dbl#(s()) -> c_4() first#(0(),X) -> c_5() first#(s(),cons(Y)) -> c_6() sqr#(0()) -> c_7() sqr#(s()) -> c_8() terms#(N) -> c_9(sqr#(N)) Strict TRS Rules: Weak DP Rules: Weak TRS Rules: Signature: {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/1} Obligation: Innermost basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s} Applied Processor: Trivial Proof: Consider the dependency graph 1:S:add#(0(),X) -> c_1() 2:S:add#(s(),Y) -> c_2() 3:S:dbl#(0()) -> c_3() 4:S:dbl#(s()) -> c_4() 5:S:first#(0(),X) -> c_5() 6:S:first#(s(),cons(Y)) -> c_6() 7:S:sqr#(0()) -> c_7() 8:S:sqr#(s()) -> c_8() 9:S:terms#(N) -> c_9(sqr#(N)) -->_1 sqr#(s()) -> c_8():8 -->_1 sqr#(0()) -> c_7():7 The dependency graph contains no loops, we remove all dependency pairs. *** 1.1.1.1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: Weak TRS Rules: Signature: {add/2,dbl/1,first/2,sqr/1,terms/1,add#/2,dbl#/1,first#/2,sqr#/1,terms#/1} / {0/0,cons/1,nil/0,recip/1,s/0,c_1/0,c_2/0,c_3/0,c_4/0,c_5/0,c_6/0,c_7/0,c_8/0,c_9/1} Obligation: Innermost basic terms: {add#,dbl#,first#,sqr#,terms#}/{0,cons,nil,recip,s} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).