Term Rewriting System R:
[x, y, z]
del(.(x, .(y, z))) -> f(=(x, y), x, y, z)
f(true, x, y, z) -> del(.(y, z))
f(false, x, y, z) -> .(x, del(.(y, z)))
=(nil, nil) -> true
=(.(x, y), nil) -> false
=(nil, .(y, z)) -> false
=(.(x, y), .(u, v)) -> and(=(x, u), =(y, v))

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

DEL(.(x, .(y, z))) -> F(=(x, y), x, y, z)
DEL(.(x, .(y, z))) -> ='(x, y)
F(true, x, y, z) -> DEL(.(y, z))
F(false, x, y, z) -> DEL(.(y, z))
='(.(x, y), .(u, v)) -> ='(x, u)
='(.(x, y), .(u, v)) -> ='(y, v)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Argument Filtering and Ordering


Dependency Pairs:

F(false, x, y, z) -> DEL(.(y, z))
F(true, x, y, z) -> DEL(.(y, z))
DEL(.(x, .(y, z))) -> F(=(x, y), x, y, z)


Rules:


del(.(x, .(y, z))) -> f(=(x, y), x, y, z)
f(true, x, y, z) -> del(.(y, z))
f(false, x, y, z) -> .(x, del(.(y, z)))
=(nil, nil) -> true
=(.(x, y), nil) -> false
=(nil, .(y, z)) -> false
=(.(x, y), .(u, v)) -> and(=(x, u), =(y, v))


Strategy:

innermost




The following dependency pair can be strictly oriented:

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


The following usable rules for innermost w.r.t. to the AFS can be oriented:

=(nil, nil) -> true
=(.(x, y), nil) -> false
=(nil, .(y, z)) -> false
=(.(x, y), .(u, v)) -> and(=(x, u), =(y, v))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(DEL(x1))=  x1  
  POL(false)=  0  
  POL(=)=  1  
  POL(true)=  1  
  POL(.(x1, x2))=  1 + x1 + x2  
  POL(F(x1, x2, x3, x4))=  1 + x1 + x2 + x3 + x4  

resulting in one new DP problem.
Used Argument Filtering System:
F(x1, x2, x3, x4) -> F(x1, x2, x3, x4)
DEL(x1) -> DEL(x1)
.(x1, x2) -> .(x1, x2)
=(x1, x2) -> =
and(x1, x2) -> x1


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
Argument Filtering and Ordering


Dependency Pairs:

F(false, x, y, z) -> DEL(.(y, z))
DEL(.(x, .(y, z))) -> F(=(x, y), x, y, z)


Rules:


del(.(x, .(y, z))) -> f(=(x, y), x, y, z)
f(true, x, y, z) -> del(.(y, z))
f(false, x, y, z) -> .(x, del(.(y, z)))
=(nil, nil) -> true
=(.(x, y), nil) -> false
=(nil, .(y, z)) -> false
=(.(x, y), .(u, v)) -> and(=(x, u), =(y, v))


Strategy:

innermost




The following dependency pair can be strictly oriented:

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


The following usable rules for innermost w.r.t. to the AFS can be oriented:

=(nil, nil) -> true
=(.(x, y), nil) -> false
=(nil, .(y, z)) -> false
=(.(x, y), .(u, v)) -> and(=(x, u), =(y, v))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(and(x1, x2))=  x1 + x2  
  POL(DEL(x1))=  x1  
  POL(false)=  0  
  POL(=)=  0  
  POL(true)=  0  
  POL(.(x1, x2))=  1 + x1 + x2  
  POL(F(x1, x2, x3, x4))=  1 + x1 + x2 + x3 + x4  

resulting in one new DP problem.
Used Argument Filtering System:
DEL(x1) -> DEL(x1)
F(x1, x2, x3, x4) -> F(x1, x2, x3, x4)
.(x1, x2) -> .(x1, x2)
=(x1, x2) -> =
and(x1, x2) -> and(x1, x2)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 2
AFS
             ...
               →DP Problem 3
Dependency Graph


Dependency Pair:

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


Rules:


del(.(x, .(y, z))) -> f(=(x, y), x, y, z)
f(true, x, y, z) -> del(.(y, z))
f(false, x, y, z) -> .(x, del(.(y, z)))
=(nil, nil) -> true
=(.(x, y), nil) -> false
=(nil, .(y, z)) -> false
=(.(x, y), .(u, v)) -> and(=(x, u), =(y, v))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.

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