YES
0 QTRS
↳1 Overlay + Local Confluence (⇔, 0 ms)
↳2 QTRS
↳3 DependencyPairsProof (⇔, 0 ms)
↳4 QDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 QDP
↳7 UsableRulesProof (⇔, 0 ms)
↳8 QDP
↳9 QDPSizeChangeProof (⇔, 0 ms)
↳10 YES
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(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, x0), app(leaf, x1))
app(app(mapt, x0), app(node, x1))
app(app(maptlist, x0), nil)
app(app(maptlist, x0), app(app(cons, x1), x2))
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, x0), app(leaf, x1))
app(app(mapt, x0), app(node, x1))
app(app(maptlist, x0), nil)
app(app(maptlist, x0), app(app(cons, x1), x2))
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))
app(app(mapt, x0), app(leaf, x1))
app(app(mapt, x0), app(node, x1))
app(app(maptlist, x0), nil)
app(app(maptlist, x0), app(app(cons, x1), x2))
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, x0), app(leaf, x1))
app(app(mapt, x0), app(node, x1))
app(app(maptlist, x0), nil)
app(app(maptlist, x0), app(app(cons, x1), x2))
From the DPs we obtained the following set of size-change graphs: