Term Rewriting System R:
[x, y, z, u]
f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

F(j(x, y), y) -> G(f(x, k(y)))
F(j(x, y), y) -> F(x, k(y))
F(j(x, y), y) -> K(y)
F(x, h1(y, z)) -> H2(0, x, h1(y, z))
G(h2(x, y, h1(z, u))) -> H2(s(x), y, h1(z, u))
H2(x, j(y, h1(z, u)), h1(z, u)) -> H2(s(x), y, h1(s(z), u))

Furthermore, R contains two SCCs.


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


Dependency Pair:

H2(x, j(y, h1(z, u)), h1(z, u)) -> H2(s(x), y, h1(s(z), u))


Rules:


f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)





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

H2(x, j(y, h1(z, u)), h1(z, u)) -> H2(s(x), y, h1(s(z), u))
one new Dependency Pair is created:

H2(s(x''), j(y'', h1(s(z''), u'')), h1(s(z''), u'')) -> H2(s(s(x'')), y'', h1(s(s(z'')), u''))

The transformation is resulting in one new DP problem:



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


Dependency Pair:

H2(s(x''), j(y'', h1(s(z''), u'')), h1(s(z''), u'')) -> H2(s(s(x'')), y'', h1(s(s(z'')), u''))


Rules:


f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)





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

H2(s(x''), j(y'', h1(s(z''), u'')), h1(s(z''), u'')) -> H2(s(s(x'')), y'', h1(s(s(z'')), u''))
one new Dependency Pair is created:

H2(s(s(x'''')), j(y'''', h1(s(s(z'''')), u'''')), h1(s(s(z'''')), u'''')) -> H2(s(s(s(x''''))), y'''', h1(s(s(s(z''''))), u''''))

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
Polo


Dependency Pair:

H2(s(s(x'''')), j(y'''', h1(s(s(z'''')), u'''')), h1(s(s(z'''')), u'''')) -> H2(s(s(s(x''''))), y'''', h1(s(s(s(z''''))), u''''))


Rules:


f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)





The following dependency pair can be strictly oriented:

H2(s(s(x'''')), j(y'''', h1(s(s(z'''')), u'''')), h1(s(s(z'''')), u'''')) -> H2(s(s(s(x''''))), y'''', h1(s(s(s(z''''))), u''''))


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

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(h1(x1, x2))=  0  
  POL(s(x1))=  0  
  POL(j(x1, x2))=  1 + x1  
  POL(H2(x1, x2, x3))=  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
Polo


Dependency Pair:


Rules:


f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Inst
       →DP Problem 2
Polynomial Ordering


Dependency Pair:

F(j(x, y), y) -> F(x, k(y))


Rules:


f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)





The following dependency pair can be strictly oriented:

F(j(x, y), y) -> F(x, k(y))


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

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(0)=  0  
  POL(h1(x1, x2))=  0  
  POL(h(x1))=  0  
  POL(s(x1))=  0  
  POL(j(x1, x2))=  1 + x1  
  POL(F(x1, x2))=  x1  
  POL(k(x1))=  0  

resulting in one new DP problem.



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


Dependency Pair:


Rules:


f(j(x, y), y) -> g(f(x, k(y)))
f(x, h1(y, z)) -> h2(0, x, h1(y, z))
g(h2(x, y, h1(z, u))) -> h2(s(x), y, h1(z, u))
h2(x, j(y, h1(z, u)), h1(z, u)) -> h2(s(x), y, h1(s(z), u))
i(f(x, h(y))) -> y
i(h2(s(x), y, h1(x, z))) -> z
k(h(x)) -> h1(0, x)
k(h1(x, y)) -> h1(s(x), y)





Using the Dependency Graph resulted in no new DP problems.

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