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))

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
Argument Filtering and Ordering
       →DP Problem 2
AFS


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))





The following dependency pair can be strictly oriented:

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


The following rules can be oriented:

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))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(g(x1, x2))=  x1 + x2  
  POL(cons(x1, x2))=  1 + x1 + x2  
  POL(f(x1, x2))=  x1 + x2  
  POL(empty)=  0  

resulting in one new DP problem.
Used Argument Filtering System:
G(x1, x2) -> x1
cons(x1, x2) -> cons(x1, x2)
f(x1, x2) -> f(x1, x2)
g(x1, x2) -> g(x1, x2)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 3
Dependency Graph
       →DP Problem 2
AFS


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))





Using the Dependency Graph resulted in no new DP problems.


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


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))





The following dependency pair can be strictly oriented:

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


The following rules can be oriented:

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))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(g(x1, x2))=  x1 + x2  
  POL(cons(x1, x2))=  1 + x1 + x2  
  POL(f(x1, x2))=  x1 + x2  
  POL(empty)=  0  

resulting in one new DP problem.
Used Argument Filtering System:
F(x1, x2) -> x2
cons(x1, x2) -> cons(x1, x2)
f(x1, x2) -> f(x1, x2)
g(x1, x2) -> g(x1, x2)


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
           →DP Problem 4
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))





Using the Dependency Graph resulted in no new DP problems.

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