*** 1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: first(0(),X) -> nil() first(s(X),cons(Y)) -> cons(Y) from(X) -> cons(X) Weak DP Rules: Weak TRS Rules: Signature: {first/2,from/1} / {0/0,cons/1,nil/0,s/1} Obligation: Innermost basic terms: {first,from}/{0,cons,nil,s} Applied Processor: DependencyPairs {dpKind_ = DT} Proof: We add the following dependency tuples: Strict DPs first#(0(),X) -> c_1() first#(s(X),cons(Y)) -> c_2() from#(X) -> c_3() Weak DPs and mark the set of starting terms. *** 1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: first#(0(),X) -> c_1() first#(s(X),cons(Y)) -> c_2() from#(X) -> c_3() Strict TRS Rules: Weak DP Rules: Weak TRS Rules: first(0(),X) -> nil() first(s(X),cons(Y)) -> cons(Y) from(X) -> cons(X) Signature: {first/2,from/1,first#/2,from#/1} / {0/0,cons/1,nil/0,s/1,c_1/0,c_2/0,c_3/0} Obligation: Innermost basic terms: {first#,from#}/{0,cons,nil,s} Applied Processor: UsableRules Proof: We replace rewrite rules by usable rules: first#(0(),X) -> c_1() first#(s(X),cons(Y)) -> c_2() from#(X) -> c_3() *** 1.1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: first#(0(),X) -> c_1() first#(s(X),cons(Y)) -> c_2() from#(X) -> c_3() Strict TRS Rules: Weak DP Rules: Weak TRS Rules: Signature: {first/2,from/1,first#/2,from#/1} / {0/0,cons/1,nil/0,s/1,c_1/0,c_2/0,c_3/0} Obligation: Innermost basic terms: {first#,from#}/{0,cons,nil,s} Applied Processor: Trivial Proof: Consider the dependency graph 1:S:first#(0(),X) -> c_1() 2:S:first#(s(X),cons(Y)) -> c_2() 3:S:from#(X) -> c_3() The dependency graph contains no loops, we remove all dependency pairs. *** 1.1.1.1 Progress [(O(1),O(1))] *** Considered Problem: Strict DP Rules: Strict TRS Rules: Weak DP Rules: Weak TRS Rules: Signature: {first/2,from/1,first#/2,from#/1} / {0/0,cons/1,nil/0,s/1,c_1/0,c_2/0,c_3/0} Obligation: Innermost basic terms: {first#,from#}/{0,cons,nil,s} Applied Processor: EmptyProcessor Proof: The problem is already closed. The intended complexity is O(1).