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
app1 > and
app1 > false > true
cons > forall
cons > and
forsome > false > true
or > false > true
nil > false > 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(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)
forsome > APP1 > app1 > and > true
forsome > APP1 > app1 > false > true
cons > true
or > false > true
forall > app1 > and > true
forall > app1 > false > true
nil > 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(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 > false > true > APP1
forall > true > APP1
cons > APP1
and > false > true > APP1
or > false > true > APP1
nil > true > APP1
forsome > false > true > APP1
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))