0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 PisEmptyProof (⇔)
↳10 TRUE
app(id, x) → x
app(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(id, x) → x
app(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(id, x0)
app(plus, 0)
app(app(plus, app(s, x0)), x1)
APP(app(plus, app(s, x)), y) → APP(s, app(app(plus, x), y))
APP(app(plus, app(s, x)), y) → APP(app(plus, x), y)
APP(app(plus, app(s, x)), y) → APP(plus, x)
app(id, x) → x
app(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(id, x0)
app(plus, 0)
app(app(plus, app(s, x0)), x1)
APP(app(plus, app(s, x)), y) → APP(app(plus, x), y)
app(id, x) → x
app(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(id, x0)
app(plus, 0)
app(app(plus, app(s, x0)), x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
APP(app(plus, app(s, x)), y) → APP(app(plus, x), y)
APP2 > plus > id > app2
s > plus > id > app2
0 > app2
APP2: multiset
app2: multiset
plus: multiset
s: multiset
0: multiset
id: multiset
app(plus, 0) → id
app(id, x) → x
app(plus, 0) → id
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(id, x0)
app(plus, 0)
app(app(plus, app(s, x0)), x1)