MAYBE

Problem:
 eq(0(),0()) -> true()
 eq(0(),s(m)) -> false()
 eq(s(n),0()) -> false()
 eq(s(n),s(m)) -> eq(n,m)
 le(0(),m) -> true()
 le(s(n),0()) -> false()
 le(s(n),s(m)) -> le(n,m)
 min(cons(0(),nil())) -> 0()
 min(cons(s(n),nil())) -> s(n)
 min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
 if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
 if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
 replace(n,m,nil()) -> nil()
 replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
 if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
 if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
 sort(nil()) -> nil()
 sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))

Proof:
 DP Processor:
  DPs:
   eq#(s(n),s(m)) -> eq#(n,m)
   le#(s(n),s(m)) -> le#(n,m)
   min#(cons(n,cons(m,x))) -> le#(n,m)
   min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
   if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x))
   if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x))
   replace#(n,m,cons(k,x)) -> eq#(n,k)
   replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
   if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x)
   sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x)
   sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x))
   sort#(cons(n,x)) -> min#(cons(n,x))
  TRS:
   eq(0(),0()) -> true()
   eq(0(),s(m)) -> false()
   eq(s(n),0()) -> false()
   eq(s(n),s(m)) -> eq(n,m)
   le(0(),m) -> true()
   le(s(n),0()) -> false()
   le(s(n),s(m)) -> le(n,m)
   min(cons(0(),nil())) -> 0()
   min(cons(s(n),nil())) -> s(n)
   min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
   if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
   if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
   replace(n,m,nil()) -> nil()
   replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
   if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
   if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
   sort(nil()) -> nil()
   sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
  Usable Rule Processor:
   DPs:
    eq#(s(n),s(m)) -> eq#(n,m)
    le#(s(n),s(m)) -> le#(n,m)
    min#(cons(n,cons(m,x))) -> le#(n,m)
    min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
    if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x))
    if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x))
    replace#(n,m,cons(k,x)) -> eq#(n,k)
    replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
    if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x)
    sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x)
    sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x))
    sort#(cons(n,x)) -> min#(cons(n,x))
   TRS:
    le(0(),m) -> true()
    le(s(n),0()) -> false()
    le(s(n),s(m)) -> le(n,m)
    eq(0(),0()) -> true()
    eq(0(),s(m)) -> false()
    eq(s(n),0()) -> false()
    eq(s(n),s(m)) -> eq(n,m)
    min(cons(0(),nil())) -> 0()
    min(cons(s(n),nil())) -> s(n)
    min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
    if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
    if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
    replace(n,m,nil()) -> nil()
    replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
    if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
    if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
   TDG Processor:
    DPs:
     eq#(s(n),s(m)) -> eq#(n,m)
     le#(s(n),s(m)) -> le#(n,m)
     min#(cons(n,cons(m,x))) -> le#(n,m)
     min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
     if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x))
     if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x))
     replace#(n,m,cons(k,x)) -> eq#(n,k)
     replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
     if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x)
     sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x)
     sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x))
     sort#(cons(n,x)) -> min#(cons(n,x))
    TRS:
     le(0(),m) -> true()
     le(s(n),0()) -> false()
     le(s(n),s(m)) -> le(n,m)
     eq(0(),0()) -> true()
     eq(0(),s(m)) -> false()
     eq(s(n),0()) -> false()
     eq(s(n),s(m)) -> eq(n,m)
     min(cons(0(),nil())) -> 0()
     min(cons(s(n),nil())) -> s(n)
     min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
     if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
     if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
     replace(n,m,nil()) -> nil()
     replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
     if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
     if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
    graph:
     sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x)) ->
     sort#(cons(n,x)) -> min#(cons(n,x))
     sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x)) ->
     sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x))
     sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x)) ->
     sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x)
     sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x) ->
     replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
     sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x) ->
     replace#(n,m,cons(k,x)) -> eq#(n,k)
     sort#(cons(n,x)) -> min#(cons(n,x)) ->
     min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
     sort#(cons(n,x)) -> min#(cons(n,x)) ->
     min#(cons(n,cons(m,x))) -> le#(n,m)
     if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x) ->
     replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
     if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x) ->
     replace#(n,m,cons(k,x)) -> eq#(n,k)
     replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x)) ->
     if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x)
     replace#(n,m,cons(k,x)) -> eq#(n,k) ->
     eq#(s(n),s(m)) -> eq#(n,m)
     if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x)) ->
     min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
     if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x)) ->
     min#(cons(n,cons(m,x))) -> le#(n,m)
     if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x)) ->
     min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
     if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x)) ->
     min#(cons(n,cons(m,x))) -> le#(n,m)
     min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x))) ->
     if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x))
     min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x))) ->
     if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x))
     min#(cons(n,cons(m,x))) -> le#(n,m) -> le#(s(n),s(m)) -> le#(n,m)
     le#(s(n),s(m)) -> le#(n,m) -> le#(s(n),s(m)) -> le#(n,m)
     eq#(s(n),s(m)) -> eq#(n,m) -> eq#(s(n),s(m)) -> eq#(n,m)
    Restore Modifier:
     DPs:
      eq#(s(n),s(m)) -> eq#(n,m)
      le#(s(n),s(m)) -> le#(n,m)
      min#(cons(n,cons(m,x))) -> le#(n,m)
      min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
      if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x))
      if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x))
      replace#(n,m,cons(k,x)) -> eq#(n,k)
      replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
      if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x)
      sort#(cons(n,x)) -> replace#(min(cons(n,x)),n,x)
      sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x))
      sort#(cons(n,x)) -> min#(cons(n,x))
     TRS:
      eq(0(),0()) -> true()
      eq(0(),s(m)) -> false()
      eq(s(n),0()) -> false()
      eq(s(n),s(m)) -> eq(n,m)
      le(0(),m) -> true()
      le(s(n),0()) -> false()
      le(s(n),s(m)) -> le(n,m)
      min(cons(0(),nil())) -> 0()
      min(cons(s(n),nil())) -> s(n)
      min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
      if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
      if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
      replace(n,m,nil()) -> nil()
      replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
      if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
      if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
      sort(nil()) -> nil()
      sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
     SCC Processor:
      #sccs: 5
      #rules: 8
      #arcs: 20/144
      DPs:
       sort#(cons(n,x)) -> sort#(replace(min(cons(n,x)),n,x))
      TRS:
       eq(0(),0()) -> true()
       eq(0(),s(m)) -> false()
       eq(s(n),0()) -> false()
       eq(s(n),s(m)) -> eq(n,m)
       le(0(),m) -> true()
       le(s(n),0()) -> false()
       le(s(n),s(m)) -> le(n,m)
       min(cons(0(),nil())) -> 0()
       min(cons(s(n),nil())) -> s(n)
       min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
       if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
       if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
       replace(n,m,nil()) -> nil()
       replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
       if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
       if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
       sort(nil()) -> nil()
       sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
      Matrix Interpretation Processor:
       dimension: 1
       interpretation:
        [sort#](x0) = x0,
        
        [sort](x0) = x0,
        
        [if_replace](x0, x1, x2, x3) = x3,
        
        [replace](x0, x1, x2) = x2,
        
        [if_min](x0, x1) = 0,
        
        [min](x0) = 0,
        
        [cons](x0, x1) = x1 + 1,
        
        [nil] = 1,
        
        [le](x0, x1) = 1,
        
        [false] = 1,
        
        [s](x0) = 0,
        
        [true] = 0,
        
        [eq](x0, x1) = 1,
        
        [0] = 0
       orientation:
        sort#(cons(n,x)) = x + 1 >= x = sort#(replace(min(cons(n,x)),n,x))
        
        eq(0(),0()) = 1 >= 0 = true()
        
        eq(0(),s(m)) = 1 >= 1 = false()
        
        eq(s(n),0()) = 1 >= 1 = false()
        
        eq(s(n),s(m)) = 1 >= 1 = eq(n,m)
        
        le(0(),m) = 1 >= 0 = true()
        
        le(s(n),0()) = 1 >= 1 = false()
        
        le(s(n),s(m)) = 1 >= 1 = le(n,m)
        
        min(cons(0(),nil())) = 0 >= 0 = 0()
        
        min(cons(s(n),nil())) = 0 >= 0 = s(n)
        
        min(cons(n,cons(m,x))) = 0 >= 0 = if_min(le(n,m),cons(n,cons(m,x)))
        
        if_min(true(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(n,x))
        
        if_min(false(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(m,x))
        
        replace(n,m,nil()) = 1 >= 1 = nil()
        
        replace(n,m,cons(k,x)) = x + 1 >= x + 1 = if_replace(eq(n,k),n,m,cons(k,x))
        
        if_replace(true(),n,m,cons(k,x)) = x + 1 >= x + 1 = cons(m,x)
        
        if_replace(false(),n,m,cons(k,x)) = x + 1 >= x + 1 = cons(k,replace(n,m,x))
        
        sort(nil()) = 1 >= 1 = nil()
        
        sort(cons(n,x)) = x + 1 >= x + 1 = cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
       problem:
        DPs:
         
        TRS:
         eq(0(),0()) -> true()
         eq(0(),s(m)) -> false()
         eq(s(n),0()) -> false()
         eq(s(n),s(m)) -> eq(n,m)
         le(0(),m) -> true()
         le(s(n),0()) -> false()
         le(s(n),s(m)) -> le(n,m)
         min(cons(0(),nil())) -> 0()
         min(cons(s(n),nil())) -> s(n)
         min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
         if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
         if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
         replace(n,m,nil()) -> nil()
         replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
         if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
         if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
         sort(nil()) -> nil()
         sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
       Qed
      
      DPs:
       min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
       if_min#(true(),cons(n,cons(m,x))) -> min#(cons(n,x))
       if_min#(false(),cons(n,cons(m,x))) -> min#(cons(m,x))
      TRS:
       eq(0(),0()) -> true()
       eq(0(),s(m)) -> false()
       eq(s(n),0()) -> false()
       eq(s(n),s(m)) -> eq(n,m)
       le(0(),m) -> true()
       le(s(n),0()) -> false()
       le(s(n),s(m)) -> le(n,m)
       min(cons(0(),nil())) -> 0()
       min(cons(s(n),nil())) -> s(n)
       min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
       if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
       if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
       replace(n,m,nil()) -> nil()
       replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
       if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
       if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
       sort(nil()) -> nil()
       sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
      Matrix Interpretation Processor:
       dimension: 1
       interpretation:
        [if_min#](x0, x1) = x1,
        
        [min#](x0) = x0,
        
        [sort](x0) = x0,
        
        [if_replace](x0, x1, x2, x3) = x3,
        
        [replace](x0, x1, x2) = x2,
        
        [if_min](x0, x1) = x1,
        
        [min](x0) = x0,
        
        [cons](x0, x1) = x1 + 1,
        
        [nil] = 1,
        
        [le](x0, x1) = 1,
        
        [false] = 0,
        
        [s](x0) = 0,
        
        [true] = 0,
        
        [eq](x0, x1) = 0,
        
        [0] = 0
       orientation:
        min#(cons(n,cons(m,x))) = x + 2 >= x + 2 = if_min#(le(n,m),cons(n,cons(m,x)))
        
        if_min#(true(),cons(n,cons(m,x))) = x + 2 >= x + 1 = min#(cons(n,x))
        
        if_min#(false(),cons(n,cons(m,x))) = x + 2 >= x + 1 = min#(cons(m,x))
        
        eq(0(),0()) = 0 >= 0 = true()
        
        eq(0(),s(m)) = 0 >= 0 = false()
        
        eq(s(n),0()) = 0 >= 0 = false()
        
        eq(s(n),s(m)) = 0 >= 0 = eq(n,m)
        
        le(0(),m) = 1 >= 0 = true()
        
        le(s(n),0()) = 1 >= 0 = false()
        
        le(s(n),s(m)) = 1 >= 1 = le(n,m)
        
        min(cons(0(),nil())) = 2 >= 0 = 0()
        
        min(cons(s(n),nil())) = 2 >= 0 = s(n)
        
        min(cons(n,cons(m,x))) = x + 2 >= x + 2 = if_min(le(n,m),cons(n,cons(m,x)))
        
        if_min(true(),cons(n,cons(m,x))) = x + 2 >= x + 1 = min(cons(n,x))
        
        if_min(false(),cons(n,cons(m,x))) = x + 2 >= x + 1 = min(cons(m,x))
        
        replace(n,m,nil()) = 1 >= 1 = nil()
        
        replace(n,m,cons(k,x)) = x + 1 >= x + 1 = if_replace(eq(n,k),n,m,cons(k,x))
        
        if_replace(true(),n,m,cons(k,x)) = x + 1 >= x + 1 = cons(m,x)
        
        if_replace(false(),n,m,cons(k,x)) = x + 1 >= x + 1 = cons(k,replace(n,m,x))
        
        sort(nil()) = 1 >= 1 = nil()
        
        sort(cons(n,x)) = x + 1 >= x + 1 = cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
       problem:
        DPs:
         min#(cons(n,cons(m,x))) -> if_min#(le(n,m),cons(n,cons(m,x)))
        TRS:
         eq(0(),0()) -> true()
         eq(0(),s(m)) -> false()
         eq(s(n),0()) -> false()
         eq(s(n),s(m)) -> eq(n,m)
         le(0(),m) -> true()
         le(s(n),0()) -> false()
         le(s(n),s(m)) -> le(n,m)
         min(cons(0(),nil())) -> 0()
         min(cons(s(n),nil())) -> s(n)
         min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
         if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
         if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
         replace(n,m,nil()) -> nil()
         replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
         if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
         if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
         sort(nil()) -> nil()
         sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
       Matrix Interpretation Processor:
        dimension: 1
        interpretation:
         [if_min#](x0, x1) = 0,
         
         [min#](x0) = 1,
         
         [sort](x0) = 0,
         
         [if_replace](x0, x1, x2, x3) = 0,
         
         [replace](x0, x1, x2) = 0,
         
         [if_min](x0, x1) = 0,
         
         [min](x0) = 0,
         
         [cons](x0, x1) = 0,
         
         [nil] = 0,
         
         [le](x0, x1) = 0,
         
         [false] = 0,
         
         [s](x0) = 0,
         
         [true] = 0,
         
         [eq](x0, x1) = 0,
         
         [0] = 0
        orientation:
         min#(cons(n,cons(m,x))) = 1 >= 0 = if_min#(le(n,m),cons(n,cons(m,x)))
         
         eq(0(),0()) = 0 >= 0 = true()
         
         eq(0(),s(m)) = 0 >= 0 = false()
         
         eq(s(n),0()) = 0 >= 0 = false()
         
         eq(s(n),s(m)) = 0 >= 0 = eq(n,m)
         
         le(0(),m) = 0 >= 0 = true()
         
         le(s(n),0()) = 0 >= 0 = false()
         
         le(s(n),s(m)) = 0 >= 0 = le(n,m)
         
         min(cons(0(),nil())) = 0 >= 0 = 0()
         
         min(cons(s(n),nil())) = 0 >= 0 = s(n)
         
         min(cons(n,cons(m,x))) = 0 >= 0 = if_min(le(n,m),cons(n,cons(m,x)))
         
         if_min(true(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(n,x))
         
         if_min(false(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(m,x))
         
         replace(n,m,nil()) = 0 >= 0 = nil()
         
         replace(n,m,cons(k,x)) = 0 >= 0 = if_replace(eq(n,k),n,m,cons(k,x))
         
         if_replace(true(),n,m,cons(k,x)) = 0 >= 0 = cons(m,x)
         
         if_replace(false(),n,m,cons(k,x)) = 0 >= 0 = cons(k,replace(n,m,x))
         
         sort(nil()) = 0 >= 0 = nil()
         
         sort(cons(n,x)) = 0 >= 0 = cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
        problem:
         DPs:
          
         TRS:
          eq(0(),0()) -> true()
          eq(0(),s(m)) -> false()
          eq(s(n),0()) -> false()
          eq(s(n),s(m)) -> eq(n,m)
          le(0(),m) -> true()
          le(s(n),0()) -> false()
          le(s(n),s(m)) -> le(n,m)
          min(cons(0(),nil())) -> 0()
          min(cons(s(n),nil())) -> s(n)
          min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
          if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
          if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
          replace(n,m,nil()) -> nil()
          replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
          if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
          if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
          sort(nil()) -> nil()
          sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
        Qed
      
      DPs:
       le#(s(n),s(m)) -> le#(n,m)
      TRS:
       eq(0(),0()) -> true()
       eq(0(),s(m)) -> false()
       eq(s(n),0()) -> false()
       eq(s(n),s(m)) -> eq(n,m)
       le(0(),m) -> true()
       le(s(n),0()) -> false()
       le(s(n),s(m)) -> le(n,m)
       min(cons(0(),nil())) -> 0()
       min(cons(s(n),nil())) -> s(n)
       min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
       if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
       if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
       replace(n,m,nil()) -> nil()
       replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
       if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
       if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
       sort(nil()) -> nil()
       sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
      Open
      
      DPs:
       replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
       if_replace#(false(),n,m,cons(k,x)) -> replace#(n,m,x)
      TRS:
       eq(0(),0()) -> true()
       eq(0(),s(m)) -> false()
       eq(s(n),0()) -> false()
       eq(s(n),s(m)) -> eq(n,m)
       le(0(),m) -> true()
       le(s(n),0()) -> false()
       le(s(n),s(m)) -> le(n,m)
       min(cons(0(),nil())) -> 0()
       min(cons(s(n),nil())) -> s(n)
       min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
       if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
       if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
       replace(n,m,nil()) -> nil()
       replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
       if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
       if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
       sort(nil()) -> nil()
       sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
      Matrix Interpretation Processor:
       dimension: 1
       interpretation:
        [if_replace#](x0, x1, x2, x3) = x1 + x3 + 1,
        
        [replace#](x0, x1, x2) = x0 + x2 + 1,
        
        [sort](x0) = x0 + 1,
        
        [if_replace](x0, x1, x2, x3) = x2 + x3,
        
        [replace](x0, x1, x2) = x1 + x2,
        
        [if_min](x0, x1) = 0,
        
        [min](x0) = 0,
        
        [cons](x0, x1) = x0 + x1 + 1,
        
        [nil] = 0,
        
        [le](x0, x1) = 0,
        
        [false] = 0,
        
        [s](x0) = 0,
        
        [true] = 0,
        
        [eq](x0, x1) = 1,
        
        [0] = 0
       orientation:
        replace#(n,m,cons(k,x)) = k + n + x + 2 >= k + n + x + 2 = if_replace#(eq(n,k),n,m,cons(k,x))
        
        if_replace#(false(),n,m,cons(k,x)) = k + n + x + 2 >= n + x + 1 = replace#(n,m,x)
        
        eq(0(),0()) = 1 >= 0 = true()
        
        eq(0(),s(m)) = 1 >= 0 = false()
        
        eq(s(n),0()) = 1 >= 0 = false()
        
        eq(s(n),s(m)) = 1 >= 1 = eq(n,m)
        
        le(0(),m) = 0 >= 0 = true()
        
        le(s(n),0()) = 0 >= 0 = false()
        
        le(s(n),s(m)) = 0 >= 0 = le(n,m)
        
        min(cons(0(),nil())) = 0 >= 0 = 0()
        
        min(cons(s(n),nil())) = 0 >= 0 = s(n)
        
        min(cons(n,cons(m,x))) = 0 >= 0 = if_min(le(n,m),cons(n,cons(m,x)))
        
        if_min(true(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(n,x))
        
        if_min(false(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(m,x))
        
        replace(n,m,nil()) = m >= 0 = nil()
        
        replace(n,m,cons(k,x)) = k + m + x + 1 >= k + m + x + 1 = if_replace(eq(n,k),n,m,cons(k,x))
        
        if_replace(true(),n,m,cons(k,x)) = k + m + x + 1 >= m + x + 1 = cons(m,x)
        
        if_replace(false(),n,m,cons(k,x)) = k + m + x + 1 >= k + m + x + 1 = cons(k,replace(n,m,x))
        
        sort(nil()) = 1 >= 0 = nil()
        
        sort(cons(n,x)) = n + x + 2 >= n + x + 2 = cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
       problem:
        DPs:
         replace#(n,m,cons(k,x)) -> if_replace#(eq(n,k),n,m,cons(k,x))
        TRS:
         eq(0(),0()) -> true()
         eq(0(),s(m)) -> false()
         eq(s(n),0()) -> false()
         eq(s(n),s(m)) -> eq(n,m)
         le(0(),m) -> true()
         le(s(n),0()) -> false()
         le(s(n),s(m)) -> le(n,m)
         min(cons(0(),nil())) -> 0()
         min(cons(s(n),nil())) -> s(n)
         min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
         if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
         if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
         replace(n,m,nil()) -> nil()
         replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
         if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
         if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
         sort(nil()) -> nil()
         sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
       Matrix Interpretation Processor:
        dimension: 1
        interpretation:
         [if_replace#](x0, x1, x2, x3) = 0,
         
         [replace#](x0, x1, x2) = 1,
         
         [sort](x0) = 0,
         
         [if_replace](x0, x1, x2, x3) = 0,
         
         [replace](x0, x1, x2) = 0,
         
         [if_min](x0, x1) = 0,
         
         [min](x0) = 0,
         
         [cons](x0, x1) = 0,
         
         [nil] = 0,
         
         [le](x0, x1) = 0,
         
         [false] = 0,
         
         [s](x0) = 0,
         
         [true] = 0,
         
         [eq](x0, x1) = 0,
         
         [0] = 0
        orientation:
         replace#(n,m,cons(k,x)) = 1 >= 0 = if_replace#(eq(n,k),n,m,cons(k,x))
         
         eq(0(),0()) = 0 >= 0 = true()
         
         eq(0(),s(m)) = 0 >= 0 = false()
         
         eq(s(n),0()) = 0 >= 0 = false()
         
         eq(s(n),s(m)) = 0 >= 0 = eq(n,m)
         
         le(0(),m) = 0 >= 0 = true()
         
         le(s(n),0()) = 0 >= 0 = false()
         
         le(s(n),s(m)) = 0 >= 0 = le(n,m)
         
         min(cons(0(),nil())) = 0 >= 0 = 0()
         
         min(cons(s(n),nil())) = 0 >= 0 = s(n)
         
         min(cons(n,cons(m,x))) = 0 >= 0 = if_min(le(n,m),cons(n,cons(m,x)))
         
         if_min(true(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(n,x))
         
         if_min(false(),cons(n,cons(m,x))) = 0 >= 0 = min(cons(m,x))
         
         replace(n,m,nil()) = 0 >= 0 = nil()
         
         replace(n,m,cons(k,x)) = 0 >= 0 = if_replace(eq(n,k),n,m,cons(k,x))
         
         if_replace(true(),n,m,cons(k,x)) = 0 >= 0 = cons(m,x)
         
         if_replace(false(),n,m,cons(k,x)) = 0 >= 0 = cons(k,replace(n,m,x))
         
         sort(nil()) = 0 >= 0 = nil()
         
         sort(cons(n,x)) = 0 >= 0 = cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
        problem:
         DPs:
          
         TRS:
          eq(0(),0()) -> true()
          eq(0(),s(m)) -> false()
          eq(s(n),0()) -> false()
          eq(s(n),s(m)) -> eq(n,m)
          le(0(),m) -> true()
          le(s(n),0()) -> false()
          le(s(n),s(m)) -> le(n,m)
          min(cons(0(),nil())) -> 0()
          min(cons(s(n),nil())) -> s(n)
          min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
          if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
          if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
          replace(n,m,nil()) -> nil()
          replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
          if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
          if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
          sort(nil()) -> nil()
          sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
        Qed
      
      DPs:
       eq#(s(n),s(m)) -> eq#(n,m)
      TRS:
       eq(0(),0()) -> true()
       eq(0(),s(m)) -> false()
       eq(s(n),0()) -> false()
       eq(s(n),s(m)) -> eq(n,m)
       le(0(),m) -> true()
       le(s(n),0()) -> false()
       le(s(n),s(m)) -> le(n,m)
       min(cons(0(),nil())) -> 0()
       min(cons(s(n),nil())) -> s(n)
       min(cons(n,cons(m,x))) -> if_min(le(n,m),cons(n,cons(m,x)))
       if_min(true(),cons(n,cons(m,x))) -> min(cons(n,x))
       if_min(false(),cons(n,cons(m,x))) -> min(cons(m,x))
       replace(n,m,nil()) -> nil()
       replace(n,m,cons(k,x)) -> if_replace(eq(n,k),n,m,cons(k,x))
       if_replace(true(),n,m,cons(k,x)) -> cons(m,x)
       if_replace(false(),n,m,cons(k,x)) -> cons(k,replace(n,m,x))
       sort(nil()) -> nil()
       sort(cons(n,x)) -> cons(min(cons(n,x)),sort(replace(min(cons(n,x)),n,x)))
      Open