0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPOrderProof (⇔)
↳7 QDP
↳8 QDPOrderProof (⇔)
↳9 QDP
↳10 PisEmptyProof (⇔)
↳11 TRUE
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
↳17 PisEmptyProof (⇔)
↳18 TRUE
↳19 QDP
↳20 QDPOrderProof (⇔)
↳21 QDP
↳22 QDPOrderProof (⇔)
↳23 QDP
↳24 PisEmptyProof (⇔)
↳25 TRUE
↳26 QDP
↳27 QDPOrderProof (⇔)
↳28 QDP
↳29 QDPOrderProof (⇔)
↳30 QDP
↳31 QDPOrderProof (⇔)
↳32 QDP
↳33 QDPOrderProof (⇔)
↳34 QDP
↳35 PisEmptyProof (⇔)
↳36 TRUE
↳37 QDP
↳38 QDPOrderProof (⇔)
↳39 QDP
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
ACTIVE(__(__(X, Y), Z)) → MARK(__(X, __(Y, Z)))
ACTIVE(__(__(X, Y), Z)) → __1(X, __(Y, Z))
ACTIVE(__(__(X, Y), Z)) → __1(Y, Z)
ACTIVE(__(X, nil)) → MARK(X)
ACTIVE(__(nil, X)) → MARK(X)
ACTIVE(U11(tt)) → MARK(U12(tt))
ACTIVE(U11(tt)) → U121(tt)
ACTIVE(U12(tt)) → MARK(tt)
ACTIVE(isNePal(__(I, __(P, I)))) → MARK(U11(tt))
ACTIVE(isNePal(__(I, __(P, I)))) → U111(tt)
MARK(__(X1, X2)) → ACTIVE(__(mark(X1), mark(X2)))
MARK(__(X1, X2)) → __1(mark(X1), mark(X2))
MARK(__(X1, X2)) → MARK(X1)
MARK(__(X1, X2)) → MARK(X2)
MARK(nil) → ACTIVE(nil)
MARK(U11(X)) → ACTIVE(U11(mark(X)))
MARK(U11(X)) → U111(mark(X))
MARK(U11(X)) → MARK(X)
MARK(tt) → ACTIVE(tt)
MARK(U12(X)) → ACTIVE(U12(mark(X)))
MARK(U12(X)) → U121(mark(X))
MARK(U12(X)) → MARK(X)
MARK(isNePal(X)) → ACTIVE(isNePal(mark(X)))
MARK(isNePal(X)) → ISNEPAL(mark(X))
MARK(isNePal(X)) → MARK(X)
__1(mark(X1), X2) → __1(X1, X2)
__1(X1, mark(X2)) → __1(X1, X2)
__1(active(X1), X2) → __1(X1, X2)
__1(X1, active(X2)) → __1(X1, X2)
U111(mark(X)) → U111(X)
U111(active(X)) → U111(X)
U121(mark(X)) → U121(X)
U121(active(X)) → U121(X)
ISNEPAL(mark(X)) → ISNEPAL(X)
ISNEPAL(active(X)) → ISNEPAL(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
ISNEPAL(active(X)) → ISNEPAL(X)
ISNEPAL(mark(X)) → ISNEPAL(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNEPAL(mark(X)) → ISNEPAL(X)
trivial
ISNEPAL(active(X)) → ISNEPAL(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ISNEPAL(active(X)) → ISNEPAL(X)
trivial
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
U121(active(X)) → U121(X)
U121(mark(X)) → U121(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(mark(X)) → U121(X)
trivial
U121(active(X)) → U121(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U121(active(X)) → U121(X)
trivial
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
U111(active(X)) → U111(X)
U111(mark(X)) → U111(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(mark(X)) → U111(X)
trivial
U111(active(X)) → U111(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U111(active(X)) → U111(X)
trivial
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
__1(X1, mark(X2)) → __1(X1, X2)
__1(mark(X1), X2) → __1(X1, X2)
__1(active(X1), X2) → __1(X1, X2)
__1(X1, active(X2)) → __1(X1, X2)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
__1(X1, active(X2)) → __1(X1, X2)
trivial
__1(X1, mark(X2)) → __1(X1, X2)
__1(mark(X1), X2) → __1(X1, X2)
__1(active(X1), X2) → __1(X1, X2)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
__1(X1, mark(X2)) → __1(X1, X2)
trivial
__1(mark(X1), X2) → __1(X1, X2)
__1(active(X1), X2) → __1(X1, X2)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
__1(active(X1), X2) → __1(X1, X2)
trivial
__1(mark(X1), X2) → __1(X1, X2)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
__1(mark(X1), X2) → __1(X1, X2)
trivial
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
MARK(__(X1, X2)) → ACTIVE(__(mark(X1), mark(X2)))
ACTIVE(__(__(X, Y), Z)) → MARK(__(X, __(Y, Z)))
MARK(__(X1, X2)) → MARK(X1)
MARK(__(X1, X2)) → MARK(X2)
MARK(U11(X)) → ACTIVE(U11(mark(X)))
ACTIVE(__(X, nil)) → MARK(X)
MARK(U11(X)) → MARK(X)
MARK(U12(X)) → ACTIVE(U12(mark(X)))
ACTIVE(__(nil, X)) → MARK(X)
MARK(U12(X)) → MARK(X)
MARK(isNePal(X)) → ACTIVE(isNePal(mark(X)))
ACTIVE(U11(tt)) → MARK(U12(tt))
ACTIVE(isNePal(__(I, __(P, I)))) → MARK(U11(tt))
MARK(isNePal(X)) → MARK(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MARK(U12(X)) → ACTIVE(U12(mark(X)))
[MARK, , U11, isNePal] > U12
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
U11(active(X)) → U11(X)
U11(mark(X)) → U11(X)
U12(active(X)) → U12(X)
U12(mark(X)) → U12(X)
isNePal(active(X)) → isNePal(X)
isNePal(mark(X)) → isNePal(X)
MARK(__(X1, X2)) → ACTIVE(__(mark(X1), mark(X2)))
ACTIVE(__(__(X, Y), Z)) → MARK(__(X, __(Y, Z)))
MARK(__(X1, X2)) → MARK(X1)
MARK(__(X1, X2)) → MARK(X2)
MARK(U11(X)) → ACTIVE(U11(mark(X)))
ACTIVE(__(X, nil)) → MARK(X)
MARK(U11(X)) → MARK(X)
ACTIVE(__(nil, X)) → MARK(X)
MARK(U12(X)) → MARK(X)
MARK(isNePal(X)) → ACTIVE(isNePal(mark(X)))
ACTIVE(U11(tt)) → MARK(U12(tt))
ACTIVE(isNePal(__(I, __(P, I)))) → MARK(U11(tt))
MARK(isNePal(X)) → MARK(X)
active(__(__(X, Y), Z)) → mark(__(X, __(Y, Z)))
active(__(X, nil)) → mark(X)
active(__(nil, X)) → mark(X)
active(U11(tt)) → mark(U12(tt))
active(U12(tt)) → mark(tt)
active(isNePal(__(I, __(P, I)))) → mark(U11(tt))
mark(__(X1, X2)) → active(__(mark(X1), mark(X2)))
mark(nil) → active(nil)
mark(U11(X)) → active(U11(mark(X)))
mark(tt) → active(tt)
mark(U12(X)) → active(U12(mark(X)))
mark(isNePal(X)) → active(isNePal(mark(X)))
__(mark(X1), X2) → __(X1, X2)
__(X1, mark(X2)) → __(X1, X2)
__(active(X1), X2) → __(X1, X2)
__(X1, active(X2)) → __(X1, X2)
U11(mark(X)) → U11(X)
U11(active(X)) → U11(X)
U12(mark(X)) → U12(X)
U12(active(X)) → U12(X)
isNePal(mark(X)) → isNePal(X)
isNePal(active(X)) → isNePal(X)