Term Rewriting System R:
[x]
active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

ACTIVE(f(x)) -> F(f(x))
CHK(no(f(x))) -> F(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))
CHK(no(f(x))) -> MAT(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)
CHK(no(f(x))) -> F(f(f(f(f(f(f(f(f(f(X))))))))))
CHK(no(f(x))) -> F(f(f(f(f(f(f(f(f(X)))))))))
CHK(no(f(x))) -> F(f(f(f(f(f(f(f(X))))))))
CHK(no(f(x))) -> F(f(f(f(f(f(f(X)))))))
CHK(no(f(x))) -> F(f(f(f(f(f(X))))))
CHK(no(f(x))) -> F(f(f(f(f(X)))))
CHK(no(f(x))) -> F(f(f(f(X))))
CHK(no(f(x))) -> F(f(f(X)))
CHK(no(f(x))) -> F(f(X))
CHK(no(f(x))) -> F(X)
CHK(no(c)) -> ACTIVE(c)
MAT(f(x), f(y)) -> F(mat(x, y))
MAT(f(x), f(y)) -> MAT(x, y)
F(active(x)) -> ACTIVE(f(x))
F(active(x)) -> F(x)
F(no(x)) -> F(x)
F(mark(x)) -> F(x)
TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
TP(mark(x)) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))
TP(mark(x)) -> MAT(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)
TP(mark(x)) -> F(f(f(f(f(f(f(f(f(f(X))))))))))
TP(mark(x)) -> F(f(f(f(f(f(f(f(f(X)))))))))
TP(mark(x)) -> F(f(f(f(f(f(f(f(X))))))))
TP(mark(x)) -> F(f(f(f(f(f(f(X)))))))
TP(mark(x)) -> F(f(f(f(f(f(X))))))
TP(mark(x)) -> F(f(f(f(f(X)))))
TP(mark(x)) -> F(f(f(f(X))))
TP(mark(x)) -> F(f(f(X)))
TP(mark(x)) -> F(f(X))
TP(mark(x)) -> F(X)

Furthermore, R contains three SCCs.


   R
DPs
       →DP Problem 1
Polynomial Ordering
       →DP Problem 2
Polo
       →DP Problem 3
Nar


Dependency Pairs:

F(mark(x)) -> F(x)
F(no(x)) -> F(x)
F(active(x)) -> F(x)
F(active(x)) -> ACTIVE(f(x))
ACTIVE(f(x)) -> F(f(x))


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





The following dependency pairs can be strictly oriented:

F(active(x)) -> F(x)
F(active(x)) -> ACTIVE(f(x))


Additionally, the following usable rules w.r.t. to the implicit AFS can be oriented:

active(f(x)) -> mark(f(f(x)))
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(active(x1))=  1 + x1  
  POL(ACTIVE(x1))=  x1  
  POL(no(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(f(x1))=  x1  
  POL(F(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 4
Dependency Graph
       →DP Problem 2
Polo
       →DP Problem 3
Nar


Dependency Pairs:

F(mark(x)) -> F(x)
F(no(x)) -> F(x)
ACTIVE(f(x)) -> F(f(x))


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





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


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


Dependency Pairs:

F(no(x)) -> F(x)
F(mark(x)) -> F(x)


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





The following dependency pair can be strictly oriented:

F(no(x)) -> F(x)


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(no(x1))=  1 + x1  
  POL(mark(x1))=  x1  
  POL(F(x1))=  x1  

resulting in one new DP problem.



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


Dependency Pair:

F(mark(x)) -> F(x)


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





The following dependency pair can be strictly oriented:

F(mark(x)) -> F(x)


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(mark(x1))=  1 + x1  
  POL(F(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 4
DGraph
             ...
               →DP Problem 7
Dependency Graph
       →DP Problem 2
Polo
       →DP Problem 3
Nar


Dependency Pair:


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polynomial Ordering
       →DP Problem 3
Nar


Dependency Pair:

CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





The following dependency pair can be strictly oriented:

CHK(no(f(x))) -> CHK(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x))


Additionally, the following usable rules w.r.t. to the implicit AFS can be oriented:

active(f(x)) -> mark(f(f(x)))
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(active(x1))=  0  
  POL(c)=  0  
  POL(X)=  0  
  POL(no(x1))=  x1  
  POL(mark(x1))=  0  
  POL(y)=  1  
  POL(f(x1))=  1 + x1  
  POL(CHK(x1))=  1 + x1  
  POL(mat(x1, x2))=  x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
           →DP Problem 8
Dependency Graph
       →DP Problem 3
Nar


Dependency Pair:


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Narrowing Transformation


Dependency Pair:

TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





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

TP(mark(x)) -> TP(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
two new Dependency Pairs are created:

TP(mark(f(y))) -> TP(chk(f(mat(f(f(f(f(f(f(f(f(f(X))))))))), y))))
TP(mark(c)) -> TP(chk(no(c)))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Nar
           →DP Problem 9
Narrowing Transformation


Dependency Pairs:

TP(mark(c)) -> TP(chk(no(c)))
TP(mark(f(y))) -> TP(chk(f(mat(f(f(f(f(f(f(f(f(f(X))))))))), y))))


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





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

TP(mark(f(y))) -> TP(chk(f(mat(f(f(f(f(f(f(f(f(f(X))))))))), y))))
no new Dependency Pairs are created.
The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Nar
           →DP Problem 9
Nar
             ...
               →DP Problem 10
Polynomial Ordering


Dependency Pair:

TP(mark(c)) -> TP(chk(no(c)))


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





The following dependency pair can be strictly oriented:

TP(mark(c)) -> TP(chk(no(c)))


Additionally, the following usable rules w.r.t. to the implicit AFS can be oriented:

chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
active(f(x)) -> mark(f(f(x)))
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(chk(x1))=  0  
  POL(active(x1))=  0  
  POL(c)=  1  
  POL(X)=  0  
  POL(no(x1))=  0  
  POL(TP(x1))=  x1  
  POL(mark(x1))=  x1  
  POL(y)=  0  
  POL(f(x1))=  0  
  POL(mat(x1, x2))=  0  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Nar
           →DP Problem 9
Nar
             ...
               →DP Problem 11
Dependency Graph


Dependency Pair:


Rules:


active(f(x)) -> mark(f(f(x)))
chk(no(f(x))) -> f(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))
chk(no(c)) -> active(c)
mat(f(x), f(y)) -> f(mat(x, y))
mat(f(x), c) -> no(c)
f(active(x)) -> active(f(x))
f(no(x)) -> no(f(x))
f(mark(x)) -> mark(f(x))
tp(mark(x)) -> tp(chk(mat(f(f(f(f(f(f(f(f(f(f(X)))))))))), x)))





Using the Dependency Graph resulted in no new DP problems.

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