Term Rewriting System R:
[x]
top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

Termination of R to be shown.

R
Dependency Pair Analysis

R contains the following Dependency Pairs:

TOP(free(x)) -> TOP(check(new(x)))
TOP(free(x)) -> CHECK(new(x))
TOP(free(x)) -> NEW(x)
NEW(free(x)) -> NEW(x)
OLD(free(x)) -> OLD(x)
CHECK(free(x)) -> CHECK(x)
CHECK(new(x)) -> NEW(check(x))
CHECK(new(x)) -> CHECK(x)
CHECK(old(x)) -> OLD(check(x))
CHECK(old(x)) -> CHECK(x)

Furthermore, R contains four SCCs.

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

Dependency Pair:

NEW(free(x)) -> NEW(x)

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

The following dependency pair can be strictly oriented:

NEW(free(x)) -> NEW(x)

There are no usable rules using the Ce-refinement that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(NEW(x1)) =  x1 POL(free(x1)) =  1 + x1

resulting in one new DP problem.
Used Argument Filtering System:
NEW(x1) -> NEW(x1)
free(x1) -> free(x1)

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

Dependency Pair:

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

Using the Dependency Graph resulted in no new DP problems.

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

Dependency Pair:

OLD(free(x)) -> OLD(x)

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

The following dependency pair can be strictly oriented:

OLD(free(x)) -> OLD(x)

There are no usable rules using the Ce-refinement that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(free(x1)) =  1 + x1 POL(OLD(x1)) =  x1

resulting in one new DP problem.
Used Argument Filtering System:
OLD(x1) -> OLD(x1)
free(x1) -> free(x1)

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

Dependency Pair:

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

Using the Dependency Graph resulted in no new DP problems.

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

Dependency Pairs:

CHECK(old(x)) -> CHECK(x)
CHECK(new(x)) -> CHECK(x)
CHECK(free(x)) -> CHECK(x)

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

The following dependency pair can be strictly oriented:

CHECK(new(x)) -> CHECK(x)

There are no usable rules using the Ce-refinement that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(old(x1)) =  x1 POL(free(x1)) =  x1 POL(CHECK(x1)) =  x1 POL(new(x1)) =  1 + x1

resulting in one new DP problem.
Used Argument Filtering System:
CHECK(x1) -> CHECK(x1)
new(x1) -> new(x1)
old(x1) -> old(x1)
free(x1) -> free(x1)

R
DPs
→DP Problem 1
AFS
→DP Problem 2
AFS
→DP Problem 3
AFS
→DP Problem 7
Argument Filtering and Ordering
→DP Problem 4
Nar

Dependency Pairs:

CHECK(old(x)) -> CHECK(x)
CHECK(free(x)) -> CHECK(x)

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

The following dependency pair can be strictly oriented:

CHECK(old(x)) -> CHECK(x)

There are no usable rules using the Ce-refinement that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(old(x1)) =  1 + x1 POL(free(x1)) =  x1 POL(CHECK(x1)) =  x1

resulting in one new DP problem.
Used Argument Filtering System:
CHECK(x1) -> CHECK(x1)
old(x1) -> old(x1)
free(x1) -> free(x1)

R
DPs
→DP Problem 1
AFS
→DP Problem 2
AFS
→DP Problem 3
AFS
→DP Problem 7
AFS
...
→DP Problem 8
Argument Filtering and Ordering
→DP Problem 4
Nar

Dependency Pair:

CHECK(free(x)) -> CHECK(x)

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

The following dependency pair can be strictly oriented:

CHECK(free(x)) -> CHECK(x)

There are no usable rules using the Ce-refinement that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
 POL(free(x1)) =  1 + x1 POL(CHECK(x1)) =  x1

resulting in one new DP problem.
Used Argument Filtering System:
CHECK(x1) -> CHECK(x1)
free(x1) -> free(x1)

R
DPs
→DP Problem 1
AFS
→DP Problem 2
AFS
→DP Problem 3
AFS
→DP Problem 7
AFS
...
→DP Problem 9
Dependency Graph
→DP Problem 4
Nar

Dependency Pair:

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

Using the Dependency Graph resulted in no new DP problems.

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

Dependency Pair:

TOP(free(x)) -> TOP(check(new(x)))

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

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

TOP(free(x)) -> TOP(check(new(x)))
three new Dependency Pairs are created:

TOP(free(x'')) -> TOP(new(check(x'')))
TOP(free(free(x''))) -> TOP(check(free(new(x''))))
TOP(free(serve)) -> TOP(check(free(serve)))

The transformation is resulting in one new DP problem:

R
DPs
→DP Problem 1
AFS
→DP Problem 2
AFS
→DP Problem 3
AFS
→DP Problem 4
Nar
→DP Problem 10
Remaining Obligation(s)

The following remains to be proven:
Dependency Pairs:

TOP(free(serve)) -> TOP(check(free(serve)))
TOP(free(free(x''))) -> TOP(check(free(new(x''))))
TOP(free(x'')) -> TOP(new(check(x'')))

Rules:

top(free(x)) -> top(check(new(x)))
new(free(x)) -> free(new(x))
new(serve) -> free(serve)
old(free(x)) -> free(old(x))
old(serve) -> free(serve)
check(free(x)) -> free(check(x))
check(new(x)) -> new(check(x))
check(old(x)) -> old(check(x))
check(old(x)) -> old(x)

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