Term Rewriting System R:
[a, x, k, d]
f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Innermost Termination of R to be shown.

R
Dependency Pair Analysis

R contains the following Dependency Pairs:

F(a, empty) -> G(a, empty)
F(a, cons(x, k)) -> F(cons(x, a), k)
G(cons(x, k), d) -> G(k, cons(x, d))

Furthermore, R contains two SCCs.

R
DPs
→DP Problem 1
Instantiation Transformation
→DP Problem 2
Inst

Dependency Pair:

G(cons(x, k), d) -> G(k, cons(x, d))

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

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

G(cons(x, k), d) -> G(k, cons(x, d))
one new Dependency Pair is created:

G(cons(x0, k''), cons(x'', d'')) -> G(k'', cons(x0, cons(x'', d'')))

The transformation is resulting in one new DP problem:

R
DPs
→DP Problem 1
Inst
→DP Problem 3
Instantiation Transformation
→DP Problem 2
Inst

Dependency Pair:

G(cons(x0, k''), cons(x'', d'')) -> G(k'', cons(x0, cons(x'', d'')))

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

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

G(cons(x0, k''), cons(x'', d'')) -> G(k'', cons(x0, cons(x'', d'')))
one new Dependency Pair is created:

G(cons(x0'', k''''), cons(x'''', cons(x''''', d''''))) -> G(k'''', cons(x0'', cons(x'''', cons(x''''', d''''))))

The transformation is resulting in one new DP problem:

R
DPs
→DP Problem 1
Inst
→DP Problem 3
Inst
...
→DP Problem 4
Polynomial Ordering
→DP Problem 2
Inst

Dependency Pair:

G(cons(x0'', k''''), cons(x'''', cons(x''''', d''''))) -> G(k'''', cons(x0'', cons(x'''', cons(x''''', d''''))))

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

The following dependency pair can be strictly oriented:

G(cons(x0'', k''''), cons(x'''', cons(x''''', d''''))) -> G(k'''', cons(x0'', cons(x'''', cons(x''''', d''''))))

There are no usable rules for innermost w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(G(x1, x2)) =  x1 POL(cons(x1, x2)) =  1 + x2

resulting in one new DP problem.

R
DPs
→DP Problem 1
Inst
→DP Problem 3
Inst
...
→DP Problem 5
Dependency Graph
→DP Problem 2
Inst

Dependency Pair:

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

Using the Dependency Graph resulted in no new DP problems.

R
DPs
→DP Problem 1
Inst
→DP Problem 2
Instantiation Transformation

Dependency Pair:

F(a, cons(x, k)) -> F(cons(x, a), k)

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

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

F(a, cons(x, k)) -> F(cons(x, a), k)
one new Dependency Pair is created:

F(cons(x'', a''), cons(x0, k'')) -> F(cons(x0, cons(x'', a'')), k'')

The transformation is resulting in one new DP problem:

R
DPs
→DP Problem 1
Inst
→DP Problem 2
Inst
→DP Problem 6
Instantiation Transformation

Dependency Pair:

F(cons(x'', a''), cons(x0, k'')) -> F(cons(x0, cons(x'', a'')), k'')

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

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

F(cons(x'', a''), cons(x0, k'')) -> F(cons(x0, cons(x'', a'')), k'')
one new Dependency Pair is created:

F(cons(x'''', cons(x''''', a'''')), cons(x0'', k'''')) -> F(cons(x0'', cons(x'''', cons(x''''', a''''))), k'''')

The transformation is resulting in one new DP problem:

R
DPs
→DP Problem 1
Inst
→DP Problem 2
Inst
→DP Problem 6
Inst
...
→DP Problem 7
Polynomial Ordering

Dependency Pair:

F(cons(x'''', cons(x''''', a'''')), cons(x0'', k'''')) -> F(cons(x0'', cons(x'''', cons(x''''', a''''))), k'''')

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

The following dependency pair can be strictly oriented:

F(cons(x'''', cons(x''''', a'''')), cons(x0'', k'''')) -> F(cons(x0'', cons(x'''', cons(x''''', a''''))), k'''')

There are no usable rules for innermost w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(cons(x1, x2)) =  1 + x2 POL(F(x1, x2)) =  x2

resulting in one new DP problem.

R
DPs
→DP Problem 1
Inst
→DP Problem 2
Inst
→DP Problem 6
Inst
...
→DP Problem 8
Dependency Graph

Dependency Pair:

Rules:

f(a, empty) -> g(a, empty)
f(a, cons(x, k)) -> f(cons(x, a), k)
g(empty, d) -> d
g(cons(x, k), d) -> g(k, cons(x, d))

Strategy:

innermost

Using the Dependency Graph resulted in no new DP problems.

Innermost Termination of R successfully shown.
Duration:
0:00 minutes