Term Rewriting System R:
[y, x, z]
f(nil) -> nil
f(.(nil, y)) -> .(nil, f(y))
f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(nil) -> nil
g(.(x, nil)) -> .(g(x), nil)
g(.(x, .(y, z))) -> g(.(.(x, y), z))

Termination of R to be shown.



   R
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

f(nil) -> nil

where the Polynomial interpretation:
  POL(g(x1))=  x1  
  POL(nil)=  0  
  POL(.(x1, x2))=  x1 + x2  
  POL(f(x1))=  1 + x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

g(nil) -> nil

where the Polynomial interpretation:
  POL(g(x1))=  1 + x1  
  POL(nil)=  0  
  POL(.(x1, x2))=  x1 + x2  
  POL(f(x1))=  x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

f(.(nil, y)) -> .(nil, f(y))

where the Polynomial interpretation:
  POL(g(x1))=  x1  
  POL(nil)=  1  
  POL(.(x1, x2))=  x1 + x2  
  POL(f(x1))=  2·x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS4
Removing Redundant Rules



Removing the following rules from R which fullfill a polynomial ordering:

g(.(x, nil)) -> .(g(x), nil)

where the Polynomial interpretation:
  POL(g(x1))=  2·x1  
  POL(nil)=  1  
  POL(.(x1, x2))=  x1 + x2  
  POL(f(x1))=  2 + x1  
was used.

Not all Rules of R can be deleted, so we still have to regard a part of R.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS5
Overlay and local confluence Check



The TRS is overlay and locally confluent (all critical pairs are trivially joinable).Hence, we can switch to innermost.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →TRS6
Dependency Pair Analysis



R contains the following Dependency Pairs:

F(.(.(x, y), z)) -> F(.(x, .(y, z)))
G(.(x, .(y, z))) -> G(.(.(x, y), z))

Furthermore, R contains two SCCs.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →DP Problem 1
Usable Rules (Innermost)


Dependency Pair:

F(.(.(x, y), z)) -> F(.(x, .(y, z)))


Rules:


f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(.(x, .(y, z))) -> g(.(.(x, y), z))


Strategy:

innermost




As we are in the innermost case, we can delete all 2 non-usable-rules.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →DP Problem 3
Size-Change Principle


Dependency Pair:

F(.(.(x, y), z)) -> F(.(x, .(y, z)))


Rule:

none


Strategy:

innermost




We number the DPs as follows:
  1. F(.(.(x, y), z)) -> F(.(x, .(y, z)))
and get the following Size-Change Graph(s):
{1} , {1}
1>1

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
.(x1, x2) -> .(x1)

We obtain no new DP problems.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →DP Problem 2
Usable Rules (Innermost)


Dependency Pair:

G(.(x, .(y, z))) -> G(.(.(x, y), z))


Rules:


f(.(.(x, y), z)) -> f(.(x, .(y, z)))
g(.(x, .(y, z))) -> g(.(.(x, y), z))


Strategy:

innermost




As we are in the innermost case, we can delete all 2 non-usable-rules.


   R
RRRPolo
       →TRS2
RRRPolo
           →TRS3
RRRPolo
             ...
               →DP Problem 4
Size-Change Principle


Dependency Pair:

G(.(x, .(y, z))) -> G(.(.(x, y), z))


Rule:

none


Strategy:

innermost




We number the DPs as follows:
  1. G(.(x, .(y, z))) -> G(.(.(x, y), z))
and get the following Size-Change Graph(s):
{1} , {1}
1>1

which lead(s) to this/these maximal multigraph(s):
{1} , {1}
1>1

DP: empty set
Oriented Rules: none

We used the order Homeomorphic Embedding Order with Non-Strict Precedence.
trivial

with Argument Filtering System:
.(x1, x2) -> .(x2)

We obtain no new DP problems.

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