LMPO
YES(?,ELEMENTARY)
We consider the following Problem:
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s()}
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(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s()}
Weak Trs : {}
Hurray, we answered YES(?,ELEMENTARY)
MPO
YES(?,PRIMREC)
We consider the following Problem:
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s()}
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
nil > 0, from > cons, len > s, fst ~ nil .
Hurray, we answered YES(?,PRIMREC)
POP*
YES(?,POLY)
We consider the following Problem:
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s()}
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(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s()}
Weak Trs : {}
Hurray, we answered YES(?,POLY)
POP* (PS)
YES(?,POLY)
We consider the following Problem:
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s()}
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(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s()}
Weak Trs : {}
Hurray, we answered YES(?,POLY)
Small POP*
YES(?,O(1))
We consider the following Problem:
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s()}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(1))
Proof:
The input was oriented with the instance of
Small Polynomial Path Order (WSC) as induced by the safe mapping
safe(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s()}
Weak Trs : {}
Hurray, we answered YES(?,O(1))
Small POP* (PS)
YES(?,O(1))
We consider the following Problem:
Strict Trs:
{ fst(0(), Z) -> nil()
, fst(s(), cons(Y)) -> cons(Y)
, from(X) -> cons(X)
, add(0(), X) -> X
, add(s(), Y) -> s()
, len(nil()) -> 0()
, len(cons(X)) -> s()}
StartTerms: basic terms
Strategy: innermost
Certificate: YES(?,O(1))
Proof:
The input was oriented with the instance of
Small Polynomial Path Order (WSC,
PS) as induced by the safe mapping
safe(fst) = {2}, safe(0) = {}, safe(nil) = {}, safe(s) = {},
safe(cons) = {1}, safe(from) = {1}, safe(add) = {}, safe(len) = {}
and precedence
empty .
Following symbols are considered recursive:
{}
The recursion depth is 0 .
For your convenience, here are the oriented rules in predicative
notation (possibly applying argument filtering):
Strict DPs: {}
Weak DPs : {}
Strict Trs:
{ fst(0(); Z) -> nil()
, fst(s(); cons(; Y)) -> cons(; Y)
, from(; X) -> cons(; X)
, add(0(), X;) -> X
, add(s(), Y;) -> s()
, len(nil();) -> 0()
, len(cons(; X);) -> s()}
Weak Trs : {}
Hurray, we answered YES(?,O(1))