Term Rewriting System R:
[y, u, v, w, z]
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))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

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)

Furthermore, R contains two SCCs.


   R
DPs
       →DP Problem 1
Argument Filtering and Ordering
       →DP Problem 2
Nar


Dependency Pair:

CONCAT(cons(u, v), y) -> CONCAT(v, y)


Rules:


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))





The following dependency pair can be strictly oriented:

CONCAT(cons(u, v), y) -> CONCAT(v, y)


There are no usable rules using the Ce-refinement that need to be oriented.
Used ordering: Homeomorphic Embedding Order with EMB
resulting in one new DP problem.
Used Argument Filtering System:
CONCAT(x1, x2) -> CONCAT(x1, x2)
cons(x1, x2) -> cons(x1, x2)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 3
Dependency Graph
       →DP Problem 2
Nar


Dependency Pair:


Rules:


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))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Narrowing Transformation


Dependency Pair:

LESSLEAVES(cons(u, v), cons(w, z)) -> LESSLEAVES(concat(u, v), concat(w, z))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(u, v), cons(w, z)) -> LESSLEAVES(concat(u, v), concat(w, z))
four new Dependency Pairs are created:

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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Narrowing Transformation


Dependency Pairs:

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))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(leaf, v'), cons(w, z)) -> LESSLEAVES(v', concat(w, z))
two new Dependency Pairs are created:

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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 5
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(cons(u'', v''), v0), cons(w, z)) -> LESSLEAVES(cons(u'', concat(v'', v0)), concat(w, z))
four 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'', 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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 6
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(u, v), cons(leaf, z')) -> LESSLEAVES(concat(u, v), z')
two new Dependency Pairs are created:

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')

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 7
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(u, v), cons(cons(u'', v''), z')) -> LESSLEAVES(concat(u, v), cons(u'', concat(v'', z')))
four new Dependency Pairs are created:

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''))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 8
Narrowing Transformation


Dependency Pairs:

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')


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(cons(u'', leaf), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', v0'), concat(w, z))
two new Dependency Pairs are created:

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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 9
Narrowing Transformation


Dependency Pairs:

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''))))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(cons(u'', cons(u', v')), v0'), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', concat(v', v0'))), concat(w, z))
four 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', 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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 10
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(u, v), cons(cons(u'', leaf), z'')) -> LESSLEAVES(concat(u, v), cons(u'', z''))
two new Dependency Pairs are created:

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''))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 11
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', v''')), z'')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', concat(v''', z''))))
four new Dependency Pairs are created:

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''')))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 12
Narrowing Transformation


Dependency Pairs:

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''))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(cons(u'', cons(u', leaf)), v0''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', v0'')), concat(w, z))
two new Dependency Pairs are created:

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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 13
Narrowing Transformation


Dependency Pairs:

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''')))))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

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))
four 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, 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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 14
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(u, v), cons(cons(u'', cons(u''', leaf)), z''')) -> LESSLEAVES(concat(u, v), cons(u'', cons(u''', z''')))
two new Dependency Pairs are created:

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''')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 15
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

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''')))))
four new Dependency Pairs are created:

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''''))))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 16
Narrowing Transformation


Dependency Pairs:

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''')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

LESSLEAVES(cons(cons(u'', cons(u', cons(u0, leaf))), v0'''), cons(w, z)) -> LESSLEAVES(cons(u'', cons(u', cons(u0, v0'''))), concat(w, z))
two new Dependency Pairs are created:

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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 17
Narrowing Transformation


Dependency Pairs:

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''''))))))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

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))
four new Dependency Pairs are created:

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')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 18
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

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''''))))
two new Dependency Pairs are created:

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''''))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 19
Narrowing Transformation


Dependency Pairs:

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')))


Rules:


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))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

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''''))))))
four new Dependency Pairs are created:

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''''')))))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
Nar
           →DP Problem 4
Nar
             ...
               →DP Problem 20
Remaining Obligation(s)




The following remains to be proven:
Dependency Pairs:

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''''))))


Rules:


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))




Termination of R could not be shown.
Duration:
0:09 minutes