Termination proof
1: switching to dependency pairs
The following set of initial dependency pairs has been identified.
f#(
0
)
|
→ |
0#
|
f#(
s(
0
)
)
|
→ |
f#(
p(
s(
0
)
)
)
|
f#(
s(
0
)
)
|
→ |
p#(
s(
0
)
)
|
f#(
s(
0
)
)
|
→ |
s#(
0
)
|
f#(
s(
0
)
)
|
→ |
0#
|
p#(
s(
0
)
)
|
→ |
0#
|
activate#(
n__f(
X
)
)
|
→ |
f#(
activate(
X
)
)
|
activate#(
n__f(
X
)
)
|
→ |
activate#(
X
)
|
activate#(
n__s(
X
)
)
|
→ |
s#(
activate(
X
)
)
|
activate#(
n__s(
X
)
)
|
→ |
activate#(
X
)
|
activate#(
n__0
)
|
→ |
0#
|
1.1: dependency graph processor
The dependency pairs are split into 2 component(s).
-
The
1st
component contains the
pair(s)
activate#(
n__s(
X
)
)
|
→ |
activate#(
X
)
|
activate#(
n__f(
X
)
)
|
→ |
activate#(
X
)
|
1.1.1: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[activate#
(x1)
]
|
= |
x1
|
[n__0]
|
= |
3
|
[f
(x1)
]
|
= |
x1
+
3
|
[n__s
(x1)
]
|
= |
x1
+
3
|
[0]
|
= |
3
|
[s
(x1)
]
|
= |
x1
+
3
|
[n__f
(x1)
]
|
= |
x1
+
3
|
[cons
(x1, x2)
]
|
= |
x1
+
1
|
[activate
(x1)
]
|
= |
3
x1
+
3
|
[p
(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.1.1: P is empty
All dependency pairs have been removed.
-
The
2nd
component contains the
pair(s)
f#(
s(
0
)
)
|
→ |
f#(
p(
s(
0
)
)
)
|
1.1.2: reduction pair processor
Using the following reduction pair
Linear polynomial
interpretation over
the naturals
[n__0]
|
= |
0
|
[f
(x1)
]
|
= |
2
|
[n__s
(x1)
]
|
= |
0
|
[s
(x1)
]
|
= |
1
|
[0]
|
= |
0
|
[n__f
(x1)
]
|
= |
2
|
[f#
(x1)
]
|
= |
2
x1
|
[cons
(x1, x2)
]
|
= |
x1
|
[activate
(x1)
]
|
= |
2
x1
+
1
|
[p
(x1)
]
|
= |
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.