MAYBE * Step 1: DependencyPairs MAYBE + Considered Problem: - Strict TRS: tail(cons(X,XS)) -> XS zeros() -> cons(0(),zeros()) - Signature: {tail/1,zeros/0} / {0/0,cons/2} - Obligation: innermost runtime complexity wrt. defined symbols {tail,zeros} and constructors {0,cons} + Applied Processor: DependencyPairs {dpKind_ = DT} + Details: We add the following dependency tuples: Strict DPs tail#(cons(X,XS)) -> c_1() zeros#() -> c_2(zeros#()) Weak DPs and mark the set of starting terms. * Step 2: UsableRules MAYBE + Considered Problem: - Strict DPs: tail#(cons(X,XS)) -> c_1() zeros#() -> c_2(zeros#()) - Weak TRS: tail(cons(X,XS)) -> XS zeros() -> cons(0(),zeros()) - Signature: {tail/1,zeros/0,tail#/1,zeros#/0} / {0/0,cons/2,c_1/0,c_2/1} - Obligation: innermost runtime complexity wrt. defined symbols {tail#,zeros#} and constructors {0,cons} + Applied Processor: UsableRules + Details: We replace rewrite rules by usable rules: tail#(cons(X,XS)) -> c_1() zeros#() -> c_2(zeros#()) * Step 3: PredecessorEstimation MAYBE + Considered Problem: - Strict DPs: tail#(cons(X,XS)) -> c_1() zeros#() -> c_2(zeros#()) - Signature: {tail/1,zeros/0,tail#/1,zeros#/0} / {0/0,cons/2,c_1/0,c_2/1} - Obligation: innermost runtime complexity wrt. defined symbols {tail#,zeros#} and constructors {0,cons} + Applied Processor: PredecessorEstimation {onSelection = all simple predecessor estimation selector} + Details: We estimate the number of application of {1} by application of Pre({1}) = {}. Here rules are labelled as follows: 1: tail#(cons(X,XS)) -> c_1() 2: zeros#() -> c_2(zeros#()) * Step 4: RemoveWeakSuffixes MAYBE + Considered Problem: - Strict DPs: zeros#() -> c_2(zeros#()) - Weak DPs: tail#(cons(X,XS)) -> c_1() - Signature: {tail/1,zeros/0,tail#/1,zeros#/0} / {0/0,cons/2,c_1/0,c_2/1} - Obligation: innermost runtime complexity wrt. defined symbols {tail#,zeros#} and constructors {0,cons} + Applied Processor: RemoveWeakSuffixes + Details: Consider the dependency graph 1:S:zeros#() -> c_2(zeros#()) -->_1 zeros#() -> c_2(zeros#()):1 2:W:tail#(cons(X,XS)) -> c_1() The following weak DPs constitute a sub-graph of the DG that is closed under successors. The DPs are removed. 2: tail#(cons(X,XS)) -> c_1() * Step 5: Failure MAYBE + Considered Problem: - Strict DPs: zeros#() -> c_2(zeros#()) - Signature: {tail/1,zeros/0,tail#/1,zeros#/0} / {0/0,cons/2,c_1/0,c_2/1} - Obligation: innermost runtime complexity wrt. defined symbols {tail#,zeros#} and constructors {0,cons} + Applied Processor: EmptyProcessor + Details: The problem is still open. MAYBE