Term Rewriting System R:
[z, x, y]
app(app(h, z), app(e, x)) -> app(app(h, app(c, z)), app(app(d, z), x))
app(app(d, z), app(app(g, 0), 0)) -> app(e, 0)
app(app(d, z), app(app(g, x), y)) -> app(app(g, app(e, x)), app(app(d, z), y))
app(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> app(app(g, app(app(d, app(c, z)), app(app(g, x), y))), app(app(d, z), app(app(g, x), y)))
app(app(g, app(e, x)), app(e, y)) -> app(e, app(app(g, x), y))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

APP(app(h, z), app(e, x)) -> APP(app(h, app(c, z)), app(app(d, z), x))
APP(app(h, z), app(e, x)) -> APP(h, app(c, z))
APP(app(h, z), app(e, x)) -> APP(c, z)
APP(app(h, z), app(e, x)) -> APP(app(d, z), x)
APP(app(h, z), app(e, x)) -> APP(d, z)
APP(app(d, z), app(app(g, 0), 0)) -> APP(e, 0)
APP(app(d, z), app(app(g, x), y)) -> APP(app(g, app(e, x)), app(app(d, z), y))
APP(app(d, z), app(app(g, x), y)) -> APP(g, app(e, x))
APP(app(d, z), app(app(g, x), y)) -> APP(e, x)
APP(app(d, z), app(app(g, x), y)) -> APP(app(d, z), y)
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(g, app(app(d, app(c, z)), app(app(g, x), y))), app(app(d, z), app(app(g, x), y)))
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(g, app(app(d, app(c, z)), app(app(g, x), y)))
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(d, app(c, z)), app(app(g, x), y))
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(d, z), app(app(g, x), y))
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(d, z)
APP(app(g, app(e, x)), app(e, y)) -> APP(e, app(app(g, x), y))
APP(app(g, app(e, x)), app(e, y)) -> APP(app(g, x), y)
APP(app(g, app(e, x)), app(e, y)) -> APP(g, x)

Furthermore, R contains three SCCs.


   R
DPs
       →DP Problem 1
Size-Change Principle
       →DP Problem 2
MRR
       →DP Problem 3
Remaining


Dependency Pair:

APP(app(g, app(e, x)), app(e, y)) -> APP(app(g, x), y)


Rules:


app(app(h, z), app(e, x)) -> app(app(h, app(c, z)), app(app(d, z), x))
app(app(d, z), app(app(g, 0), 0)) -> app(e, 0)
app(app(d, z), app(app(g, x), y)) -> app(app(g, app(e, x)), app(app(d, z), y))
app(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> app(app(g, app(app(d, app(c, z)), app(app(g, x), y))), app(app(d, z), app(app(g, x), y)))
app(app(g, app(e, x)), app(e, y)) -> app(e, app(app(g, x), y))





The original DP problem is in applicative form. Its DPs and usable rules are the following.

APP(app(g, app(e, x)), app(e, y)) -> APP(app(g, x), y)

none


It is proper and hence, it can be A-transformed which results in the DP problem

G(e(x), e(y)) -> G(x, y)

none


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

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

DP: empty set
Oriented Rules: none

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

with Argument Filtering System:
e(x1) -> e(x1)

We obtain no new DP problems.


   R
DPs
       →DP Problem 1
SCP
       →DP Problem 2
Modular Removal of Rules
       →DP Problem 3
Remaining


Dependency Pairs:

APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(d, z), app(app(g, x), y))
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(d, app(c, z)), app(app(g, x), y))
APP(app(d, z), app(app(g, x), y)) -> APP(app(d, z), y)


Rules:


app(app(h, z), app(e, x)) -> app(app(h, app(c, z)), app(app(d, z), x))
app(app(d, z), app(app(g, 0), 0)) -> app(e, 0)
app(app(d, z), app(app(g, x), y)) -> app(app(g, app(e, x)), app(app(d, z), y))
app(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> app(app(g, app(app(d, app(c, z)), app(app(g, x), y))), app(app(d, z), app(app(g, x), y)))
app(app(g, app(e, x)), app(e, y)) -> app(e, app(app(g, x), y))





The original DP problem is in applicative form. Its DPs and usable rules are the following.

APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(d, z), app(app(g, x), y))
APP(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> APP(app(d, app(c, z)), app(app(g, x), y))
APP(app(d, z), app(app(g, x), y)) -> APP(app(d, z), y)


app(app(g, app(e, x)), app(e, y)) -> app(e, app(app(g, x), y))


It is proper and hence, it can be A-transformed which results in the DP problem

D(c(z), g(g(x, y), 0)) -> D(z, g(x, y))
D(c(z), g(g(x, y), 0)) -> D(c(z), g(x, y))
D(z, g(x, y)) -> D(z, y)


g(e(x), e(y)) -> e(g(x, y))


To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(c(x1))=  1 + x1  
  POL(0)=  0  
  POL(g(x1, x2))=  x1 + x2  
  POL(e(x1))=  x1  
  POL(D(x1, x2))=  1 + x1 + x2  

We have the following set D of usable symbols: {c, g, e, D}
The following Dependency Pairs can be deleted as they contain symbols in their lhs which do not occur in D:

D(c(z), g(g(x, y), 0)) -> D(z, g(x, y))
D(c(z), g(g(x, y), 0)) -> D(c(z), g(x, y))

4 non usable rules have been deleted.

The result of this processor delivers one new DP problem.
Note that we keep the A-transformed DP problem as result of this processor.



   R
DPs
       →DP Problem 1
SCP
       →DP Problem 2
MRR
           →DP Problem 4
Modular Removal of Rules
       →DP Problem 3
Remaining


Dependency Pair:

D(z, g(x, y)) -> D(z, y)


Rule:


g(e(x), e(y)) -> e(g(x, y))





We have the following set of usable rules: none
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(g(x1, x2))=  x1 + x2  
  POL(D(x1, x2))=  x1 + x2  

We have the following set D of usable symbols: {D}
The following Dependency Pairs can be deleted as they contain symbols in their lhs which do not occur in D:

D(z, g(x, y)) -> D(z, y)

No Rules can be deleted.

After the removal, there are no SCCs in the dependency graph which results in no DP problems which have to be solved.



   R
DPs
       →DP Problem 1
SCP
       →DP Problem 2
MRR
       →DP Problem 3
Remaining Obligation(s)




The following remains to be proven:
Dependency Pair:

APP(app(h, z), app(e, x)) -> APP(app(h, app(c, z)), app(app(d, z), x))


Rules:


app(app(h, z), app(e, x)) -> app(app(h, app(c, z)), app(app(d, z), x))
app(app(d, z), app(app(g, 0), 0)) -> app(e, 0)
app(app(d, z), app(app(g, x), y)) -> app(app(g, app(e, x)), app(app(d, z), y))
app(app(d, app(c, z)), app(app(g, app(app(g, x), y)), 0)) -> app(app(g, app(app(d, app(c, z)), app(app(g, x), y))), app(app(d, z), app(app(g, x), y)))
app(app(g, app(e, x)), app(e, y)) -> app(e, app(app(g, x), y))




The Proof could not be continued due to a Timeout.
Termination of R could not be shown.
Duration:
1:00 minutes