TIMEOUT

The TRS could not be proven terminating. The proof attempt took 60003 ms.

The following DP Processors were used


Problem 1 remains open; application of the following processors failed [DependencyGraph (281ms), SubtermCriterion (1ms), DependencyGraph (242ms), PolynomialLinearRange4iUR (5098ms), DependencyGraph (215ms), PolynomialLinearRange8NegiUR (12676ms), DependencyGraph (202ms), ReductionPairSAT (timeout)].

The following open problems remain:



Open Dependency Pair Problem 1

Dependency Pairs

ap#(dropLast, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(cons, x)ap#(dropLast, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(ap(cons, x), ap(dropLast, ap(ap(cons, y), ys)))
ap#(last, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(cons, y)ap#(ap(map, f), xs)ap#(ap(ap(if, ap(isEmpty, xs)), f), xs)
ap#(ap(map, f), xs)ap#(ap(if, ap(isEmpty, xs)), f)ap#(ap(ap(if, false), f), xs)ap#(map, f)
ap#(ap(ap(if, false), f), xs)ap#(ap(map, f), ap(dropLast, xs))ap#(last, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(ap(cons, y), ys)
ap#(dropLast, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(dropLast, ap(ap(cons, y), ys))ap#(ap(ap(if, false), f), xs)ap#(dropLast, xs)
ap#(ap(map, f), xs)ap#(if, ap(isEmpty, xs))ap#(ap(ap(if, false), f), xs)ap#(cons, ap(f, ap(last, xs)))
ap#(dropLast, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(ap(cons, y), ys)ap#(ap(ap(if, false), f), xs)ap#(last, xs)
ap#(last, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(last, ap(ap(cons, y), ys))ap#(ap(ap(if, false), f), xs)ap#(ap(cons, ap(f, ap(last, xs))), ap(ap(map, f), ap(dropLast, xs)))
ap#(ap(ap(if, false), f), xs)ap#(f, ap(last, xs))ap#(ap(map, f), xs)ap#(isEmpty, xs)
ap#(dropLast, ap(ap(cons, x), ap(ap(cons, y), ys)))ap#(cons, y)

Rewrite Rules

ap(ap(map, f), xs)ap(ap(ap(if, ap(isEmpty, xs)), f), xs)ap(ap(ap(if, true), f), xs)nil
ap(ap(ap(if, false), f), xs)ap(ap(cons, ap(f, ap(last, xs))), ap(ap(map, f), ap(dropLast, xs)))ap(isEmpty, nil)true
ap(isEmpty, ap(ap(cons, x), xs))falseap(last, ap(ap(cons, x), nil))x
ap(last, ap(ap(cons, x), ap(ap(cons, y), ys)))ap(last, ap(ap(cons, y), ys))ap(dropLast, nil)nil
ap(dropLast, ap(ap(cons, x), nil))nilap(dropLast, ap(ap(cons, x), ap(ap(cons, y), ys)))ap(ap(cons, x), ap(dropLast, ap(ap(cons, y), ys)))

Original Signature

Termination of terms over the following signature is verified: isEmpty, dropLast, last, ap, if, map, false, true, cons, nil