0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 DependencyGraphProof (⇔)
↳10 AND
↳11 QDP
↳12 QDPOrderProof (⇔)
↳13 QDP
↳14 PisEmptyProof (⇔)
↳15 TRUE
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 PisEmptyProof (⇔)
↳20 TRUE
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
APP(app(forall, p), app(app(cons, x), xs)) → APP(app(and, app(p, x)), app(app(forall, p), xs))
APP(app(forall, p), app(app(cons, x), xs)) → APP(and, app(p, x))
APP(app(forall, p), app(app(cons, x), xs)) → APP(p, x)
APP(app(forall, p), app(app(cons, x), xs)) → APP(app(forall, p), xs)
APP(app(forsome, p), app(app(cons, x), xs)) → APP(app(or, app(p, x)), app(app(forsome, p), xs))
APP(app(forsome, p), app(app(cons, x), xs)) → APP(or, app(p, x))
APP(app(forsome, p), app(app(cons, x), xs)) → APP(p, x)
APP(app(forsome, p), app(app(cons, x), xs)) → APP(app(forsome, p), xs)
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
APP(app(forall, p), app(app(cons, x), xs)) → APP(app(forall, p), xs)
APP(app(forall, p), app(app(cons, x), xs)) → APP(p, x)
APP(app(forsome, p), app(app(cons, x), xs)) → APP(p, x)
APP(app(forsome, p), app(app(cons, x), xs)) → APP(app(forsome, p), xs)
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(forall, p), app(app(cons, x), xs)) → APP(p, x)
APP(app(forsome, p), app(app(cons, x), xs)) → APP(p, x)
APP1 > forall > forsome
app1 > forall > forsome
app1 > true > forsome
app1 > false > forsome
cons > forsome
and > true > forsome
and > false > forsome
or > true > forsome
or > false > forsome
nil > forsome
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
APP(app(forall, p), app(app(cons, x), xs)) → APP(app(forall, p), xs)
APP(app(forsome, p), app(app(cons, x), xs)) → APP(app(forsome, p), xs)
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
APP(app(forsome, p), app(app(cons, x), xs)) → APP(app(forsome, p), xs)
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(forsome, p), app(app(cons, x), xs)) → APP(app(forsome, p), xs)
cons > app1 > true
cons > app1 > false
cons > app1 > forall
cons > forsome > false
and > true
and > false
or > true
or > false
nil > true
nil > false
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
APP(app(forall, p), app(app(cons, x), xs)) → APP(app(forall, p), xs)
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(forall, p), app(app(cons, x), xs)) → APP(app(forall, p), xs)
APP1 > forall > and
app1 > forall > and
app1 > true > and
app1 > false > and
cons > and
or > true > and
or > false > and
nil > true > and
nil > false > and
forsome > false > and
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true) → true
app(app(and, true), false) → false
app(app(and, false), true) → false
app(app(and, false), false) → false
app(app(or, true), true) → true
app(app(or, true), false) → true
app(app(or, false), true) → true
app(app(or, false), false) → false
app(app(forall, p), nil) → true
app(app(forall, p), app(app(cons, x), xs)) → app(app(and, app(p, x)), app(app(forall, p), xs))
app(app(forsome, p), nil) → false
app(app(forsome, p), app(app(cons, x), xs)) → app(app(or, app(p, x)), app(app(forsome, p), xs))
app(app(and, true), true)
app(app(and, true), false)
app(app(and, false), true)
app(app(and, false), false)
app(app(or, true), true)
app(app(or, true), false)
app(app(or, false), true)
app(app(or, false), false)
app(app(forall, x0), nil)
app(app(forall, x0), app(app(cons, x1), x2))
app(app(forsome, x0), nil)
app(app(forsome, x0), app(app(cons, x1), x2))