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(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ) (STRATEGY INNERMOST) Problem 1: Dependency Pairs Processor: -> Pairs: U11#(active(X:S)) -> U11#(X:S) U11#(mark(X:S)) -> U11#(X:S) U21#(active(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) U22#(active(X:S)) -> U22#(X:S) U22#(mark(X:S)) -> U22#(X:S) U31#(active(X:S)) -> U31#(X:S) U31#(mark(X:S)) -> U31#(X:S) U41#(active(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) U42#(active(X:S)) -> U42#(X:S) U42#(mark(X:S)) -> U42#(X:S) U51#(active(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) U52#(active(X:S)) -> U52#(X:S) U52#(mark(X:S)) -> U52#(X:S) U61#(active(X:S)) -> U61#(X:S) U61#(mark(X:S)) -> U61#(X:S) U71#(active(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) U72#(active(X:S)) -> U72#(X:S) U72#(mark(X:S)) -> U72#(X:S) U81#(active(X:S)) -> U81#(X:S) U81#(mark(X:S)) -> U81#(X:S) __#(active(X1:S),X2:S) -> __#(X1:S,X2:S) __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ACTIVE(U11(tt)) -> MARK(tt) ACTIVE(U21(tt,V2:S)) -> U22#(isList(V2:S)) ACTIVE(U21(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U21(tt,V2:S)) -> MARK(U22(isList(V2:S))) ACTIVE(U22(tt)) -> MARK(tt) ACTIVE(U31(tt)) -> MARK(tt) ACTIVE(U41(tt,V2:S)) -> U42#(isNeList(V2:S)) ACTIVE(U41(tt,V2:S)) -> ISNELIST(V2:S) ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U42(tt)) -> MARK(tt) ACTIVE(U51(tt,V2:S)) -> U52#(isList(V2:S)) ACTIVE(U51(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U52(tt)) -> MARK(tt) ACTIVE(U61(tt)) -> MARK(tt) ACTIVE(U71(tt,P:S)) -> U72#(isPal(P:S)) ACTIVE(U71(tt,P:S)) -> ISPAL(P:S) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P:S))) ACTIVE(U72(tt)) -> MARK(tt) ACTIVE(U81(tt)) -> MARK(tt) 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(__(__(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(isList(__(V1:S,V2:S))) -> U21#(isList(V1:S),V2:S) ACTIVE(isList(__(V1:S,V2:S))) -> ISLIST(V1:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) ACTIVE(isList(nil)) -> MARK(tt) ACTIVE(isList(V:S)) -> U11#(isNeList(V:S)) ACTIVE(isList(V:S)) -> ISNELIST(V:S) ACTIVE(isList(V:S)) -> MARK(U11(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(__(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)) -> U31#(isQid(V:S)) ACTIVE(isNeList(V:S)) -> ISQID(V:S) ACTIVE(isNeList(V:S)) -> MARK(U31(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(__(I:S,__(P:S,I:S)))) -> MARK(U71(isQid(I:S),P:S)) ACTIVE(isNePal(V:S)) -> U61#(isQid(V:S)) ACTIVE(isNePal(V:S)) -> ISQID(V:S) ACTIVE(isNePal(V:S)) -> MARK(U61(isQid(V:S))) ACTIVE(isPal(nil)) -> MARK(tt) ACTIVE(isPal(V:S)) -> U81#(isNePal(V:S)) ACTIVE(isPal(V:S)) -> ISNEPAL(V:S) 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(active(X:S)) -> ISLIST(X:S) ISLIST(mark(X:S)) -> ISLIST(X:S) ISNELIST(active(X:S)) -> ISNELIST(X:S) ISNELIST(mark(X:S)) -> ISNELIST(X:S) ISNEPAL(active(X:S)) -> ISNEPAL(X:S) ISNEPAL(mark(X:S)) -> ISNEPAL(X:S) ISPAL(active(X:S)) -> ISPAL(X:S) ISPAL(mark(X:S)) -> ISPAL(X:S) ISQID(active(X:S)) -> ISQID(X:S) ISQID(mark(X:S)) -> ISQID(X:S) MARK(U11(X:S)) -> U11#(mark(X:S)) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> U21#(mark(X1:S),X2:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> U22#(mark(X:S)) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> U31#(mark(X:S)) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> U41#(mark(X1:S),X2:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> U42#(mark(X:S)) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> U51#(mark(X1:S),X2:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> U52#(mark(X:S)) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> U61#(mark(X:S)) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> U71#(mark(X1:S),X2:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> U72#(mark(X:S)) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> U81#(mark(X:S)) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> __#(mark(X1:S),mark(X2:S)) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) MARK(isQid(X:S)) -> ACTIVE(isQid(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1: SCC Processor: -> Pairs: U11#(active(X:S)) -> U11#(X:S) U11#(mark(X:S)) -> U11#(X:S) U21#(active(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) U22#(active(X:S)) -> U22#(X:S) U22#(mark(X:S)) -> U22#(X:S) U31#(active(X:S)) -> U31#(X:S) U31#(mark(X:S)) -> U31#(X:S) U41#(active(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) U42#(active(X:S)) -> U42#(X:S) U42#(mark(X:S)) -> U42#(X:S) U51#(active(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) U52#(active(X:S)) -> U52#(X:S) U52#(mark(X:S)) -> U52#(X:S) U61#(active(X:S)) -> U61#(X:S) U61#(mark(X:S)) -> U61#(X:S) U71#(active(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) U72#(active(X:S)) -> U72#(X:S) U72#(mark(X:S)) -> U72#(X:S) U81#(active(X:S)) -> U81#(X:S) U81#(mark(X:S)) -> U81#(X:S) __#(active(X1:S),X2:S) -> __#(X1:S,X2:S) __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ACTIVE(U11(tt)) -> MARK(tt) ACTIVE(U21(tt,V2:S)) -> U22#(isList(V2:S)) ACTIVE(U21(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U21(tt,V2:S)) -> MARK(U22(isList(V2:S))) ACTIVE(U22(tt)) -> MARK(tt) ACTIVE(U31(tt)) -> MARK(tt) ACTIVE(U41(tt,V2:S)) -> U42#(isNeList(V2:S)) ACTIVE(U41(tt,V2:S)) -> ISNELIST(V2:S) ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U42(tt)) -> MARK(tt) ACTIVE(U51(tt,V2:S)) -> U52#(isList(V2:S)) ACTIVE(U51(tt,V2:S)) -> ISLIST(V2:S) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U52(tt)) -> MARK(tt) ACTIVE(U61(tt)) -> MARK(tt) ACTIVE(U71(tt,P:S)) -> U72#(isPal(P:S)) ACTIVE(U71(tt,P:S)) -> ISPAL(P:S) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P:S))) ACTIVE(U72(tt)) -> MARK(tt) ACTIVE(U81(tt)) -> MARK(tt) 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(__(__(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(isList(__(V1:S,V2:S))) -> U21#(isList(V1:S),V2:S) ACTIVE(isList(__(V1:S,V2:S))) -> ISLIST(V1:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) ACTIVE(isList(nil)) -> MARK(tt) ACTIVE(isList(V:S)) -> U11#(isNeList(V:S)) ACTIVE(isList(V:S)) -> ISNELIST(V:S) ACTIVE(isList(V:S)) -> MARK(U11(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(__(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)) -> U31#(isQid(V:S)) ACTIVE(isNeList(V:S)) -> ISQID(V:S) ACTIVE(isNeList(V:S)) -> MARK(U31(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(__(I:S,__(P:S,I:S)))) -> MARK(U71(isQid(I:S),P:S)) ACTIVE(isNePal(V:S)) -> U61#(isQid(V:S)) ACTIVE(isNePal(V:S)) -> ISQID(V:S) ACTIVE(isNePal(V:S)) -> MARK(U61(isQid(V:S))) ACTIVE(isPal(nil)) -> MARK(tt) ACTIVE(isPal(V:S)) -> U81#(isNePal(V:S)) ACTIVE(isPal(V:S)) -> ISNEPAL(V:S) 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(active(X:S)) -> ISLIST(X:S) ISLIST(mark(X:S)) -> ISLIST(X:S) ISNELIST(active(X:S)) -> ISNELIST(X:S) ISNELIST(mark(X:S)) -> ISNELIST(X:S) ISNEPAL(active(X:S)) -> ISNEPAL(X:S) ISNEPAL(mark(X:S)) -> ISNEPAL(X:S) ISPAL(active(X:S)) -> ISPAL(X:S) ISPAL(mark(X:S)) -> ISPAL(X:S) ISQID(active(X:S)) -> ISQID(X:S) ISQID(mark(X:S)) -> ISQID(X:S) MARK(U11(X:S)) -> U11#(mark(X:S)) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> U21#(mark(X1:S),X2:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> U22#(mark(X:S)) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> U31#(mark(X:S)) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> U41#(mark(X1:S),X2:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> U42#(mark(X:S)) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> U51#(mark(X1:S),X2:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> U52#(mark(X:S)) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> U61#(mark(X:S)) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> U71#(mark(X1:S),X2:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> U72#(mark(X:S)) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> U81#(mark(X:S)) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> __#(mark(X1:S),mark(X2:S)) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) MARK(isQid(X:S)) -> ACTIVE(isQid(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ISQID(active(X:S)) -> ISQID(X:S) ISQID(mark(X:S)) -> ISQID(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: ISPAL(active(X:S)) -> ISPAL(X:S) ISPAL(mark(X:S)) -> ISPAL(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: ISNEPAL(active(X:S)) -> ISNEPAL(X:S) ISNEPAL(mark(X:S)) -> ISNEPAL(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: ISNELIST(active(X:S)) -> ISNELIST(X:S) ISNELIST(mark(X:S)) -> ISNELIST(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: ISLIST(active(X:S)) -> ISLIST(X:S) ISLIST(mark(X:S)) -> ISLIST(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: __#(active(X1:S),X2:S) -> __#(X1:S,X2:S) __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U81#(active(X:S)) -> U81#(X:S) U81#(mark(X:S)) -> U81#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U72#(active(X:S)) -> U72#(X:S) U72#(mark(X:S)) -> U72#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U71#(active(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U61#(active(X:S)) -> U61#(X:S) U61#(mark(X:S)) -> U61#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U52#(active(X:S)) -> U52#(X:S) U52#(mark(X:S)) -> U52#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U51#(active(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U42#(active(X:S)) -> U42#(X:S) U42#(mark(X:S)) -> U42#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U41#(active(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U31#(active(X:S)) -> U31#(X:S) U31#(mark(X:S)) -> U31#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U22#(active(X:S)) -> U22#(X:S) U22#(mark(X:S)) -> U22#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U21#(active(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: U11#(active(X:S)) -> U11#(X:S) U11#(mark(X:S)) -> U11#(X:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->->Cycle: ->->-> Pairs: ACTIVE(U21(tt,V2:S)) -> MARK(U22(isList(V2:S))) ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) The problem is decomposed in 19 subproblems. Problem 1.1: Subterm Processor: -> Pairs: ISQID(active(X:S)) -> ISQID(X:S) ISQID(mark(X:S)) -> ISQID(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(ISQID) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: ISPAL(active(X:S)) -> ISPAL(X:S) ISPAL(mark(X:S)) -> ISPAL(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(ISPAL) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> Pairs: ISNEPAL(active(X:S)) -> ISNEPAL(X:S) ISNEPAL(mark(X:S)) -> ISNEPAL(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(ISNEPAL) = 1 Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Subterm Processor: -> Pairs: ISNELIST(active(X:S)) -> ISNELIST(X:S) ISNELIST(mark(X:S)) -> ISNELIST(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(ISNELIST) = 1 Problem 1.4: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.5: Subterm Processor: -> Pairs: ISLIST(active(X:S)) -> ISLIST(X:S) ISLIST(mark(X:S)) -> ISLIST(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(ISLIST) = 1 Problem 1.5: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.6: Subterm Processor: -> Pairs: __#(active(X1:S),X2:S) -> __#(X1:S,X2:S) __#(mark(X1:S),X2:S) -> __#(X1:S,X2:S) __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(__#) = 1 Problem 1.6: SCC Processor: -> Pairs: __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.6: Subterm Processor: -> Pairs: __#(X1:S,active(X2:S)) -> __#(X1:S,X2:S) __#(X1:S,mark(X2:S)) -> __#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(__#) = 2 Problem 1.6: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.7: Subterm Processor: -> Pairs: U81#(active(X:S)) -> U81#(X:S) U81#(mark(X:S)) -> U81#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U81#) = 1 Problem 1.7: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.8: Subterm Processor: -> Pairs: U72#(active(X:S)) -> U72#(X:S) U72#(mark(X:S)) -> U72#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U72#) = 1 Problem 1.8: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.9: Subterm Processor: -> Pairs: U71#(active(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(mark(X1:S),X2:S) -> U71#(X1:S,X2:S) U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U71#) = 1 Problem 1.9: SCC Processor: -> Pairs: U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.9: Subterm Processor: -> Pairs: U71#(X1:S,active(X2:S)) -> U71#(X1:S,X2:S) U71#(X1:S,mark(X2:S)) -> U71#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U71#) = 2 Problem 1.9: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.10: Subterm Processor: -> Pairs: U61#(active(X:S)) -> U61#(X:S) U61#(mark(X:S)) -> U61#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U61#) = 1 Problem 1.10: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.11: Subterm Processor: -> Pairs: U52#(active(X:S)) -> U52#(X:S) U52#(mark(X:S)) -> U52#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U52#) = 1 Problem 1.11: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.12: Subterm Processor: -> Pairs: U51#(active(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(mark(X1:S),X2:S) -> U51#(X1:S,X2:S) U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U51#) = 1 Problem 1.12: SCC Processor: -> Pairs: U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.12: Subterm Processor: -> Pairs: U51#(X1:S,active(X2:S)) -> U51#(X1:S,X2:S) U51#(X1:S,mark(X2:S)) -> U51#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U51#) = 2 Problem 1.12: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.13: Subterm Processor: -> Pairs: U42#(active(X:S)) -> U42#(X:S) U42#(mark(X:S)) -> U42#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U42#) = 1 Problem 1.13: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.14: Subterm Processor: -> Pairs: U41#(active(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(mark(X1:S),X2:S) -> U41#(X1:S,X2:S) U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U41#) = 1 Problem 1.14: SCC Processor: -> Pairs: U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.14: Subterm Processor: -> Pairs: U41#(X1:S,active(X2:S)) -> U41#(X1:S,X2:S) U41#(X1:S,mark(X2:S)) -> U41#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U41#) = 2 Problem 1.14: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.15: Subterm Processor: -> Pairs: U31#(active(X:S)) -> U31#(X:S) U31#(mark(X:S)) -> U31#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U31#) = 1 Problem 1.15: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.16: Subterm Processor: -> Pairs: U22#(active(X:S)) -> U22#(X:S) U22#(mark(X:S)) -> U22#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U22#) = 1 Problem 1.16: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.17: Subterm Processor: -> Pairs: U21#(active(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(mark(X1:S),X2:S) -> U21#(X1:S,X2:S) U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U21#) = 1 Problem 1.17: SCC Processor: -> Pairs: U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.17: Subterm Processor: -> Pairs: U21#(X1:S,active(X2:S)) -> U21#(X1:S,X2:S) U21#(X1:S,mark(X2:S)) -> U21#(X1:S,X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U21#) = 2 Problem 1.17: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.18: Subterm Processor: -> Pairs: U11#(active(X:S)) -> U11#(X:S) U11#(mark(X:S)) -> U11#(X:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(U11#) = 1 Problem 1.18: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(U21(tt,V2:S)) -> MARK(U22(isList(V2:S))) ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = X [U41](X1,X2) = 2.X1 + 2.X2 + 1 [U42](X) = X [U51](X1,X2) = X1 + 2.X2 + 2 [U52](X) = X + 1 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = 2.X + 2 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 1 [o] = 2 [tt] = 2 [u] = 1 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(U41(tt,V2:S)) -> MARK(U42(isNeList(V2:S))) ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X [U31](X) = X + 1 [U41](X1,X2) = 2.X1 + 2.X2 + 2 [U42](X) = X [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X + 2 [U61](X) = X + 1 [U71](X1,X2) = 2.X1 + 2.X2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = 2.X + 1 [mark](X) = X [a] = 2 [e] = 1 [fSNonEmpty] = 0 [i] = 1 [nil] = 0 [o] = 2 [tt] = 2 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(U51(tt,V2:S)) -> MARK(U52(isList(V2:S))) ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 1 [U22](X) = X + 2 [U31](X) = 2.X [U41](X1,X2) = 2.X1 + 2.X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X [U61](X) = 2.X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = X + 1 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 2 [tt] = 2 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(U71(tt,P:S)) -> MARK(U72(isPal(P: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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X + 1 [U31](X) = 2.X [U41](X1,X2) = 2.X1 + 2.X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X + 1 [U61](X) = 2.X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = X + 1 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 2 [tt] = 2 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: 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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: 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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: 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(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + X2 [U22](X) = X + 2 [U31](X) = X [U41](X1,X2) = X1 + X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + X2 [U52](X) = X + 2 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 [U72](X) = X + 1 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = X + 2 [isNeList](X) = X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = X + 2 [mark](X) = X [a] = 0 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 2 [tt] = 2 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(__(nil,X:S)) -> MARK(X:S) ACTIVE(__(X:S,nil)) -> MARK(X:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(__(nil,X:S)) -> MARK(X:S) ACTIVE(__(X:S,nil)) -> MARK(X:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(__(nil,X:S)) -> MARK(X:S) ACTIVE(__(X:S,nil)) -> MARK(X:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = X + 1 [U41](X1,X2) = 2.X1 + 2.X2 + 1 [U42](X) = X + 2 [U51](X1,X2) = X1 + 2.X2 + 2 [U52](X) = X [U61](X) = X + 2 [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 1 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = 2.X [mark](X) = X [a] = 2 [e] = 1 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 2 [tt] = 2 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(__(X:S,nil)) -> MARK(X:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(__(X:S,nil)) -> MARK(X:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(__(X:S,nil)) -> MARK(X:S) ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = X1 [U22](X) = X [U31](X) = X [U41](X1,X2) = X1 [U42](X) = X [U51](X1,X2) = X1 [U52](X) = X [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = 2.X [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2 [isNeList](X) = 2 [isNePal](X) = X + 2 [isPal](X) = X + 2 [isQid](X) = 2 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 1 [nil] = 2 [o] = 0 [tt] = 2 [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) = 2.X + 1 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 1 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(isList(__(V1:S,V2:S))) -> MARK(U21(isList(V1:S),V2:S)) 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X + 2 [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = 2.X [U41](X1,X2) = X1 + 2.X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 [U52](X) = X + 2 [U61](X) = 2.X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 2 [U81](X) = X + 2 [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X [isNePal](X) = 2.X [isPal](X) = 2.X + 2 [isQid](X) = X [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 1 [o] = 2 [tt] = 2 [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) = X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = X + 2 Problem 1.19: SCC Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = X [U41](X1,X2) = X1 + 2.X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X [U61](X) = X + 1 [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = 2.X [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 1 [isNePal](X) = X + 2 [isPal](X) = X + 2 [isQid](X) = X + 1 [mark](X) = X [a] = 2 [e] = 1 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 1 [tt] = 2 [u] = 1 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isList(X:S)) -> ACTIVE(isList(X:S)) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X) = X [U31](X) = X + 1 [U41](X1,X2) = 2.X1 + 2.X2 + 1 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X + 1 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X [U81](X) = 2.X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = X + 1 [isPal](X) = 2.X + 2 [isQid](X) = X + 1 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 2 [tt] = 2 [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) = 2.X [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X Problem 1.19: SCC Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X + 1 [U31](X) = X + 1 [U41](X1,X2) = X1 + 2.X2 + 2 [U42](X) = X + 1 [U51](X1,X2) = 2.X1 + 2.X2 + 1 [U52](X) = X + 1 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 [U72](X) = X + 2 [U81](X) = X + 1 [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 1 [isPal](X) = 2.X + 2 [isQid](X) = 2.X + 1 [mark](X) = X [a] = 1 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 2 [tt] = 2 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 1 [U22](X) = X + 2 [U31](X) = X [U41](X1,X2) = X1 + 2.X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X + 2 [U61](X) = X + 1 [U71](X1,X2) = 2.X1 + 2.X2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = X + 2 [isPal](X) = 2.X + 2 [isQid](X) = X + 1 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 1 [tt] = 2 [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) = 2.X + 1 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 1 Problem 1.19: SCC Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNeList(X:S)) -> ACTIVE(isNeList(X:S)) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: 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(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = X [U41](X1,X2) = X1 + 2.X2 + 2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 [U52](X) = X + 2 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = 2.X + 2 [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 2 [o] = 1 [tt] = 2 [u] = 1 [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) = 2.X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X + 2 Problem 1.19: SCC Processor: -> Pairs: ACTIVE(isNePal(V:S)) -> MARK(U61(isQid(V:S))) ACTIVE(isPal(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(isNePal(V:S)) -> MARK(U61(isQid(V:S))) ACTIVE(isPal(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(isNePal(V:S)) -> MARK(U61(isQid(V:S))) ACTIVE(isPal(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = 2.X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = 2.X + 2 [U41](X1,X2) = 2.X1 + 2.X2 [U42](X) = X [U51](X1,X2) = 2.X1 + 2.X2 + 2 [U52](X) = X + 2 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 2 [U81](X) = X [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X + 2 [isPal](X) = 2.X + 2 [isQid](X) = X [mark](X) = X [a] = 2 [e] = 2 [fSNonEmpty] = 0 [i] = 2 [nil] = 1 [o] = 2 [tt] = 2 [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) = 2.X [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = 2.X Problem 1.19: SCC Processor: -> Pairs: ACTIVE(isPal(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isNePal(X:S)) -> ACTIVE(isNePal(X:S)) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: ACTIVE(isPal(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Reduction Pairs Processor: -> Pairs: ACTIVE(isPal(V:S)) -> MARK(U81(isNePal(V:S))) MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) -> Usable rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [U11](X) = X [U21](X1,X2) = X1 + 2.X2 + 2 [U22](X) = X + 2 [U31](X) = X + 2 [U41](X1,X2) = 2.X1 + 2.X2 [U42](X) = X + 2 [U51](X1,X2) = 2.X1 + 2.X2 + 1 [U52](X) = X + 2 [U61](X) = X [U71](X1,X2) = 2.X1 + 2.X2 + 2 [U72](X) = X + 1 [U81](X) = X + 1 [__](X1,X2) = 2.X1 + X2 + 2 [active](X) = X [isList](X) = 2.X + 2 [isNeList](X) = 2.X + 2 [isNePal](X) = 2.X [isPal](X) = 2.X + 2 [isQid](X) = 2.X [mark](X) = X [a] = 2 [e] = 1 [fSNonEmpty] = 0 [i] = 2 [nil] = 1 [o] = 2 [tt] = 2 [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) = X + 2 [ISLIST](X) = 0 [ISNELIST](X) = 0 [ISNEPAL](X) = 0 [ISPAL](X) = 0 [ISQID](X) = 0 [MARK](X) = X + 2 Problem 1.19: SCC Processor: -> Pairs: MARK(U11(X:S)) -> ACTIVE(U11(mark(X:S))) MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> ACTIVE(U21(mark(X1:S),X2:S)) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> ACTIVE(U22(mark(X:S))) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> ACTIVE(U31(mark(X:S))) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> ACTIVE(U41(mark(X1:S),X2:S)) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> ACTIVE(U42(mark(X:S))) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> ACTIVE(U51(mark(X1:S),X2:S)) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> ACTIVE(U52(mark(X:S))) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> ACTIVE(U61(mark(X:S))) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> ACTIVE(U71(mark(X1:S),X2:S)) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> ACTIVE(U72(mark(X:S))) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> ACTIVE(U81(mark(X:S))) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> ACTIVE(__(mark(X1:S),mark(X2:S))) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) MARK(isPal(X:S)) -> ACTIVE(isPal(X:S)) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) ->->-> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) Problem 1.19: Subterm Processor: -> Pairs: MARK(U11(X:S)) -> MARK(X:S) MARK(U21(X1:S,X2:S)) -> MARK(X1:S) MARK(U22(X:S)) -> MARK(X:S) MARK(U31(X:S)) -> MARK(X:S) MARK(U41(X1:S,X2:S)) -> MARK(X1:S) MARK(U42(X:S)) -> MARK(X:S) MARK(U51(X1:S,X2:S)) -> MARK(X1:S) MARK(U52(X:S)) -> MARK(X:S) MARK(U61(X:S)) -> MARK(X:S) MARK(U71(X1:S,X2:S)) -> MARK(X1:S) MARK(U72(X:S)) -> MARK(X:S) MARK(U81(X:S)) -> MARK(X:S) MARK(__(X1:S,X2:S)) -> MARK(X1:S) MARK(__(X1:S,X2:S)) -> MARK(X2:S) -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Projection: pi(MARK) = 1 Problem 1.19: SCC Processor: -> Pairs: Empty -> Rules: U11(active(X:S)) -> U11(X:S) U11(mark(X:S)) -> U11(X:S) U21(active(X1:S),X2:S) -> U21(X1:S,X2:S) U21(mark(X1:S),X2:S) -> U21(X1:S,X2:S) U21(X1:S,active(X2:S)) -> U21(X1:S,X2:S) U21(X1:S,mark(X2:S)) -> U21(X1:S,X2:S) U22(active(X:S)) -> U22(X:S) U22(mark(X:S)) -> U22(X:S) U31(active(X:S)) -> U31(X:S) U31(mark(X:S)) -> U31(X:S) U41(active(X1:S),X2:S) -> U41(X1:S,X2:S) U41(mark(X1:S),X2:S) -> U41(X1:S,X2:S) U41(X1:S,active(X2:S)) -> U41(X1:S,X2:S) U41(X1:S,mark(X2:S)) -> U41(X1:S,X2:S) U42(active(X:S)) -> U42(X:S) U42(mark(X:S)) -> U42(X:S) U51(active(X1:S),X2:S) -> U51(X1:S,X2:S) U51(mark(X1:S),X2:S) -> U51(X1:S,X2:S) U51(X1:S,active(X2:S)) -> U51(X1:S,X2:S) U51(X1:S,mark(X2:S)) -> U51(X1:S,X2:S) U52(active(X:S)) -> U52(X:S) U52(mark(X:S)) -> U52(X:S) U61(active(X:S)) -> U61(X:S) U61(mark(X:S)) -> U61(X:S) U71(active(X1:S),X2:S) -> U71(X1:S,X2:S) U71(mark(X1:S),X2:S) -> U71(X1:S,X2:S) U71(X1:S,active(X2:S)) -> U71(X1:S,X2:S) U71(X1:S,mark(X2:S)) -> U71(X1:S,X2:S) U72(active(X:S)) -> U72(X:S) U72(mark(X:S)) -> U72(X:S) U81(active(X:S)) -> U81(X:S) U81(mark(X:S)) -> U81(X:S) __(active(X1:S),X2:S) -> __(X1:S,X2:S) __(mark(X1:S),X2:S) -> __(X1:S,X2:S) __(X1:S,active(X2:S)) -> __(X1:S,X2:S) __(X1:S,mark(X2:S)) -> __(X1:S,X2:S) active(U11(tt)) -> mark(tt) active(U21(tt,V2:S)) -> mark(U22(isList(V2:S))) active(U22(tt)) -> mark(tt) active(U31(tt)) -> mark(tt) active(U41(tt,V2:S)) -> mark(U42(isNeList(V2:S))) active(U42(tt)) -> mark(tt) active(U51(tt,V2:S)) -> mark(U52(isList(V2:S))) active(U52(tt)) -> mark(tt) active(U61(tt)) -> mark(tt) active(U71(tt,P:S)) -> mark(U72(isPal(P:S))) active(U72(tt)) -> mark(tt) active(U81(tt)) -> mark(tt) 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(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(active(X:S)) -> isList(X:S) isList(mark(X:S)) -> isList(X:S) isNeList(active(X:S)) -> isNeList(X:S) isNeList(mark(X:S)) -> isNeList(X:S) isNePal(active(X:S)) -> isNePal(X:S) isNePal(mark(X:S)) -> isNePal(X:S) isPal(active(X:S)) -> isPal(X:S) isPal(mark(X:S)) -> isPal(X:S) isQid(active(X:S)) -> isQid(X:S) isQid(mark(X:S)) -> isQid(X:S) mark(U11(X:S)) -> active(U11(mark(X:S))) mark(U21(X1:S,X2:S)) -> active(U21(mark(X1:S),X2:S)) mark(U22(X:S)) -> active(U22(mark(X:S))) mark(U31(X:S)) -> active(U31(mark(X:S))) mark(U41(X1:S,X2:S)) -> active(U41(mark(X1:S),X2:S)) mark(U42(X:S)) -> active(U42(mark(X:S))) mark(U51(X1:S,X2:S)) -> active(U51(mark(X1:S),X2:S)) mark(U52(X:S)) -> active(U52(mark(X:S))) mark(U61(X:S)) -> active(U61(mark(X:S))) mark(U71(X1:S,X2:S)) -> active(U71(mark(X1:S),X2:S)) mark(U72(X:S)) -> active(U72(mark(X:S))) mark(U81(X:S)) -> active(U81(mark(X:S))) mark(__(X1:S,X2:S)) -> active(__(mark(X1:S),mark(X2:S))) mark(isList(X:S)) -> active(isList(X:S)) mark(isNeList(X:S)) -> active(isNeList(X:S)) mark(isNePal(X:S)) -> active(isNePal(X:S)) mark(isPal(X:S)) -> active(isPal(X:S)) mark(isQid(X:S)) -> active(isQid(X:S)) mark(a) -> active(a) mark(e) -> active(e) mark(i) -> active(i) mark(nil) -> active(nil) mark(o) -> active(o) mark(tt) -> active(tt) mark(u) -> active(u) ->Strongly Connected Components: There is no strongly connected component The problem is finite.