Problem SK90 2.43

LMPO

Execution Time (secs)
0.101
Answer
YES(?,ELEMENTARY)
InputSK90 2.43
YES(?,ELEMENTARY)

We consider the following Problem:

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

Hurray, we answered YES(?,ELEMENTARY)

MPO

Execution Time (secs)
0.238
Answer
YES(?,PRIMREC)
InputSK90 2.43
YES(?,PRIMREC)

We consider the following Problem:

  Strict Trs:
    {  merge(nil(), y) -> y
     , merge(x, nil()) -> x
     , merge(.(x, y), .(u, v)) ->
       if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v)))
     , ++(nil(), y) -> y
     , ++(.(x, y), z) -> .(x, ++(y, z))
     , if(true(), x, y) -> x
     , if(false(), x, y) -> 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
  
   merge > ., merge > if, merge > <, ++ > ., . ~ if .

Hurray, we answered YES(?,PRIMREC)

POP*

Execution Time (secs)
0.066
Answer
MAYBE
InputSK90 2.43
MAYBE

We consider the following Problem:

  Strict Trs:
    {  merge(nil(), y) -> y
     , merge(x, nil()) -> x
     , merge(.(x, y), .(u, v)) ->
       if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v)))
     , ++(nil(), y) -> y
     , ++(.(x, y), z) -> .(x, ++(y, z))
     , if(true(), x, y) -> x
     , if(false(), x, y) -> x}
  StartTerms: basic terms
  Strategy: innermost

Certificate: MAYBE

Proof:
  The input cannot be shown compatible

Arrrr..

POP* (PS)

Execution Time (secs)
0.097
Answer
MAYBE
InputSK90 2.43
MAYBE

We consider the following Problem:

  Strict Trs:
    {  merge(nil(), y) -> y
     , merge(x, nil()) -> x
     , merge(.(x, y), .(u, v)) ->
       if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v)))
     , ++(nil(), y) -> y
     , ++(.(x, y), z) -> .(x, ++(y, z))
     , if(true(), x, y) -> x
     , if(false(), x, y) -> x}
  StartTerms: basic terms
  Strategy: innermost

Certificate: MAYBE

Proof:
  The input cannot be shown compatible

Arrrr..

Small POP*

Execution Time (secs)
0.146
Answer
MAYBE
InputSK90 2.43
MAYBE

We consider the following Problem:

  Strict Trs:
    {  merge(nil(), y) -> y
     , merge(x, nil()) -> x
     , merge(.(x, y), .(u, v)) ->
       if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v)))
     , ++(nil(), y) -> y
     , ++(.(x, y), z) -> .(x, ++(y, z))
     , if(true(), x, y) -> x
     , if(false(), x, y) -> x}
  StartTerms: basic terms
  Strategy: innermost

Certificate: MAYBE

Proof:
  The input cannot be shown compatible

Arrrr..

Small POP* (PS)

Execution Time (secs)
0.064
Answer
MAYBE
InputSK90 2.43
MAYBE

We consider the following Problem:

  Strict Trs:
    {  merge(nil(), y) -> y
     , merge(x, nil()) -> x
     , merge(.(x, y), .(u, v)) ->
       if(<(x, u), .(x, merge(y, .(u, v))), .(u, merge(.(x, y), v)))
     , ++(nil(), y) -> y
     , ++(.(x, y), z) -> .(x, ++(y, z))
     , if(true(), x, y) -> x
     , if(false(), x, y) -> x}
  StartTerms: basic terms
  Strategy: innermost

Certificate: MAYBE

Proof:
  The input cannot be shown compatible

Arrrr..