R
↳Dependency Pair Analysis
MINUS(s(x), s(y)) -> MINUS(x, y)
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
QUOT(s(x), s(y)) -> MINUS(x, y)
APP(add(n, x), y) -> APP(x, y)
REVERSE(add(n, x)) -> APP(reverse(x), add(n, nil))
REVERSE(add(n, x)) -> REVERSE(x)
SHUFFLE(add(n, x)) -> SHUFFLE(reverse(x))
SHUFFLE(add(n, x)) -> REVERSE(x)
CONCAT(cons(u, v), y) -> CONCAT(v, y)
LESSLEAVES(cons(u, v), cons(w, z)) -> LESSLEAVES(concat(u, v), concat(w, z))
LESSLEAVES(cons(u, v), cons(w, z)) -> CONCAT(u, v)
LESSLEAVES(cons(u, v), cons(w, z)) -> CONCAT(w, z)
R
↳DPs
→DP Problem 1
↳Argument Filtering and Ordering
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
MINUS(s(x), s(y)) -> MINUS(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
MINUS(s(x), s(y)) -> MINUS(x, y)
MINUS(x1, x2) -> MINUS(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 8
↳Dependency Graph
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Argument Filtering and Ordering
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
APP(add(n, x), y) -> APP(x, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
APP(add(n, x), y) -> APP(x, y)
APP(x1, x2) -> APP(x1, x2)
add(x1, x2) -> add(x1, x2)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 9
↳Dependency Graph
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳Argument Filtering and Ordering
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
CONCAT(cons(u, v), y) -> CONCAT(v, y)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
CONCAT(cons(u, v), y) -> CONCAT(v, y)
CONCAT(x1, x2) -> CONCAT(x1, x2)
cons(x1, x2) -> cons(x1, x2)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 10
↳Dependency Graph
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳Argument Filtering and Ordering
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
QUOT(s(x), s(y)) -> QUOT(minus(x, y), s(y))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
QUOT(x1, x2) -> QUOT(x1, x2)
s(x1) -> s(x1)
minus(x1, x2) -> x1
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 11
↳Dependency Graph
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳Argument Filtering and Ordering
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
REVERSE(add(n, x)) -> REVERSE(x)
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
REVERSE(add(n, x)) -> REVERSE(x)
REVERSE(x1) -> REVERSE(x1)
add(x1, x2) -> add(x1, x2)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 12
↳Dependency Graph
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(u, v), cons(w, z)) -> LESSLEAVES(concat(u, v), concat(w, z))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(w, z)) -> LESSLEAVES(concat(u, v), concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(w, z)) -> LESSLEAVES(v', concat(w, z))
LESSLEAVES(cons(cons(u'', v''), v0), cons(w, z)) -> LESSLEAVES(cons(u'', concat(v'', v0)), concat(w, z))
LESSLEAVES(cons(u, v), cons(leaf, z')) -> LESSLEAVES(concat(u, v), z')
LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
LESSLEAVES(cons(u, v), cons(leaf, z')) -> LESSLEAVES(concat(u, v), z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(w, z)) -> LESSLEAVES(cons(u'', concat(v'', v0)), concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(w, z)) -> LESSLEAVES(v', concat(w, z))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(leaf, v'), cons(w, z)) -> LESSLEAVES(v', concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 14
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(u, v), cons(leaf, z')) -> LESSLEAVES(concat(u, v), z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(w, z)) -> LESSLEAVES(cons(u'', concat(v'', v0)), concat(w, z))
LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', v''), v0), cons(w, z)) -> LESSLEAVES(cons(u'', concat(v'', v0)), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', v0'), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 15
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', v0'), concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
LESSLEAVES(cons(u, v), cons(leaf, z')) -> LESSLEAVES(concat(u, v), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(leaf, z')) -> LESSLEAVES(concat(u, v), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 16
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', v0'), concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(u, v), cons(cons(u'', leaf), z'')) -> LESSLEAVES(concat(u, v), cons(u'', z''))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 17
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(u, v), cons(cons(u'', leaf), z'')) -> LESSLEAVES(concat(u, v), cons(u'', z''))
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', v0'), concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', v0'), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 18
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(u, v), cons(cons(u'', leaf), z'')) -> LESSLEAVES(concat(u, v), cons(u'', z''))
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', v0'')), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 19
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', v0'')), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(u, v), cons(cons(u'', leaf), z'')) -> LESSLEAVES(concat(u, v), cons(u'', z''))
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', leaf), z'')) -> LESSLEAVES(concat(u, v), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 20
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', v0'')), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 21
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', v0'')), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', v0'')), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 22
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), concat(w, z))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 23
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 24
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 25
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), cons(u1, concat(v', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 26
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, leaf)))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, v0'''')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, v''))))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, concat(v'', v0'''')))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(cons(u2, v''), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), cons(u2, concat(v'', z')))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 27
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(cons(u2, v''), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), cons(u2, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, v''))))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, concat(v'', v0'''')))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, leaf)))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, v0'''')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), cons(u1, concat(v', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
two new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'1, v''), v0), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(cons(u'1, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, z''''))))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 13
↳Nar
...
→DP Problem 28
↳Narrowing Transformation
→DP Problem 7
↳Remaining
LESSLEAVES(cons(cons(u'1, v''), v0), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(cons(u'1, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, v''))))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, concat(v'', v0'''')))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, leaf)))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, v0'''')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), z')
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(cons(u2, v''), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), cons(u2, concat(v'', z')))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
four new Dependency Pairs are created:
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(cons(u'2, v''), v0), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(cons(u'2, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, leaf)))), z''''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, z''''')))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, cons(u'2, v''))))), z''''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, cons(u'2, concat(v'', z''''')))))))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining Obligation(s)
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, cons(u'2, v''))))), z''''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, cons(u'2, concat(v'', z''''')))))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, leaf)))), z''''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, z''''')))))
LESSLEAVES(cons(cons(u'2, v''), v0), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(cons(u'2, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(cons(u2, v''), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), cons(u2, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, v''))))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, concat(v'', v0'''')))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, leaf)))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, v0'''')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), z')
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'1, v''), v0), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(cons(u'1, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, z''''))))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
SHUFFLE(add(n, x)) -> SHUFFLE(reverse(x))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳AFS
→DP Problem 3
↳AFS
→DP Problem 4
↳AFS
→DP Problem 5
↳AFS
→DP Problem 6
↳Nar
→DP Problem 7
↳Remaining Obligation(s)
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, cons(u'2, v''))))), z''''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, cons(u'2, concat(v'', z''''')))))))
LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, leaf)))), z''''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', cons(u'0, cons(u'1, z''''')))))
LESSLEAVES(cons(cons(u'2, v''), v0), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(cons(u'2, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, cons(u'1, v''')))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, cons(u'1, concat(v''', z''''))))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, z''''))))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(cons(u2, v''), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), cons(u2, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, v')))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, concat(v', v0'''))))), z')
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, v''))))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, cons(u2, concat(v'', v0'''')))))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, cons(u1, leaf)))), v0''''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, cons(u1, v0'''')))), concat(w, z))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), z')
LESSLEAVES(cons(cons(u'1, v'''), v0), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(cons(u'1, concat(v''', v0)), cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', cons(u'0, v''))), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', cons(u'0, concat(v'', z''')))))
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', z''')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(v', cons(u'', cons(u''', z''')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(cons(u1, v'), z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), cons(u1, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', cons(u0, v''))), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', cons(u0, concat(v'', v0'')))), z')
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(cons(u0, v'), z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), cons(u0, concat(v', z')))
LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', v0'')), z')
LESSLEAVES(cons(cons(u'0, v''), v0), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(cons(u'0, concat(v'', v0)), cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(v', cons(u'', cons(u''', concat(v''', z''))))
LESSLEAVES(cons(cons(u''', v''), v0), cons(cons(u'', leaf), z'')) -> LESSLEAVES(cons(u''', concat(v'', v0)), cons(u'', z''))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', leaf), z'')) -> LESSLEAVES(v', cons(u'', z''))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(cons(u0, v''), z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), cons(u0, concat(v'', z')))
LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), z')
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', v0'), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', leaf), v0'), cons(leaf, z')) -> LESSLEAVES(cons(u'', v0'), z')
LESSLEAVES(cons(cons(u''', v'''), v0), cons(cons(u'', v''), z')) -> LESSLEAVES(cons(u''', concat(v''', v0)), cons(u'', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(cons(u'', v''), z')) -> LESSLEAVES(v', cons(u'', concat(v'', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'', v''), v0), cons(cons(u', v'), z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), cons(u', concat(v', z')))
LESSLEAVES(cons(cons(u'', v''), v0), cons(leaf, z')) -> LESSLEAVES(cons(u'', concat(v'', v0)), z')
LESSLEAVES(cons(leaf, v'), cons(cons(u', v''), z')) -> LESSLEAVES(v', cons(u', concat(v'', z')))
LESSLEAVES(cons(leaf, v'), cons(leaf, z')) -> LESSLEAVES(v', z')
LESSLEAVES(cons(cons(u'1, v''), v0), cons(cons(u'', cons(u''', cons(u'0, leaf))), z'''')) -> LESSLEAVES(cons(u'1, concat(v'', v0)), cons(u'', cons(u''', cons(u'0, z''''))))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))
SHUFFLE(add(n, x)) -> SHUFFLE(reverse(x))
minus(x, 0) -> x
minus(s(x), s(y)) -> minus(x, y)
quot(0, s(y)) -> 0
quot(s(x), s(y)) -> s(quot(minus(x, y), s(y)))
app(nil, y) -> y
app(add(n, x), y) -> add(n, app(x, y))
reverse(nil) -> nil
reverse(add(n, x)) -> app(reverse(x), add(n, nil))
shuffle(nil) -> nil
shuffle(add(n, x)) -> add(n, shuffle(reverse(x)))
concat(leaf, y) -> y
concat(cons(u, v), y) -> cons(u, concat(v, y))
lessleaves(x, leaf) -> false
lessleaves(leaf, cons(w, z)) -> true
lessleaves(cons(u, v), cons(w, z)) -> lessleaves(concat(u, v), concat(w, z))