Term Rewriting System R:
[x, y]
f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

F(c(s(x), y)) -> F(c(x, s(y)))
F(c(s(x), s(y))) -> G(c(x, y))
G(c(x, s(y))) -> G(c(s(x), y))
G(c(s(x), s(y))) -> F(c(x, y))

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Polynomial Ordering


Dependency Pairs:

G(c(s(x), s(y))) -> F(c(x, y))
G(c(x, s(y))) -> G(c(s(x), y))
F(c(s(x), s(y))) -> G(c(x, y))
F(c(s(x), y)) -> F(c(x, s(y)))


Rules:


f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))





The following dependency pairs can be strictly oriented:

G(c(s(x), s(y))) -> F(c(x, y))
F(c(s(x), s(y))) -> G(c(x, y))


Additionally, the following rules can be oriented:

f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(c(x1, x2))=  x1 + x2  
  POL(g(x1))=  0  
  POL(G(x1))=  x1  
  POL(s(x1))=  1 + x1  
  POL(f(x1))=  0  
  POL(F(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 2
Dependency Graph


Dependency Pairs:

G(c(x, s(y))) -> G(c(s(x), y))
F(c(s(x), y)) -> F(c(x, s(y)))


Rules:


f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))





Using the Dependency Graph the DP problem was split into 2 DP problems.


   R
DPs
       →DP Problem 1
Polo
           →DP Problem 2
DGraph
             ...
               →DP Problem 3
Polynomial Ordering


Dependency Pair:

G(c(x, s(y))) -> G(c(s(x), y))


Rules:


f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))





The following dependency pair can be strictly oriented:

G(c(x, s(y))) -> G(c(s(x), y))


Additionally, the following rules can be oriented:

f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(c(x1, x2))=  x2  
  POL(g(x1))=  0  
  POL(G(x1))=  x1  
  POL(s(x1))=  1 + x1  
  POL(f(x1))=  0  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 2
DGraph
             ...
               →DP Problem 5
Dependency Graph


Dependency Pair:


Rules:


f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
           →DP Problem 2
DGraph
             ...
               →DP Problem 4
Polynomial Ordering


Dependency Pair:

F(c(s(x), y)) -> F(c(x, s(y)))


Rules:


f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))





The following dependency pair can be strictly oriented:

F(c(s(x), y)) -> F(c(x, s(y)))


Additionally, the following rules can be oriented:

f(c(s(x), y)) -> f(c(x, s(y)))
f(c(s(x), s(y))) -> g(c(x, y))
g(c(x, s(y))) -> g(c(s(x), y))
g(c(s(x), s(y))) -> f(c(x, y))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(c(x1, x2))=  x1  
  POL(g(x1))=  0  
  POL(s(x1))=  1 + x1  
  POL(f(x1))=  0  
  POL(F(x1))=  x1  

resulting in one new DP problem.


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