LMPO
YES(?,ELEMENTARY)
We consider the following Problem:
Strict Trs:
{ first(0(), X) -> nil()
, first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z)))
, from(X) -> cons(X, n__from(s(X)))
, first(X1, X2) -> n__first(X1, X2)
, from(X) -> n__from(X)
, activate(n__first(X1, X2)) -> first(X1, X2)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,ELEMENTARY)
Proof:
The input was oriented with the instance of
Lightweight Multiset Path Order () as induced by the safe mapping
safe(first) = {}, safe(0) = {}, safe(nil) = {}, safe(s) = {1},
safe(cons) = {1, 2}, safe(n__first) = {1, 2}, safe(activate) = {},
safe(from) = {}, safe(n__from) = {1}
and precedence
first ~ activate, activate ~ from .
Following symbols are considered recursive:
{first, activate, from}
The recursion depth is 1 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ first(0(), X;) -> nil()
, first(s(; X), cons(; Y, Z);) ->
cons(; Y, n__first(; X, activate(Z;)))
, from(X;) -> cons(; X, n__from(; s(; X)))
, first(X1, X2;) -> n__first(; X1, X2)
, from(X;) -> n__from(; X)
, activate(n__first(; X1, X2);) -> first(X1, X2;)
, activate(n__from(; X);) -> from(X;)
, activate(X;) -> X}
Weak Trs : {}
Hurray, we answered YES(?,ELEMENTARY)
MPO
YES(?,PRIMREC)
We consider the following Problem:
Strict Trs:
{ first(0(), X) -> nil()
, first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z)))
, from(X) -> cons(X, n__from(s(X)))
, first(X1, X2) -> n__first(X1, X2)
, from(X) -> n__from(X)
, activate(n__first(X1, X2)) -> first(X1, X2)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,PRIMREC)
Proof:
The input was oriented with the instance of
'multiset path orders' as induced by the precedence
first > cons, first > n__first, 0 > nil, activate > from, from > s,
from > cons, from > n__from, first ~ activate .
Hurray, we answered YES(?,PRIMREC)
POP*
YES(?,POLY)
We consider the following Problem:
Strict Trs:
{ first(0(), X) -> nil()
, first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z)))
, from(X) -> cons(X, n__from(s(X)))
, first(X1, X2) -> n__first(X1, X2)
, from(X) -> n__from(X)
, activate(n__first(X1, X2)) -> first(X1, X2)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,POLY)
Proof:
The input was oriented with the instance of
Polynomial Path Order () as induced by the safe mapping
safe(first) = {}, safe(0) = {}, safe(nil) = {}, safe(s) = {1},
safe(cons) = {1, 2}, safe(n__first) = {1, 2}, safe(activate) = {},
safe(from) = {}, safe(n__from) = {1}
and precedence
first ~ activate, activate ~ from .
Following symbols are considered recursive:
{first, activate, from}
The recursion depth is 1 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ first(0(), X;) -> nil()
, first(s(; X), cons(; Y, Z);) ->
cons(; Y, n__first(; X, activate(Z;)))
, from(X;) -> cons(; X, n__from(; s(; X)))
, first(X1, X2;) -> n__first(; X1, X2)
, from(X;) -> n__from(; X)
, activate(n__first(; X1, X2);) -> first(X1, X2;)
, activate(n__from(; X);) -> from(X;)
, activate(X;) -> X}
Weak Trs : {}
Hurray, we answered YES(?,POLY)
POP* (PS)
YES(?,POLY)
We consider the following Problem:
Strict Trs:
{ first(0(), X) -> nil()
, first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z)))
, from(X) -> cons(X, n__from(s(X)))
, first(X1, X2) -> n__first(X1, X2)
, from(X) -> n__from(X)
, activate(n__first(X1, X2)) -> first(X1, X2)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,POLY)
Proof:
The input was oriented with the instance of
Polynomial Path Order (PS) as induced by the safe mapping
safe(first) = {}, safe(0) = {}, safe(nil) = {}, safe(s) = {1},
safe(cons) = {1, 2}, safe(n__first) = {1, 2}, safe(activate) = {},
safe(from) = {1}, safe(n__from) = {1}
and precedence
first ~ activate, activate ~ from .
Following symbols are considered recursive:
{first, activate, from}
The recursion depth is 1 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ first(0(), X;) -> nil()
, first(s(; X), cons(; Y, Z);) ->
cons(; Y, n__first(; X, activate(Z;)))
, from(; X) -> cons(; X, n__from(; s(; X)))
, first(X1, X2;) -> n__first(; X1, X2)
, from(; X) -> n__from(; X)
, activate(n__first(; X1, X2);) -> first(X1, X2;)
, activate(n__from(; X);) -> from(; X)
, activate(X;) -> X}
Weak Trs : {}
Hurray, we answered YES(?,POLY)
Small POP*
MAYBE
We consider the following Problem:
Strict Trs:
{ first(0(), X) -> nil()
, first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z)))
, from(X) -> cons(X, n__from(s(X)))
, first(X1, X2) -> n__first(X1, X2)
, from(X) -> n__from(X)
, activate(n__first(X1, X2)) -> first(X1, X2)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: MAYBE
Proof:
The input cannot be shown compatible
Arrrr..
Small POP* (PS)
YES(?,O(n^1))
We consider the following Problem:
Strict Trs:
{ first(0(), X) -> nil()
, first(s(X), cons(Y, Z)) -> cons(Y, n__first(X, activate(Z)))
, from(X) -> cons(X, n__from(s(X)))
, first(X1, X2) -> n__first(X1, X2)
, from(X) -> n__from(X)
, activate(n__first(X1, X2)) -> first(X1, X2)
, activate(n__from(X)) -> from(X)
, activate(X) -> X}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(n^1))
Proof:
The input was oriented with the instance of
Small Polynomial Path Order (WSC,
PS) as induced by the safe mapping
safe(first) = {1}, safe(0) = {}, safe(nil) = {}, safe(s) = {1},
safe(cons) = {1, 2}, safe(n__first) = {1, 2}, safe(activate) = {},
safe(from) = {1}, safe(n__from) = {1}
and precedence
first ~ activate, activate ~ from .
Following symbols are considered recursive:
{first, activate, from}
The recursion depth is 1 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ first(X; 0()) -> nil()
, first(cons(; Y, Z); s(; X)) ->
cons(; Y, n__first(; X, activate(Z;)))
, from(; X) -> cons(; X, n__from(; s(; X)))
, first(X2; X1) -> n__first(; X1, X2)
, from(; X) -> n__from(; X)
, activate(n__first(; X1, X2);) -> first(X2; X1)
, activate(n__from(; X);) -> from(; X)
, activate(X;) -> X}
Weak Trs : {}
Hurray, we answered YES(?,O(n^1))