Problem SK90 4.29

LMPO

Execution Time (secs)
0.060
Answer
YES(?,ELEMENTARY)
InputSK90 4.29
YES(?,ELEMENTARY)

We consider the following Problem:

  Strict Trs:
    {  merge(x, nil()) -> x
     , merge(nil(), y) -> y
     , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v())))
     , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))}
  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(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {},
   safe(v) = {}
  
  and precedence
  
   empty .
  
  Following symbols are considered recursive:
  
   {merge}
  
  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:
     {  merge(x, nil();) -> x
      , merge(nil(), y;) -> y
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; x, merge(y, ++(; u(), v());))
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; u(), merge(++(; x, y), v();))}
   Weak Trs  : {}

Hurray, we answered YES(?,ELEMENTARY)

MPO

Execution Time (secs)
0.082
Answer
YES(?,PRIMREC)
InputSK90 4.29
YES(?,PRIMREC)

We consider the following Problem:

  Strict Trs:
    {  merge(x, nil()) -> x
     , merge(nil(), y) -> y
     , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v())))
     , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))}
  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
  
   merge > ++ .

Hurray, we answered YES(?,PRIMREC)

POP*

Execution Time (secs)
0.055
Answer
YES(?,POLY)
InputSK90 4.29
YES(?,POLY)

We consider the following Problem:

  Strict Trs:
    {  merge(x, nil()) -> x
     , merge(nil(), y) -> y
     , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v())))
     , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))}
  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(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {},
   safe(v) = {}
  
  and precedence
  
   empty .
  
  Following symbols are considered recursive:
  
   {merge}
  
  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:
     {  merge(x, nil();) -> x
      , merge(nil(), y;) -> y
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; x, merge(y, ++(; u(), v());))
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; u(), merge(++(; x, y), v();))}
   Weak Trs  : {}

Hurray, we answered YES(?,POLY)

POP* (PS)

Execution Time (secs)
0.058
Answer
YES(?,POLY)
InputSK90 4.29
YES(?,POLY)

We consider the following Problem:

  Strict Trs:
    {  merge(x, nil()) -> x
     , merge(nil(), y) -> y
     , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v())))
     , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))}
  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(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {},
   safe(v) = {}
  
  and precedence
  
   empty .
  
  Following symbols are considered recursive:
  
   {merge}
  
  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:
     {  merge(x, nil();) -> x
      , merge(nil(), y;) -> y
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; x, merge(y, ++(; u(), v());))
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; u(), merge(++(; x, y), v();))}
   Weak Trs  : {}

Hurray, we answered YES(?,POLY)

Small POP*

Execution Time (secs)
0.112
Answer
YES(?,O(n^1))
InputSK90 4.29
YES(?,O(n^1))

We consider the following Problem:

  Strict Trs:
    {  merge(x, nil()) -> x
     , merge(nil(), y) -> y
     , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v())))
     , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))}
  StartTerms: basic terms
  Strategy: innermost

Certificate: YES(?,O(n^1))

Proof:
  The input was oriented with the instance of
  Small Polynomial Path Order (WSC) as induced by the safe mapping
  
   safe(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {},
   safe(v) = {}
  
  and precedence
  
   empty .
  
  Following symbols are considered recursive:
  
   {merge}
  
  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:
     {  merge(x, nil();) -> x
      , merge(nil(), y;) -> y
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; x, merge(y, ++(; u(), v());))
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; u(), merge(++(; x, y), v();))}
   Weak Trs  : {}

Hurray, we answered YES(?,O(n^1))

Small POP* (PS)

Execution Time (secs)
0.112
Answer
YES(?,O(n^1))
InputSK90 4.29
YES(?,O(n^1))

We consider the following Problem:

  Strict Trs:
    {  merge(x, nil()) -> x
     , merge(nil(), y) -> y
     , merge(++(x, y), ++(u(), v())) -> ++(x, merge(y, ++(u(), v())))
     , merge(++(x, y), ++(u(), v())) -> ++(u(), merge(++(x, y), v()))}
  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(merge) = {}, safe(nil) = {}, safe(++) = {1, 2}, safe(u) = {},
   safe(v) = {}
  
  and precedence
  
   empty .
  
  Following symbols are considered recursive:
  
   {merge}
  
  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:
     {  merge(x, nil();) -> x
      , merge(nil(), y;) -> y
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; x, merge(y, ++(; u(), v());))
      , merge(++(; x, y), ++(; u(), v());) ->
        ++(; u(), merge(++(; x, y), v();))}
   Weak Trs  : {}

Hurray, we answered YES(?,O(n^1))