*** 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:
Full
basic terms: {first,from}/{0,cons,nil,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:
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.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.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.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).