Term Rewriting System R:
[X, Y, X1, X2]
af(g(X), Y) -> af(mark(X), f(g(X), Y))
af(X1, X2) -> f(X1, X2)
mark(f(X1, X2)) -> af(mark(X1), X2)
mark(g(X)) -> g(mark(X))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

AF(g(X), Y) -> AF(mark(X), f(g(X), Y))
AF(g(X), Y) -> MARK(X)
MARK(f(X1, X2)) -> AF(mark(X1), X2)
MARK(f(X1, X2)) -> MARK(X1)
MARK(g(X)) -> MARK(X)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Negative Polynomial Order


Dependency Pairs:

MARK(g(X)) -> MARK(X)
MARK(f(X1, X2)) -> MARK(X1)
MARK(f(X1, X2)) -> AF(mark(X1), X2)
AF(g(X), Y) -> MARK(X)
AF(g(X), Y) -> AF(mark(X), f(g(X), Y))


Rules:


af(g(X), Y) -> af(mark(X), f(g(X), Y))
af(X1, X2) -> f(X1, X2)
mark(f(X1, X2)) -> af(mark(X1), X2)
mark(g(X)) -> g(mark(X))





The following Dependency Pairs can be strictly oriented using the given order.

MARK(g(X)) -> MARK(X)
AF(g(X), Y) -> MARK(X)
AF(g(X), Y) -> AF(mark(X), f(g(X), Y))


Moreover, the following usable rules (regarding the implicit AFS) are oriented.

mark(f(X1, X2)) -> af(mark(X1), X2)
mark(g(X)) -> g(mark(X))
af(g(X), Y) -> af(mark(X), f(g(X), Y))
af(X1, X2) -> f(X1, X2)


Used ordering:
Polynomial Order with Interpretation:

POL( MARK(x1) ) = x1

POL( g(x1) ) = x1 + 1

POL( AF(x1, x2) ) = x1

POL( f(x1, x2) ) = x1

POL( mark(x1) ) = x1

POL( af(x1, x2) ) = x1


This results in one new DP problem.


   R
DPs
       →DP Problem 1
Neg POLO
           →DP Problem 2
Dependency Graph


Dependency Pairs:

MARK(f(X1, X2)) -> MARK(X1)
MARK(f(X1, X2)) -> AF(mark(X1), X2)


Rules:


af(g(X), Y) -> af(mark(X), f(g(X), Y))
af(X1, X2) -> f(X1, X2)
mark(f(X1, X2)) -> af(mark(X1), X2)
mark(g(X)) -> g(mark(X))





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


   R
DPs
       →DP Problem 1
Neg POLO
           →DP Problem 2
DGraph
             ...
               →DP Problem 3
Size-Change Principle


Dependency Pair:

MARK(f(X1, X2)) -> MARK(X1)


Rules:


af(g(X), Y) -> af(mark(X), f(g(X), Y))
af(X1, X2) -> f(X1, X2)
mark(f(X1, X2)) -> af(mark(X1), X2)
mark(g(X)) -> g(mark(X))





We number the DPs as follows:
  1. MARK(f(X1, X2)) -> MARK(X1)
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:
f(x1, x2) -> f(x1, x2)

We obtain no new DP problems.

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