active#(
minus(
0
,
Y
)
)
|
→ |
mark#(
0
)
|
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
minus#(
X
,
Y
)
|
active#(
geq(
X
,
0
)
)
|
→ |
mark#(
true
)
|
active#(
geq(
0
,
s(
Y
)
)
)
|
→ |
mark#(
false
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
geq#(
X
,
Y
)
|
active#(
div(
0
,
s(
Y
)
)
)
|
→ |
mark#(
0
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
if(
geq(
X
,
Y
)
,
s(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
,
0
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
if#(
geq(
X
,
Y
)
,
s(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
,
0
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
geq#(
X
,
Y
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
s#(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
div#(
minus(
X
,
Y
)
,
s(
Y
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
minus#(
X
,
Y
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
s#(
Y
)
|
active#(
if(
true
,
X
,
Y
)
)
|
→ |
mark#(
X
)
|
active#(
if(
false
,
X
,
Y
)
)
|
→ |
mark#(
Y
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
minus#(
X1
,
X2
)
|
mark#(
0
)
|
→ |
active#(
0
)
|
mark#(
s(
X
)
)
|
→ |
active#(
s(
mark(
X
)
)
)
|
mark#(
s(
X
)
)
|
→ |
s#(
mark(
X
)
)
|
mark#(
s(
X
)
)
|
→ |
mark#(
X
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
geq#(
X1
,
X2
)
|
mark#(
true
)
|
→ |
active#(
true
)
|
mark#(
false
)
|
→ |
active#(
false
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
active#(
div(
mark(
X1
)
,
X2
)
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
div#(
mark(
X1
)
,
X2
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
mark#(
X1
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
active#(
if(
mark(
X1
)
,
X2
,
X3
)
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
if#(
mark(
X1
)
,
X2
,
X3
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
mark#(
X1
)
|
minus#(
mark(
X1
)
,
X2
)
|
→ |
minus#(
X1
,
X2
)
|
minus#(
X1
,
mark(
X2
)
)
|
→ |
minus#(
X1
,
X2
)
|
minus#(
active(
X1
)
,
X2
)
|
→ |
minus#(
X1
,
X2
)
|
minus#(
X1
,
active(
X2
)
)
|
→ |
minus#(
X1
,
X2
)
|
s#(
mark(
X
)
)
|
→ |
s#(
X
)
|
s#(
active(
X
)
)
|
→ |
s#(
X
)
|
geq#(
mark(
X1
)
,
X2
)
|
→ |
geq#(
X1
,
X2
)
|
geq#(
X1
,
mark(
X2
)
)
|
→ |
geq#(
X1
,
X2
)
|
geq#(
active(
X1
)
,
X2
)
|
→ |
geq#(
X1
,
X2
)
|
geq#(
X1
,
active(
X2
)
)
|
→ |
geq#(
X1
,
X2
)
|
div#(
mark(
X1
)
,
X2
)
|
→ |
div#(
X1
,
X2
)
|
div#(
X1
,
mark(
X2
)
)
|
→ |
div#(
X1
,
X2
)
|
div#(
active(
X1
)
,
X2
)
|
→ |
div#(
X1
,
X2
)
|
div#(
X1
,
active(
X2
)
)
|
→ |
div#(
X1
,
X2
)
|
if#(
mark(
X1
)
,
X2
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
mark(
X2
)
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
X2
,
mark(
X3
)
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
active(
X1
)
,
X2
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
active(
X2
)
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
X2
,
active(
X3
)
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
The dependency pairs are split into 6 component(s).
-
The
1st
component contains the
pair(s)
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
mark#(
s(
X
)
)
|
→ |
active#(
s(
mark(
X
)
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
if(
geq(
X
,
Y
)
,
s(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
,
0
)
)
|
mark#(
s(
X
)
)
|
→ |
mark#(
X
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
active#(
if(
true
,
X
,
Y
)
)
|
→ |
mark#(
X
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
active#(
div(
mark(
X1
)
,
X2
)
)
|
active#(
if(
false
,
X
,
Y
)
)
|
→ |
mark#(
Y
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
mark#(
X1
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
active#(
if(
mark(
X1
)
,
X2
,
X3
)
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
mark#(
X1
)
|
1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
1
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
0
|
[if
(x1, x2, x3)
]
|
= |
1
|
[active#
(x1)
]
|
= |
x1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
0
|
[mark#
(x1)
]
|
= |
1
|
[s
(x1)
]
|
= |
0
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
1
|
[div
(x1, x2)
]
|
= |
1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
if(
geq(
X
,
Y
)
,
s(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
,
0
)
)
|
mark#(
s(
X
)
)
|
→ |
mark#(
X
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
active#(
if(
true
,
X
,
Y
)
)
|
→ |
mark#(
X
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
active#(
div(
mark(
X1
)
,
X2
)
)
|
active#(
if(
false
,
X
,
Y
)
)
|
→ |
mark#(
Y
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
mark#(
X1
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
active#(
if(
mark(
X1
)
,
X2
,
X3
)
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
mark#(
X1
)
|
1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2 + x3
|
[mark
(x1)
]
|
= |
x1
|
[active#
(x1)
]
|
= |
2
x1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
x1
|
[mark#
(x1)
]
|
= |
2
x1
|
[s
(x1)
]
|
= |
x1
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
2
x1
+
2
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
if(
geq(
X
,
Y
)
,
s(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
,
0
)
)
|
mark#(
s(
X
)
)
|
→ |
mark#(
X
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
active#(
if(
true
,
X
,
Y
)
)
|
→ |
mark#(
X
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
active#(
div(
mark(
X1
)
,
X2
)
)
|
active#(
if(
false
,
X
,
Y
)
)
|
→ |
mark#(
Y
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
active#(
if(
mark(
X1
)
,
X2
,
X3
)
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
mark#(
X1
)
|
1.1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[if
(x1, x2, x3)
]
|
= |
x1 + x2 +
2
x3
|
[mark
(x1)
]
|
= |
x1
|
[active#
(x1)
]
|
= |
x1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
x1
|
[mark#
(x1)
]
|
= |
x1
|
[s
(x1)
]
|
= |
2
x1
+
2
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
active#(
div(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
if(
geq(
X
,
Y
)
,
s(
div(
minus(
X
,
Y
)
,
s(
Y
)
)
)
,
0
)
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
active#(
if(
true
,
X
,
Y
)
)
|
→ |
mark#(
X
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
active#(
div(
mark(
X1
)
,
X2
)
)
|
active#(
if(
false
,
X
,
Y
)
)
|
→ |
mark#(
Y
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
active#(
if(
mark(
X1
)
,
X2
,
X3
)
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
mark#(
X1
)
|
1.1.1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[if
(x1, x2, x3)
]
|
= |
x1 + x2 + x3
|
[mark
(x1)
]
|
= |
x1
|
[active#
(x1)
]
|
= |
x1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
x1
|
[mark#
(x1)
]
|
= |
x1
|
[s
(x1)
]
|
= |
2
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
2
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
active#(
if(
true
,
X
,
Y
)
)
|
→ |
mark#(
X
)
|
mark#(
div(
X1
,
X2
)
)
|
→ |
active#(
div(
mark(
X1
)
,
X2
)
)
|
active#(
if(
false
,
X
,
Y
)
)
|
→ |
mark#(
Y
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
active#(
if(
mark(
X1
)
,
X2
,
X3
)
)
|
mark#(
if(
X1
,
X2
,
X3
)
)
|
→ |
mark#(
X1
)
|
1.1.1.1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[if
(x1, x2, x3)
]
|
= |
2
x1 +
3
x2 +
2
x3
+
3
|
[mark
(x1)
]
|
= |
x1
|
[active#
(x1)
]
|
= |
2
x1
+
1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
x1
|
[mark#
(x1)
]
|
= |
3
x1
+
1
|
[s
(x1)
]
|
= |
0
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
x1
+
3
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
active#(
geq(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
geq(
X
,
Y
)
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
1.1.1.1.1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
x1
|
[if
(x1, x2, x3)
]
|
= |
2
x1 +
2
x2 +
2
x3
|
[active#
(x1)
]
|
= |
2
x1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
x1
|
[mark#
(x1)
]
|
= |
2
x1
|
[s
(x1)
]
|
= |
2
x1
+
2
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
2
x1
|
[div
(x1, x2)
]
|
= |
2
x1
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
mark#(
geq(
X1
,
X2
)
)
|
→ |
active#(
geq(
X1
,
X2
)
)
|
1.1.1.1.1.1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
1
|
[true]
|
= |
1
|
[mark
(x1)
]
|
= |
2
x1
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2
|
[active#
(x1)
]
|
= |
2
x1
+
3
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
2
x1
|
[mark#
(x1)
]
|
= |
3
x1
+
2
|
[s
(x1)
]
|
= |
0
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
2
|
[div
(x1, x2)
]
|
= |
0
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
mark#(
minus(
X1
,
X2
)
)
|
→ |
active#(
minus(
X1
,
X2
)
)
|
1.1.1.1.1.1.1.1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
x1
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
x1
|
[if
(x1, x2, x3)
]
|
= |
x1 +
2
x2
|
[active#
(x1)
]
|
= |
2
x1
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
x1
|
[mark#
(x1)
]
|
= |
2
x1
+
2
|
[s
(x1)
]
|
= |
x1
+
1
|
[0]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
2
x1 + x2
|
[f(x1, ..., xn)]
|
= |
x1 + ... + xn + 1
|
for all other symbols f of arity n
|
one remains with the following pair(s).
active#(
minus(
s(
X
)
,
s(
Y
)
)
)
|
→ |
mark#(
minus(
X
,
Y
)
)
|
1.1.1.1.1.1.1.1.1.1.1: dependency graph processor
The dependency pairs are split into 0 component(s).
-
The
2nd
component contains the
pair(s)
minus#(
X1
,
mark(
X2
)
)
|
→ |
minus#(
X1
,
X2
)
|
minus#(
mark(
X1
)
,
X2
)
|
→ |
minus#(
X1
,
X2
)
|
minus#(
active(
X1
)
,
X2
)
|
→ |
minus#(
X1
,
X2
)
|
minus#(
X1
,
active(
X2
)
)
|
→ |
minus#(
X1
,
X2
)
|
1.1.2: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
2
x1
+
3
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
2
x1
+
3
|
[0]
|
= |
0
|
[s
(x1)
]
|
= |
0
|
[minus#
(x1, x2)
]
|
= |
3
x1 + x2
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
0
|
[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)
s#(
active(
X
)
)
|
→ |
s#(
X
)
|
s#(
mark(
X
)
)
|
→ |
s#(
X
)
|
1.1.3: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
2
x1
+
3
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
2
x1
+
3
|
[0]
|
= |
0
|
[s
(x1)
]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
x1
|
[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.3.1: P is empty
All dependency pairs have been removed.
-
The
4th
component contains the
pair(s)
geq#(
X1
,
mark(
X2
)
)
|
→ |
geq#(
X1
,
X2
)
|
geq#(
mark(
X1
)
,
X2
)
|
→ |
geq#(
X1
,
X2
)
|
geq#(
active(
X1
)
,
X2
)
|
→ |
geq#(
X1
,
X2
)
|
geq#(
X1
,
active(
X2
)
)
|
→ |
geq#(
X1
,
X2
)
|
1.1.4: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
2
x1
+
3
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
2
x1
+
3
|
[0]
|
= |
0
|
[s
(x1)
]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
0
|
[geq#
(x1, x2)
]
|
= |
3
x1 + x2
|
[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)
div#(
X1
,
mark(
X2
)
)
|
→ |
div#(
X1
,
X2
)
|
div#(
mark(
X1
)
,
X2
)
|
→ |
div#(
X1
,
X2
)
|
div#(
active(
X1
)
,
X2
)
|
→ |
div#(
X1
,
X2
)
|
div#(
X1
,
active(
X2
)
)
|
→ |
div#(
X1
,
X2
)
|
1.1.5: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
2
x1
+
3
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2
|
[false]
|
= |
0
|
[active
(x1)
]
|
= |
2
x1
+
3
|
[0]
|
= |
0
|
[s
(x1)
]
|
= |
0
|
[div#
(x1, x2)
]
|
= |
3
x1 + x2
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
0
|
[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)
if#(
X1
,
mark(
X2
)
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
mark(
X1
)
,
X2
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
X2
,
mark(
X3
)
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
active(
X1
)
,
X2
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
active(
X2
)
,
X3
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
if#(
X1
,
X2
,
active(
X3
)
)
|
→ |
if#(
X1
,
X2
,
X3
)
|
1.1.6: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[minus
(x1, x2)
]
|
= |
0
|
[true]
|
= |
0
|
[mark
(x1)
]
|
= |
2
x1
+
3
|
[if
(x1, x2, x3)
]
|
= |
2
x1 + x2
|
[false]
|
= |
0
|
[if#
(x1, x2, x3)
]
|
= |
3
x1 + x2 +
3
x3
|
[active
(x1)
]
|
= |
2
x1
+
3
|
[0]
|
= |
0
|
[s
(x1)
]
|
= |
0
|
[geq
(x1, x2)
]
|
= |
0
|
[div
(x1, x2)
]
|
= |
0
|
[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.