YES

The TRS could be proven terminating. The proof took 321 ms.

The following DP Processors were used


Problem 1 was processed with processor DependencyGraph (19ms).
 | – Problem 2 was processed with processor PolynomialLinearRange4iUR (265ms).
 |    | – Problem 3 was processed with processor DependencyGraph (4ms).

Problem 1: DependencyGraph



Dependency Pair Problem

Dependency Pairs

=#(.(x, y), .(u, v))=#(y, v)f#(true, x, y, z)del#(.(y, z))
del#(.(x, .(y, z)))=#(x, y)=#(.(x, y), .(u, v))=#(x, u)
del#(.(x, .(y, z)))f#(=(x, y), x, y, z)f#(false, x, y, z)del#(.(y, z))

Rewrite 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))

Original Signature

Termination of terms over the following signature is verified: f, v, u, true, false, del, ., =, nil, and

Strategy


The following SCCs where found

f#(true, x, y, z) → del#(.(y, z))del#(.(x, .(y, z))) → f#(=(x, y), x, y, z)
f#(false, x, y, z) → del#(.(y, z))

Problem 2: PolynomialLinearRange4iUR



Dependency Pair Problem

Dependency Pairs

f#(true, x, y, z)del#(.(y, z))del#(.(x, .(y, z)))f#(=(x, y), x, y, z)
f#(false, x, y, z)del#(.(y, z))

Rewrite 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))

Original Signature

Termination of terms over the following signature is verified: f, v, u, true, false, del, ., =, nil, and

Strategy


Polynomial Interpretation

Improved Usable rules

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

The following dependency pairs are strictly oriented by an ordering on the given polynomial interpretation, thus they are removed:

f#(true, x, y, z)del#(.(y, z))f#(false, x, y, z)del#(.(y, z))

Problem 3: DependencyGraph



Dependency Pair Problem

Dependency Pairs

del#(.(x, .(y, z)))f#(=(x, y), x, y, z)

Rewrite 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))

Original Signature

Termination of terms over the following signature is verified: f, v, u, false, true, del, ., =, and, nil

Strategy


There are no SCCs!