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