YES Problem 1: (VAR v_NonEmpty:S I:S P:S V:S V1:S V2:S X:S X1:S X2:S Y:S Z:S) (RULES U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ) (STRATEGY INNERMOST) Problem 1: Dependency Pairs Processor: -> Pairs: U11#(mark(X:S)) -> U11#(X:S) U11#(ok(X:S)) -> U11#(X:S) U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(ok(X1:S),ok(X2:S)) -> U21#(X1:S,X2:S) U22#(mark(X:S)) -> U22#(X:S) U22#(ok(X:S)) -> U22#(X:S) U31#(mark(X:S)) -> U31#(X:S) U31#(ok(X:S)) -> U31#(X:S) U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(ok(X1:S),ok(X2:S)) -> U41#(X1:S,X2:S) U42#(mark(X:S)) -> U42#(X:S) U42#(ok(X:S)) -> U42#(X:S) U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(ok(X1:S),ok(X2:S)) -> U51#(X1:S,X2:S) U52#(mark(X:S)) -> U52#(X:S) U52#(ok(X:S)) -> U52#(X:S) U61#(mark(X:S)) -> U61#(X:S) U61#(ok(X:S)) -> U61#(X:S) U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(ok(X1:S),ok(X2:S)) -> U71#(X1:S,X2:S) U72#(mark(X:S)) -> U72#(X:S) U72#(ok(X:S)) -> U72#(X:S) U81#(mark(X:S)) -> U81#(X:S) U81#(ok(X:S)) -> U81#(X:S) __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(ok(X1:S),ok(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ACTIVE(U11(X:S)) -> U11#(active(X:S)) ACTIVE(U11(X:S)) -> ACTIVE(X:S) ACTIVE(U21(tt,V2:S)) -> U22#(isList(V2:S)) ACTIVE(U21(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U21(X1:S,X2:S)) -> U21#(active(X1:S),X2:S) ACTIVE(U21(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U22(X:S)) -> U22#(active(X:S)) ACTIVE(U22(X:S)) -> ACTIVE(X:S) ACTIVE(U31(X:S)) -> U31#(active(X:S)) ACTIVE(U31(X:S)) -> ACTIVE(X:S) ACTIVE(U41(tt,V2:S)) -> U42#(isNeList(V2:S)) ACTIVE(U41(tt,V2:S)) -> ISNELIST(V2:S) ACTIVE(U41(X1:S,X2:S)) -> U41#(active(X1:S),X2:S) ACTIVE(U41(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U42(X:S)) -> U42#(active(X:S)) ACTIVE(U42(X:S)) -> ACTIVE(X:S) ACTIVE(U51(tt,V2:S)) -> U52#(isList(V2:S)) ACTIVE(U51(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U51(X1:S,X2:S)) -> U51#(active(X1:S),X2:S) ACTIVE(U51(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U52(X:S)) -> U52#(active(X:S)) ACTIVE(U52(X:S)) -> ACTIVE(X:S) ACTIVE(U61(X:S)) -> U61#(active(X:S)) ACTIVE(U61(X:S)) -> ACTIVE(X:S) ACTIVE(U71(tt,P:S)) -> U72#(isPal(P:S)) ACTIVE(U71(tt,P:S)) -> ISPAL(P:S) ACTIVE(U71(X1:S,X2:S)) -> U71#(active(X1:S),X2:S) ACTIVE(U71(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U72(X:S)) -> U72#(active(X:S)) ACTIVE(U72(X:S)) -> ACTIVE(X:S) ACTIVE(U81(X:S)) -> U81#(active(X:S)) ACTIVE(U81(X:S)) -> ACTIVE(X:S) ACTIVE(__(__(X:S,Y:S),Z:S)) -> __#(X:S,__(Y:S,Z:S)) ACTIVE(__(__(X:S,Y:S),Z:S)) -> __#(Y:S,Z:S) ACTIVE(__(X1:S,X2:S)) -> __#(active(X1:S),X2:S) ACTIVE(__(X1:S,X2:S)) -> __#(X1:S,active(X2:S)) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X2:S) ACTIVE(isList(__(V1:S,V2:S))) -> U21#(isList(V1:S),V2:S) ACTIVE(isList(__(V1:S,V2:S))) -> ISLIST(V1:S) ACTIVE(isList(V:S)) -> U11#(isNeList(V:S)) ACTIVE(isList(V:S)) -> ISNELIST(V:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> U41#(isList(V1:S),V2:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> U51#(isNeList(V1:S),V2:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> ISLIST(V1:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> ISNELIST(V1:S) ACTIVE(isNeList(V:S)) -> U31#(isQid(V:S)) ACTIVE(isNeList(V:S)) -> ISQID(V:S) ACTIVE(isNePal(__(I:S,__(P:S,I:S)))) -> U71#(isQid(I:S),P:S) ACTIVE(isNePal(__(I:S,__(P:S,I:S)))) -> ISQID(I:S) ACTIVE(isNePal(V:S)) -> U61#(isQid(V:S)) ACTIVE(isNePal(V:S)) -> ISQID(V:S) ACTIVE(isPal(V:S)) -> U81#(isNePal(V:S)) ACTIVE(isPal(V:S)) -> ISNEPAL(V:S) ISLIST(ok(X:S)) -> ISLIST(X:S) ISNELIST(ok(X:S)) -> ISNELIST(X:S) ISNEPAL(ok(X:S)) -> ISNEPAL(X:S) ISPAL(ok(X:S)) -> ISPAL(X:S) ISQID(ok(X:S)) -> ISQID(X:S) PROPER(U11(X:S)) -> U11#(proper(X:S)) PROPER(U11(X:S)) -> PROPER(X:S) PROPER(U21(X1:S,X2:S)) -> U21#(proper(X1:S),proper(X2:S)) PROPER(U21(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U21(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U22(X:S)) -> U22#(proper(X:S)) PROPER(U22(X:S)) -> PROPER(X:S) PROPER(U31(X:S)) -> U31#(proper(X:S)) PROPER(U31(X:S)) -> PROPER(X:S) PROPER(U41(X1:S,X2:S)) -> U41#(proper(X1:S),proper(X2:S)) PROPER(U41(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U41(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U42(X:S)) -> U42#(proper(X:S)) PROPER(U42(X:S)) -> PROPER(X:S) PROPER(U51(X1:S,X2:S)) -> U51#(proper(X1:S),proper(X2:S)) PROPER(U51(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U51(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U52(X:S)) -> U52#(proper(X:S)) PROPER(U52(X:S)) -> PROPER(X:S) PROPER(U61(X:S)) -> U61#(proper(X:S)) PROPER(U61(X:S)) -> PROPER(X:S) PROPER(U71(X1:S,X2:S)) -> U71#(proper(X1:S),proper(X2:S)) PROPER(U71(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U71(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U72(X:S)) -> U72#(proper(X:S)) PROPER(U72(X:S)) -> PROPER(X:S) PROPER(U81(X:S)) -> U81#(proper(X:S)) PROPER(U81(X:S)) -> PROPER(X:S) PROPER(__(X1:S,X2:S)) -> __#(proper(X1:S),proper(X2:S)) PROPER(__(X1:S,X2:S)) -> PROPER(X1:S) PROPER(__(X1:S,X2:S)) -> PROPER(X2:S) PROPER(isList(X:S)) -> ISLIST(proper(X:S)) PROPER(isList(X:S)) -> PROPER(X:S) PROPER(isNeList(X:S)) -> ISNELIST(proper(X:S)) PROPER(isNeList(X:S)) -> PROPER(X:S) PROPER(isNePal(X:S)) -> ISNEPAL(proper(X:S)) PROPER(isNePal(X:S)) -> PROPER(X:S) PROPER(isPal(X:S)) -> ISPAL(proper(X:S)) PROPER(isPal(X:S)) -> PROPER(X:S) PROPER(isQid(X:S)) -> ISQID(proper(X:S)) PROPER(isQid(X:S)) -> PROPER(X:S) TOP(mark(X:S)) -> PROPER(X:S) TOP(mark(X:S)) -> TOP(proper(X:S)) TOP(ok(X:S)) -> ACTIVE(X:S) TOP(ok(X:S)) -> TOP(active(X:S)) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) Problem 1: SCC Processor: -> Pairs: U11#(mark(X:S)) -> U11#(X:S) U11#(ok(X:S)) -> U11#(X:S) U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(ok(X1:S),ok(X2:S)) -> U21#(X1:S,X2:S) U22#(mark(X:S)) -> U22#(X:S) U22#(ok(X:S)) -> U22#(X:S) U31#(mark(X:S)) -> U31#(X:S) U31#(ok(X:S)) -> U31#(X:S) U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(ok(X1:S),ok(X2:S)) -> U41#(X1:S,X2:S) U42#(mark(X:S)) -> U42#(X:S) U42#(ok(X:S)) -> U42#(X:S) U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(ok(X1:S),ok(X2:S)) -> U51#(X1:S,X2:S) U52#(mark(X:S)) -> U52#(X:S) U52#(ok(X:S)) -> U52#(X:S) U61#(mark(X:S)) -> U61#(X:S) U61#(ok(X:S)) -> U61#(X:S) U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(ok(X1:S),ok(X2:S)) -> U71#(X1:S,X2:S) U72#(mark(X:S)) -> U72#(X:S) U72#(ok(X:S)) -> U72#(X:S) U81#(mark(X:S)) -> U81#(X:S) U81#(ok(X:S)) -> U81#(X:S) __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(ok(X1:S),ok(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ACTIVE(U11(X:S)) -> U11#(active(X:S)) ACTIVE(U11(X:S)) -> ACTIVE(X:S) ACTIVE(U21(tt,V2:S)) -> U22#(isList(V2:S)) ACTIVE(U21(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U21(X1:S,X2:S)) -> U21#(active(X1:S),X2:S) ACTIVE(U21(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U22(X:S)) -> U22#(active(X:S)) ACTIVE(U22(X:S)) -> ACTIVE(X:S) ACTIVE(U31(X:S)) -> U31#(active(X:S)) ACTIVE(U31(X:S)) -> ACTIVE(X:S) ACTIVE(U41(tt,V2:S)) -> U42#(isNeList(V2:S)) ACTIVE(U41(tt,V2:S)) -> ISNELIST(V2:S) ACTIVE(U41(X1:S,X2:S)) -> U41#(active(X1:S),X2:S) ACTIVE(U41(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U42(X:S)) -> U42#(active(X:S)) ACTIVE(U42(X:S)) -> ACTIVE(X:S) ACTIVE(U51(tt,V2:S)) -> U52#(isList(V2:S)) ACTIVE(U51(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U51(X1:S,X2:S)) -> U51#(active(X1:S),X2:S) ACTIVE(U51(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U52(X:S)) -> U52#(active(X:S)) ACTIVE(U52(X:S)) -> ACTIVE(X:S) ACTIVE(U61(X:S)) -> U61#(active(X:S)) ACTIVE(U61(X:S)) -> ACTIVE(X:S) ACTIVE(U71(tt,P:S)) -> U72#(isPal(P:S)) ACTIVE(U71(tt,P:S)) -> ISPAL(P:S) ACTIVE(U71(X1:S,X2:S)) -> U71#(active(X1:S),X2:S) ACTIVE(U71(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U72(X:S)) -> U72#(active(X:S)) ACTIVE(U72(X:S)) -> ACTIVE(X:S) ACTIVE(U81(X:S)) -> U81#(active(X:S)) ACTIVE(U81(X:S)) -> ACTIVE(X:S) ACTIVE(__(__(X:S,Y:S),Z:S)) -> __#(X:S,__(Y:S,Z:S)) ACTIVE(__(__(X:S,Y:S),Z:S)) -> __#(Y:S,Z:S) ACTIVE(__(X1:S,X2:S)) -> __#(active(X1:S),X2:S) ACTIVE(__(X1:S,X2:S)) -> __#(X1:S,active(X2:S)) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X2:S) ACTIVE(isList(__(V1:S,V2:S))) -> U21#(isList(V1:S),V2:S) ACTIVE(isList(__(V1:S,V2:S))) -> ISLIST(V1:S) ACTIVE(isList(V:S)) -> U11#(isNeList(V:S)) ACTIVE(isList(V:S)) -> ISNELIST(V:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> U41#(isList(V1:S),V2:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> U51#(isNeList(V1:S),V2:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> ISLIST(V1:S) ACTIVE(isNeList(__(V1:S,V2:S))) -> ISNELIST(V1:S) ACTIVE(isNeList(V:S)) -> U31#(isQid(V:S)) ACTIVE(isNeList(V:S)) -> ISQID(V:S) ACTIVE(isNePal(__(I:S,__(P:S,I:S)))) -> U71#(isQid(I:S),P:S) ACTIVE(isNePal(__(I:S,__(P:S,I:S)))) -> ISQID(I:S) ACTIVE(isNePal(V:S)) -> U61#(isQid(V:S)) ACTIVE(isNePal(V:S)) -> ISQID(V:S) ACTIVE(isPal(V:S)) -> U81#(isNePal(V:S)) ACTIVE(isPal(V:S)) -> ISNEPAL(V:S) ISLIST(ok(X:S)) -> ISLIST(X:S) ISNELIST(ok(X:S)) -> ISNELIST(X:S) ISNEPAL(ok(X:S)) -> ISNEPAL(X:S) ISPAL(ok(X:S)) -> ISPAL(X:S) ISQID(ok(X:S)) -> ISQID(X:S) PROPER(U11(X:S)) -> U11#(proper(X:S)) PROPER(U11(X:S)) -> PROPER(X:S) PROPER(U21(X1:S,X2:S)) -> U21#(proper(X1:S),proper(X2:S)) PROPER(U21(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U21(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U22(X:S)) -> U22#(proper(X:S)) PROPER(U22(X:S)) -> PROPER(X:S) PROPER(U31(X:S)) -> U31#(proper(X:S)) PROPER(U31(X:S)) -> PROPER(X:S) PROPER(U41(X1:S,X2:S)) -> U41#(proper(X1:S),proper(X2:S)) PROPER(U41(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U41(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U42(X:S)) -> U42#(proper(X:S)) PROPER(U42(X:S)) -> PROPER(X:S) PROPER(U51(X1:S,X2:S)) -> U51#(proper(X1:S),proper(X2:S)) PROPER(U51(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U51(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U52(X:S)) -> U52#(proper(X:S)) PROPER(U52(X:S)) -> PROPER(X:S) PROPER(U61(X:S)) -> U61#(proper(X:S)) PROPER(U61(X:S)) -> PROPER(X:S) PROPER(U71(X1:S,X2:S)) -> U71#(proper(X1:S),proper(X2:S)) PROPER(U71(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U71(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U72(X:S)) -> U72#(proper(X:S)) PROPER(U72(X:S)) -> PROPER(X:S) PROPER(U81(X:S)) -> U81#(proper(X:S)) PROPER(U81(X:S)) -> PROPER(X:S) PROPER(__(X1:S,X2:S)) -> __#(proper(X1:S),proper(X2:S)) PROPER(__(X1:S,X2:S)) -> PROPER(X1:S) PROPER(__(X1:S,X2:S)) -> PROPER(X2:S) PROPER(isList(X:S)) -> ISLIST(proper(X:S)) PROPER(isList(X:S)) -> PROPER(X:S) PROPER(isNeList(X:S)) -> ISNELIST(proper(X:S)) PROPER(isNeList(X:S)) -> PROPER(X:S) PROPER(isNePal(X:S)) -> ISNEPAL(proper(X:S)) PROPER(isNePal(X:S)) -> PROPER(X:S) PROPER(isPal(X:S)) -> ISPAL(proper(X:S)) PROPER(isPal(X:S)) -> PROPER(X:S) PROPER(isQid(X:S)) -> ISQID(proper(X:S)) PROPER(isQid(X:S)) -> PROPER(X:S) TOP(mark(X:S)) -> PROPER(X:S) TOP(mark(X:S)) -> TOP(proper(X:S)) TOP(ok(X:S)) -> ACTIVE(X:S) TOP(ok(X:S)) -> TOP(active(X:S)) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ISQID(ok(X:S)) -> ISQID(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: ISPAL(ok(X:S)) -> ISPAL(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: ISNEPAL(ok(X:S)) -> ISNEPAL(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: ISNELIST(ok(X:S)) -> ISNELIST(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: ISLIST(ok(X:S)) -> ISLIST(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(ok(X1:S),ok(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U81#(mark(X:S)) -> U81#(X:S) U81#(ok(X:S)) -> U81#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U72#(mark(X:S)) -> U72#(X:S) U72#(ok(X:S)) -> U72#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(ok(X1:S),ok(X2:S)) -> U71#(X1:S,X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U61#(mark(X:S)) -> U61#(X:S) U61#(ok(X:S)) -> U61#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U52#(mark(X:S)) -> U52#(X:S) U52#(ok(X:S)) -> U52#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(ok(X1:S),ok(X2:S)) -> U51#(X1:S,X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U42#(mark(X:S)) -> U42#(X:S) U42#(ok(X:S)) -> U42#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(ok(X1:S),ok(X2:S)) -> U41#(X1:S,X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U31#(mark(X:S)) -> U31#(X:S) U31#(ok(X:S)) -> U31#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U22#(mark(X:S)) -> U22#(X:S) U22#(ok(X:S)) -> U22#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(ok(X1:S),ok(X2:S)) -> U21#(X1:S,X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: U11#(mark(X:S)) -> U11#(X:S) U11#(ok(X:S)) -> U11#(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: ACTIVE(U11(X:S)) -> ACTIVE(X:S) ACTIVE(U21(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U22(X:S)) -> ACTIVE(X:S) ACTIVE(U31(X:S)) -> ACTIVE(X:S) ACTIVE(U41(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U42(X:S)) -> ACTIVE(X:S) ACTIVE(U51(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U52(X:S)) -> ACTIVE(X:S) ACTIVE(U61(X:S)) -> ACTIVE(X:S) ACTIVE(U71(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U72(X:S)) -> ACTIVE(X:S) ACTIVE(U81(X:S)) -> ACTIVE(X:S) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: PROPER(U11(X:S)) -> PROPER(X:S) PROPER(U21(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U21(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U22(X:S)) -> PROPER(X:S) PROPER(U31(X:S)) -> PROPER(X:S) PROPER(U41(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U41(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U42(X:S)) -> PROPER(X:S) PROPER(U51(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U51(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U52(X:S)) -> PROPER(X:S) PROPER(U61(X:S)) -> PROPER(X:S) PROPER(U71(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U71(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U72(X:S)) -> PROPER(X:S) PROPER(U81(X:S)) -> PROPER(X:S) PROPER(__(X1:S,X2:S)) -> PROPER(X1:S) PROPER(__(X1:S,X2:S)) -> PROPER(X2:S) PROPER(isList(X:S)) -> PROPER(X:S) PROPER(isNeList(X:S)) -> PROPER(X:S) PROPER(isNePal(X:S)) -> PROPER(X:S) PROPER(isPal(X:S)) -> PROPER(X:S) PROPER(isQid(X:S)) -> PROPER(X:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->->Cycle: ->->-> Pairs: TOP(mark(X:S)) -> TOP(proper(X:S)) TOP(ok(X:S)) -> TOP(active(X:S)) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) The problem is decomposed in 21 subproblems. Problem 1.1: Subterm Processor: -> Pairs: ISQID(ok(X:S)) -> ISQID(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(ISQID) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: ISPAL(ok(X:S)) -> ISPAL(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(ISPAL) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> Pairs: ISNEPAL(ok(X:S)) -> ISNEPAL(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(ISNEPAL) = 1 Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Subterm Processor: -> Pairs: ISNELIST(ok(X:S)) -> ISNELIST(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(ISNELIST) = 1 Problem 1.4: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.5: Subterm Processor: -> Pairs: ISLIST(ok(X:S)) -> ISLIST(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(ISLIST) = 1 Problem 1.5: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.6: Subterm Processor: -> Pairs: __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(ok(X1:S),ok(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(__#) = 1 Problem 1.6: SCC Processor: -> Pairs: __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) Problem 1.6: Subterm Processor: -> Pairs: __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(__#) = 2 Problem 1.6: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.7: Subterm Processor: -> Pairs: U81#(mark(X:S)) -> U81#(X:S) U81#(ok(X:S)) -> U81#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U81#) = 1 Problem 1.7: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.8: Subterm Processor: -> Pairs: U72#(mark(X:S)) -> U72#(X:S) U72#(ok(X:S)) -> U72#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U72#) = 1 Problem 1.8: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.9: Subterm Processor: -> Pairs: U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(ok(X1:S),ok(X2:S)) -> U71#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U71#) = 1 Problem 1.9: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.10: Subterm Processor: -> Pairs: U61#(mark(X:S)) -> U61#(X:S) U61#(ok(X:S)) -> U61#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U61#) = 1 Problem 1.10: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.11: Subterm Processor: -> Pairs: U52#(mark(X:S)) -> U52#(X:S) U52#(ok(X:S)) -> U52#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U52#) = 1 Problem 1.11: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.12: Subterm Processor: -> Pairs: U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(ok(X1:S),ok(X2:S)) -> U51#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U51#) = 1 Problem 1.12: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.13: Subterm Processor: -> Pairs: U42#(mark(X:S)) -> U42#(X:S) U42#(ok(X:S)) -> U42#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U42#) = 1 Problem 1.13: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.14: Subterm Processor: -> Pairs: U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(ok(X1:S),ok(X2:S)) -> U41#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U41#) = 1 Problem 1.14: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.15: Subterm Processor: -> Pairs: U31#(mark(X:S)) -> U31#(X:S) U31#(ok(X:S)) -> U31#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U31#) = 1 Problem 1.15: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.16: Subterm Processor: -> Pairs: U22#(mark(X:S)) -> U22#(X:S) U22#(ok(X:S)) -> U22#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U22#) = 1 Problem 1.16: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.17: Subterm Processor: -> Pairs: U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(ok(X1:S),ok(X2:S)) -> U21#(X1:S,X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U21#) = 1 Problem 1.17: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.18: Subterm Processor: -> Pairs: U11#(mark(X:S)) -> U11#(X:S) U11#(ok(X:S)) -> U11#(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(U11#) = 1 Problem 1.18: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.19: Subterm Processor: -> Pairs: ACTIVE(U11(X:S)) -> ACTIVE(X:S) ACTIVE(U21(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U22(X:S)) -> ACTIVE(X:S) ACTIVE(U31(X:S)) -> ACTIVE(X:S) ACTIVE(U41(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U42(X:S)) -> ACTIVE(X:S) ACTIVE(U51(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U52(X:S)) -> ACTIVE(X:S) ACTIVE(U61(X:S)) -> ACTIVE(X:S) ACTIVE(U71(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(U72(X:S)) -> ACTIVE(X:S) ACTIVE(U81(X:S)) -> ACTIVE(X:S) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X1:S) ACTIVE(__(X1:S,X2:S)) -> ACTIVE(X2:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(ACTIVE) = 1 Problem 1.19: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.20: Subterm Processor: -> Pairs: PROPER(U11(X:S)) -> PROPER(X:S) PROPER(U21(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U21(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U22(X:S)) -> PROPER(X:S) PROPER(U31(X:S)) -> PROPER(X:S) PROPER(U41(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U41(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U42(X:S)) -> PROPER(X:S) PROPER(U51(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U51(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U52(X:S)) -> PROPER(X:S) PROPER(U61(X:S)) -> PROPER(X:S) PROPER(U71(X1:S,X2:S)) -> PROPER(X1:S) PROPER(U71(X1:S,X2:S)) -> PROPER(X2:S) PROPER(U72(X:S)) -> PROPER(X:S) PROPER(U81(X:S)) -> PROPER(X:S) PROPER(__(X1:S,X2:S)) -> PROPER(X1:S) PROPER(__(X1:S,X2:S)) -> PROPER(X2:S) PROPER(isList(X:S)) -> PROPER(X:S) PROPER(isNeList(X:S)) -> PROPER(X:S) PROPER(isNePal(X:S)) -> PROPER(X:S) PROPER(isPal(X:S)) -> PROPER(X:S) PROPER(isQid(X:S)) -> PROPER(X:S) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Projection: pi(PROPER) = 1 Problem 1.20: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.21: Reduction Pairs Processor: -> Pairs: TOP(mark(X:S)) -> TOP(proper(X:S)) TOP(ok(X:S)) -> TOP(active(X:S)) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) -> Usable rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) ->Interpretation type: Linear ->Coefficients: All rationals ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X + 1 [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X + 1/2 [U31](X) = 2.X [U41](X1,X2) = 2.X1 + 2.X2 [U42](X) = X + 1/2 [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X + 1/2 [U61](X) = 2.X + 1/2 [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 1/2 [U81](X) = X + 1/2 [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 1/2 [isNePal](X) = 2.X + 1 [isPal](X) = 2.X + 2 [isQid](X) = X [proper](X) = X [top](X) = 0 [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [mark](X) = X + 1/2 [nil] = 1/2 [o] = 2 [ok](X) = X [tt] = 1 [u] = 2 [U11#](X) = 0 [U21#](X1,X2) = 0 [U22#](X) = 0 [U31#](X) = 0 [U41#](X1,X2) = 0 [U42#](X) = 0 [U51#](X1,X2) = 0 [U52#](X) = 0 [U61#](X) = 0 [U71#](X1,X2) = 0 [U72#](X) = 0 [U81#](X) = 0 [__#](X1,X2) = 0 [ACTIVE](X) = 0 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [PROPER](X) = 0 [TOP](X) = 2.X Problem 1.21: SCC Processor: -> Pairs: TOP(ok(X:S)) -> TOP(active(X:S)) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: TOP(ok(X:S)) -> TOP(active(X:S)) ->->-> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) Problem 1.21: Reduction Pairs Processor: -> Pairs: TOP(ok(X:S)) -> TOP(active(X:S)) -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) -> Usable rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = 2.X + 2 [U21](X1,X2) = 2.X2 + 2 [U22](X) = 2.X + 2 [U31](X) = 2.X + 2 [U41](X1,X2) = 2.X2 + 2 [U42](X) = 2.X + 1 [U51](X1,X2) = 2.X1 + 2 [U52](X) = 2.X + 1 [U61](X) = 2.X + 2 [U71](X1,X2) = X1 + 2.X2 + 1 [U72](X) = 2.X + 2 [U81](X) = 2.X + 2 [__](X1,X2) = 2.X2 + 2 [active](X) = 2.X + 1 [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 1 [isPal](X) = 2.X + 2 [isQid](X) = X [proper](X) = 0 [top](X) = 0 [a] = 1 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [mark](X) = 2 [nil] = 1 [o] = 2 [ok](X) = 2.X + 2 [tt] = 0 [u] = 2 [U11#](X) = 0 [U21#](X1,X2) = 0 [U22#](X) = 0 [U31#](X) = 0 [U41#](X1,X2) = 0 [U42#](X) = 0 [U51#](X1,X2) = 0 [U52#](X) = 0 [U61#](X) = 0 [U71#](X1,X2) = 0 [U72#](X) = 0 [U81#](X) = 0 [__#](X1,X2) = 0 [ACTIVE](X) = 0 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [PROPER](X) = 0 [TOP](X) = 2.X Problem 1.21: SCC Processor: -> Pairs: Empty -> Rules: U11(mark(X:S)) -> mark(U11(X:S)) U11(ok(X:S)) -> ok(U11(X:S)) U21(mark(X1:S),X2:S) -> mark(U21(X1:S,X2:S)) U21(ok(X1:S),ok(X2:S)) -> ok(U21(X1:S,X2:S)) U22(mark(X:S)) -> mark(U22(X:S)) U22(ok(X:S)) -> ok(U22(X:S)) U31(mark(X:S)) -> mark(U31(X:S)) U31(ok(X:S)) -> ok(U31(X:S)) U41(mark(X1:S),X2:S) -> mark(U41(X1:S,X2:S)) U41(ok(X1:S),ok(X2:S)) -> ok(U41(X1:S,X2:S)) U42(mark(X:S)) -> mark(U42(X:S)) U42(ok(X:S)) -> ok(U42(X:S)) U51(mark(X1:S),X2:S) -> mark(U51(X1:S,X2:S)) U51(ok(X1:S),ok(X2:S)) -> ok(U51(X1:S,X2:S)) U52(mark(X:S)) -> mark(U52(X:S)) U52(ok(X:S)) -> ok(U52(X:S)) U61(mark(X:S)) -> mark(U61(X:S)) U61(ok(X:S)) -> ok(U61(X:S)) U71(mark(X1:S),X2:S) -> mark(U71(X1:S,X2:S)) U71(ok(X1:S),ok(X2:S)) -> ok(U71(X1:S,X2:S)) U72(mark(X:S)) -> mark(U72(X:S)) U72(ok(X:S)) -> ok(U72(X:S)) U81(mark(X:S)) -> mark(U81(X:S)) U81(ok(X:S)) -> ok(U81(X:S)) __(mark(X1:S),X2:S) -> mark(__(X1:S,X2:S)) __(ok(X1:S),ok(X2:S)) -> ok(__(X1:S,X2:S)) __(X1:S,mark(X2:S)) -> mark(__(X1:S,X2:S)) active(U11(tt)) -> mark(tt) active(U11(X:S)) -> U11(active(X:S)) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U21(X1:S,X2:S)) -> U21(active(X1:S),X2:S) active(U22(tt)) -> mark(tt) active(U22(X:S)) -> U22(active(X:S)) active(U31(tt)) -> mark(tt) active(U31(X:S)) -> U31(active(X:S)) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U41(X1:S,X2:S)) -> U41(active(X1:S),X2:S) active(U42(tt)) -> mark(tt) active(U42(X:S)) -> U42(active(X:S)) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U51(X1:S,X2:S)) -> U51(active(X1:S),X2:S) active(U52(tt)) -> mark(tt) active(U52(X:S)) -> U52(active(X:S)) active(U61(tt)) -> mark(tt) active(U61(X:S)) -> U61(active(X:S)) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U71(X1:S,X2:S)) -> U71(active(X1:S),X2:S) active(U72(tt)) -> mark(tt) active(U72(X:S)) -> U72(active(X:S)) active(U81(tt)) -> mark(tt) active(U81(X:S)) -> U81(active(X:S)) active(__(__(X:S,Y:S),Z:S)) -> mark(__(X:S,__(Y:S,Z:S))) active(__(nil,X:S)) -> mark(X:S) active(__(X:S,nil)) -> mark(X:S) active(__(X1:S,X2:S)) -> __(active(X1:S),X2:S) active(__(X1:S,X2:S)) -> __(X1:S,active(X2:S)) active(isList(__(V1:S,V2:S))) -> mark(U21(isList(V1:S),V2:S)) active(isList(nil)) -> mark(tt) active(isList(V:S)) -> mark(U11(isNeList(V:S))) active(isNeList(__(V1:S,V2:S))) -> mark(U41(isList(V1:S),V2:S)) active(isNeList(__(V1:S,V2:S))) -> mark(U51(isNeList(V1:S),V2:S)) active(isNeList(V:S)) -> mark(U31(isQid(V:S))) active(isNePal(__(I:S,__(P:S,I:S)))) -> mark(U71(isQid(I:S),P:S)) active(isNePal(V:S)) -> mark(U61(isQid(V:S))) active(isPal(nil)) -> mark(tt) active(isPal(V:S)) -> mark(U81(isNePal(V:S))) active(isQid(a)) -> mark(tt) active(isQid(e)) -> mark(tt) active(isQid(i)) -> mark(tt) active(isQid(o)) -> mark(tt) active(isQid(u)) -> mark(tt) isList(ok(X:S)) -> ok(isList(X:S)) isNeList(ok(X:S)) -> ok(isNeList(X:S)) isNePal(ok(X:S)) -> ok(isNePal(X:S)) isPal(ok(X:S)) -> ok(isPal(X:S)) isQid(ok(X:S)) -> ok(isQid(X:S)) proper(U11(X:S)) -> U11(proper(X:S)) proper(U21(X1:S,X2:S)) -> U21(proper(X1:S),proper(X2:S)) proper(U22(X:S)) -> U22(proper(X:S)) proper(U31(X:S)) -> U31(proper(X:S)) proper(U41(X1:S,X2:S)) -> U41(proper(X1:S),proper(X2:S)) proper(U42(X:S)) -> U42(proper(X:S)) proper(U51(X1:S,X2:S)) -> U51(proper(X1:S),proper(X2:S)) proper(U52(X:S)) -> U52(proper(X:S)) proper(U61(X:S)) -> U61(proper(X:S)) proper(U71(X1:S,X2:S)) -> U71(proper(X1:S),proper(X2:S)) proper(U72(X:S)) -> U72(proper(X:S)) proper(U81(X:S)) -> U81(proper(X:S)) proper(__(X1:S,X2:S)) -> __(proper(X1:S),proper(X2:S)) proper(isList(X:S)) -> isList(proper(X:S)) proper(isNeList(X:S)) -> isNeList(proper(X:S)) proper(isNePal(X:S)) -> isNePal(proper(X:S)) proper(isPal(X:S)) -> isPal(proper(X:S)) proper(isQid(X:S)) -> isQid(proper(X:S)) proper(a) -> ok(a) proper(e) -> ok(e) proper(i) -> ok(i) proper(nil) -> ok(nil) proper(o) -> ok(o) proper(tt) -> ok(tt) proper(u) -> ok(u) top(mark(X:S)) -> top(proper(X:S)) top(ok(X:S)) -> top(active(X:S)) ->Strongly Connected Components: There is no strongly connected component The problem is finite.