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
)
|
less_leaves#(
cons(
u
,
v
)
,
cons(
w
,
z
)
)
|
→ |
less_leaves#(
concat(
u
,
v
)
,
concat(
w
,
z
)
)
|
less_leaves#(
cons(
u
,
v
)
,
cons(
w
,
z
)
)
|
→ |
concat#(
u
,
v
)
|
less_leaves#(
cons(
u
,
v
)
,
cons(
w
,
z
)
)
|
→ |
concat#(
w
,
z
)
|
The dependency pairs are split into 7 component(s).
-
The
1st
component contains the
pair(s)
quot#(
s(
x
)
,
s(
y
)
)
|
→ |
quot#(
minus(
x
,
y
)
,
s(
y
)
)
|
1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
x1
|
[concat
(x1, x2)
]
|
= |
2
x1
+
3
|
[leaf]
|
= |
0
|
[quot#
(x1, x2)
]
|
= |
2
x1
|
[quot
(x1, x2)
]
|
= |
2
x1
|
[0]
|
= |
2
|
[less_leaves
(x1, x2)
]
|
= |
3
|
[nil]
|
= |
3
|
[shuffle
(x1)
]
|
= |
3
|
[cons
(x1, x2)
]
|
= |
0
|
[reverse
(x1)
]
|
= |
3
x1
+
3
|
[true]
|
= |
2
|
[false]
|
= |
2
|
[app
(x1, x2)
]
|
= |
x1
|
[add
(x1, x2)
]
|
= |
x1
|
[s
(x1)
]
|
= |
x1
+
1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.1.1: P is empty
All dependency pairs have been removed.
-
The
2nd
component contains the
pair(s)
minus#(
s(
x
)
,
s(
y
)
)
|
→ |
minus#(
x
,
y
)
|
1.1.2: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
x1
|
[concat
(x1, x2)
]
|
= |
2
x1 + x2
|
[leaf]
|
= |
0
|
[quot
(x1, x2)
]
|
= |
x1
|
[0]
|
= |
0
|
[less_leaves
(x1, x2)
]
|
= |
1
|
[nil]
|
= |
0
|
[shuffle
(x1)
]
|
= |
0
|
[cons
(x1, x2)
]
|
= |
3
x1
+
2
|
[reverse
(x1)
]
|
= |
2
|
[true]
|
= |
0
|
[false]
|
= |
1
|
[app
(x1, x2)
]
|
= |
2
x1
+
1
|
[add
(x1, x2)
]
|
= |
0
|
[s
(x1)
]
|
= |
2
x1
+
1
|
[minus#
(x1, x2)
]
|
= |
2
x1 +
2
x2
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.2.1: P is empty
All dependency pairs have been removed.
-
The
3rd
component contains the
pair(s)
shuffle#(
add(
n
,
x
)
)
|
→ |
shuffle#(
reverse(
x
)
)
|
1.1.3: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
2
x1 +
2
x2
|
[concat
(x1, x2)
]
|
= |
2
x1 +
2
x2
|
[leaf]
|
= |
0
|
[quot
(x1, x2)
]
|
= |
0
|
[0]
|
= |
0
|
[less_leaves
(x1, x2)
]
|
= |
2
|
[nil]
|
= |
0
|
[shuffle
(x1)
]
|
= |
2
x1
+
2
|
[cons
(x1, x2)
]
|
= |
x1
|
[reverse
(x1)
]
|
= |
x1
|
[true]
|
= |
2
|
[shuffle#
(x1)
]
|
= |
x1
|
[false]
|
= |
0
|
[app
(x1, x2)
]
|
= |
x1 + x2
|
[add
(x1, x2)
]
|
= |
3
x1 + x2
+
1
|
[s
(x1)
]
|
= |
2
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.3.1: P is empty
All dependency pairs have been removed.
-
The
4th
component contains the
pair(s)
reverse#(
add(
n
,
x
)
)
|
→ |
reverse#(
x
)
|
1.1.4: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
x1 +
3
x2
|
[concat
(x1, x2)
]
|
= |
2
x1 + x2
|
[reverse#
(x1)
]
|
= |
x1
|
[leaf]
|
= |
0
|
[quot
(x1, x2)
]
|
= |
0
|
[0]
|
= |
0
|
[less_leaves
(x1, x2)
]
|
= |
0
|
[nil]
|
= |
0
|
[shuffle
(x1)
]
|
= |
2
x1
|
[cons
(x1, x2)
]
|
= |
x1
|
[reverse
(x1)
]
|
= |
x1
|
[true]
|
= |
0
|
[false]
|
= |
0
|
[app
(x1, x2)
]
|
= |
x1 + x2
|
[add
(x1, x2)
]
|
= |
3
x1 + x2
+
2
|
[s
(x1)
]
|
= |
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.4.1: P is empty
All dependency pairs have been removed.
-
The
5th
component contains the
pair(s)
app#(
add(
n
,
x
)
,
y
)
|
→ |
app#(
x
,
y
)
|
1.1.5: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
2
x1 +
2
x2
|
[concat
(x1, x2)
]
|
= |
2
x1 + x2
|
[leaf]
|
= |
0
|
[quot
(x1, x2)
]
|
= |
0
|
[0]
|
= |
0
|
[app#
(x1, x2)
]
|
= |
x1
|
[less_leaves
(x1, x2)
]
|
= |
2
|
[nil]
|
= |
0
|
[shuffle
(x1)
]
|
= |
2
x1
|
[cons
(x1, x2)
]
|
= |
x1 + x2
|
[reverse
(x1)
]
|
= |
x1
|
[true]
|
= |
1
|
[false]
|
= |
0
|
[app
(x1, x2)
]
|
= |
x1 + x2
|
[add
(x1, x2)
]
|
= |
3
x1 + x2
+
2
|
[s
(x1)
]
|
= |
2
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.5.1: P is empty
All dependency pairs have been removed.
-
The
6th
component contains the
pair(s)
less_leaves#(
cons(
u
,
v
)
,
cons(
w
,
z
)
)
|
→ |
less_leaves#(
concat(
u
,
v
)
,
concat(
w
,
z
)
)
|
1.1.6: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[concat
(x1, x2)
]
|
= |
2
x1 + x2
|
[minus
(x1, x2)
]
|
= |
2
x1 + x2
|
[leaf]
|
= |
0
|
[quot
(x1, x2)
]
|
= |
0
|
[0]
|
= |
0
|
[less_leaves
(x1, x2)
]
|
= |
2
|
[nil]
|
= |
0
|
[cons
(x1, x2)
]
|
= |
2
x1 + x2
+
1
|
[shuffle
(x1)
]
|
= |
1
|
[reverse
(x1)
]
|
= |
0
|
[true]
|
= |
1
|
[less_leaves#
(x1, x2)
]
|
= |
x1
|
[false]
|
= |
1
|
[app
(x1, x2)
]
|
= |
2
x1
|
[add
(x1, x2)
]
|
= |
0
|
[s
(x1)
]
|
= |
2
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.6.1: P is empty
All dependency pairs have been removed.
-
The
7th
component contains the
pair(s)
concat#(
cons(
u
,
v
)
,
y
)
|
→ |
concat#(
v
,
y
)
|
1.1.7: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
x1
|
[concat
(x1, x2)
]
|
= |
2
x1 + x2
+
2
|
[leaf]
|
= |
0
|
[quot
(x1, x2)
]
|
= |
2
x1
|
[0]
|
= |
0
|
[less_leaves
(x1, x2)
]
|
= |
1
|
[nil]
|
= |
0
|
[cons
(x1, x2)
]
|
= |
2
x1 + x2
+
3
|
[shuffle
(x1)
]
|
= |
1
|
[reverse
(x1)
]
|
= |
0
|
[true]
|
= |
0
|
[false]
|
= |
0
|
[app
(x1, x2)
]
|
= |
2
x1
|
[add
(x1, x2)
]
|
= |
0
|
[concat#
(x1, x2)
]
|
= |
x1
|
[s
(x1)
]
|
= |
2
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
1.1.7.1: P is empty
All dependency pairs have been removed.