0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 PisEmptyProof (⇔)
↳9 TRUE
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 PisEmptyProof (⇔)
↳16 TRUE
↳17 QDP
↳18 QDPOrderProof (⇔)
↳19 QDP
↳20 QDPOrderProof (⇔)
↳21 QDP
↳22 PisEmptyProof (⇔)
↳23 TRUE
↳24 QDP
↳25 QDPOrderProof (⇔)
↳26 QDP
↳27 QDPOrderProof (⇔)
↳28 QDP
↳29 PisEmptyProof (⇔)
↳30 TRUE
↳31 QDP
↳32 QDPOrderProof (⇔)
↳33 QDP
↳34 PisEmptyProof (⇔)
↳35 TRUE
↳36 QDP
↳37 QDPOrderProof (⇔)
↳38 QDP
↳39 QDPOrderProof (⇔)
↳40 QDP
↳41 PisEmptyProof (⇔)
↳42 TRUE
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(f(X)) → G(h(f(X)))
ACTIVE(f(X)) → H(f(X))
ACTIVE(f(X)) → F(active(X))
ACTIVE(f(X)) → ACTIVE(X)
ACTIVE(h(X)) → H(active(X))
ACTIVE(h(X)) → ACTIVE(X)
F(mark(X)) → F(X)
H(mark(X)) → H(X)
PROPER(f(X)) → F(proper(X))
PROPER(f(X)) → PROPER(X)
PROPER(g(X)) → G(proper(X))
PROPER(g(X)) → PROPER(X)
PROPER(h(X)) → H(proper(X))
PROPER(h(X)) → PROPER(X)
F(ok(X)) → F(X)
G(ok(X)) → G(X)
H(ok(X)) → H(X)
TOP(mark(X)) → TOP(proper(X))
TOP(mark(X)) → PROPER(X)
TOP(ok(X)) → TOP(active(X))
TOP(ok(X)) → ACTIVE(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
G(ok(X)) → G(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
G(ok(X)) → G(X)
ok1 > active1 > [mark1, proper1, top1]
ok1: multiset
active1: multiset
mark1: multiset
proper1: multiset
top1: [1]
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
H(ok(X)) → H(X)
H(mark(X)) → H(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
H(ok(X)) → H(X)
H1 > top1
[ok1, f1] > top1
H1: multiset
ok1: multiset
f1: multiset
top1: multiset
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
H(mark(X)) → H(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
H(mark(X)) → H(X)
f1 > mark1 > [g, top1]
mark1: multiset
f1: multiset
g: multiset
top1: multiset
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
F(ok(X)) → F(X)
F(mark(X)) → F(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(ok(X)) → F(X)
F1 > top1
[ok1, f1] > top1
F1: multiset
ok1: multiset
f1: multiset
top1: multiset
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
F(mark(X)) → F(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F(mark(X)) → F(X)
f1 > mark1 > [g, top1]
mark1: multiset
f1: multiset
g: multiset
top1: multiset
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(g(X)) → PROPER(X)
PROPER(f(X)) → PROPER(X)
PROPER(h(X)) → PROPER(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(g(X)) → PROPER(X)
ok > [PROPER1, g1, active1, mark, proper1, top]
PROPER1: multiset
g1: multiset
active1: multiset
mark: multiset
proper1: multiset
ok: multiset
top: multiset
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
PROPER(f(X)) → PROPER(X)
PROPER(h(X)) → PROPER(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER(f(X)) → PROPER(X)
PROPER(h(X)) → PROPER(X)
PROPER1 > [h1, mark1, g, top]
f1 > [h1, mark1, g, top]
PROPER1: multiset
f1: multiset
h1: multiset
mark1: multiset
g: multiset
top: []
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
ACTIVE(h(X)) → ACTIVE(X)
ACTIVE(f(X)) → ACTIVE(X)
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE(h(X)) → ACTIVE(X)
ACTIVE(f(X)) → ACTIVE(X)
ACTIVE1 > [h1, mark1, g, top]
f1 > [h1, mark1, g, top]
ACTIVE1: multiset
h1: multiset
f1: multiset
mark1: multiset
g: multiset
top: []
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
TOP(ok(X)) → TOP(active(X))
TOP(mark(X)) → TOP(proper(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP(ok(X)) → TOP(active(X))
ok1 > active1 > [TOP1, proper, top]
TOP1: multiset
ok1: [1]
active1: multiset
proper: multiset
top: []
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
TOP(mark(X)) → TOP(proper(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP(mark(X)) → TOP(proper(X))
[mark1, proper, active1, g, top]
mark1: multiset
proper: multiset
active1: multiset
g: multiset
top: multiset
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))
active(f(X)) → mark(g(h(f(X))))
active(f(X)) → f(active(X))
active(h(X)) → h(active(X))
f(mark(X)) → mark(f(X))
h(mark(X)) → mark(h(X))
proper(f(X)) → f(proper(X))
proper(g(X)) → g(proper(X))
proper(h(X)) → h(proper(X))
f(ok(X)) → ok(f(X))
g(ok(X)) → ok(g(X))
h(ok(X)) → ok(h(X))
top(mark(X)) → top(proper(X))
top(ok(X)) → top(active(X))