0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 DependencyGraphProof (⇔)
↳10 TRUE
app(app(mapt, f), app(leaf, x)) → app(leaf, app(f, x))
app(app(mapt, f), app(node, xs)) → app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil) → nil
app(app(maptlist, f), app(app(cons, x), xs)) → app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
APP(app(mapt, f), app(leaf, x)) → APP(leaf, app(f, x))
APP(app(mapt, f), app(leaf, x)) → APP(f, x)
APP(app(mapt, f), app(node, xs)) → APP(node, app(app(maptlist, f), xs))
APP(app(mapt, f), app(node, xs)) → APP(app(maptlist, f), xs)
APP(app(mapt, f), app(node, xs)) → APP(maptlist, f)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(cons, app(app(mapt, f), x))
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(mapt, f), x)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(mapt, f)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(maptlist, f), xs)
app(app(mapt, f), app(leaf, x)) → app(leaf, app(f, x))
app(app(mapt, f), app(node, xs)) → app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil) → nil
app(app(maptlist, f), app(app(cons, x), xs)) → app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
APP(app(mapt, f), app(node, xs)) → APP(app(maptlist, f), xs)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(mapt, f), x)
APP(app(mapt, f), app(leaf, x)) → APP(f, x)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(maptlist, f), xs)
app(app(mapt, f), app(leaf, x)) → app(leaf, app(f, x))
app(app(mapt, f), app(node, xs)) → app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil) → nil
app(app(maptlist, f), app(app(cons, x), xs)) → app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(mapt, f), app(leaf, x)) → APP(f, x)
node > [app2, cons] > [mapt, maptlist]
app2: [2,1]
mapt: []
node: []
maptlist: []
cons: []
leaf: []
APP(app(mapt, f), app(node, xs)) → APP(app(maptlist, f), xs)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(mapt, f), x)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(maptlist, f), xs)
app(app(mapt, f), app(leaf, x)) → app(leaf, app(f, x))
app(app(mapt, f), app(node, xs)) → app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil) → nil
app(app(maptlist, f), app(app(cons, x), xs)) → app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(mapt, f), x)
APP(app(maptlist, f), app(app(cons, x), xs)) → APP(app(maptlist, f), xs)
[APP, cons] > mapt > app2 > maptlist
node > app2 > maptlist
APP: []
app2: [1,2]
mapt: []
node: []
maptlist: []
cons: []
APP(app(mapt, f), app(node, xs)) → APP(app(maptlist, f), xs)
app(app(mapt, f), app(leaf, x)) → app(leaf, app(f, x))
app(app(mapt, f), app(node, xs)) → app(node, app(app(maptlist, f), xs))
app(app(maptlist, f), nil) → nil
app(app(maptlist, f), app(app(cons, x), xs)) → app(app(cons, app(app(mapt, f), x)), app(app(maptlist, f), xs))