1.17/1.22 YES 1.17/1.22 1.17/1.22 Problem 1: 1.17/1.22 1.17/1.22 (VAR v_NonEmpty:S I:S P:S V:S V1:S V2:S X:S X1:S X2:S Y:S Z:S) 1.17/1.22 (RULES 1.17/1.22 a__U11(tt) -> tt 1.17/1.22 a__U11(X:S) -> U11(X:S) 1.17/1.22 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.22 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.22 a__U22(tt) -> tt 1.17/1.22 a__U22(X:S) -> U22(X:S) 1.17/1.22 a__U31(tt) -> tt 1.17/1.22 a__U31(X:S) -> U31(X:S) 1.17/1.22 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.22 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.22 a__U42(tt) -> tt 1.17/1.22 a__U42(X:S) -> U42(X:S) 1.17/1.22 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.22 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.22 a__U52(tt) -> tt 1.17/1.22 a__U52(X:S) -> U52(X:S) 1.17/1.22 a__U61(tt) -> tt 1.17/1.22 a__U61(X:S) -> U61(X:S) 1.17/1.22 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.22 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.22 a__U72(tt) -> tt 1.17/1.22 a__U72(X:S) -> U72(X:S) 1.17/1.22 a__U81(tt) -> tt 1.17/1.22 a__U81(X:S) -> U81(X:S) 1.17/1.22 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.22 a____(nil,X:S) -> mark(X:S) 1.17/1.22 a____(X:S,nil) -> mark(X:S) 1.17/1.22 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.22 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.22 a__isList(nil) -> tt 1.17/1.22 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.22 a__isList(X:S) -> isList(X:S) 1.17/1.22 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.22 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.22 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.22 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.22 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.22 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.22 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.22 a__isPal(nil) -> tt 1.17/1.22 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.22 a__isPal(X:S) -> isPal(X:S) 1.17/1.22 a__isQid(a) -> tt 1.17/1.22 a__isQid(e) -> tt 1.17/1.22 a__isQid(i) -> tt 1.17/1.22 a__isQid(o) -> tt 1.17/1.22 a__isQid(u) -> tt 1.17/1.22 a__isQid(X:S) -> isQid(X:S) 1.17/1.22 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.22 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.22 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.22 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.22 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.22 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.22 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.22 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.22 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.22 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.22 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.22 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.22 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.22 mark(a) -> a 1.17/1.22 mark(e) -> e 1.17/1.22 mark(i) -> i 1.17/1.22 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.22 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.22 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.22 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.22 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.22 mark(nil) -> nil 1.17/1.22 mark(o) -> o 1.17/1.22 mark(tt) -> tt 1.17/1.22 mark(u) -> u 1.17/1.22 ) 1.17/1.22 (STRATEGY INNERMOST) 1.17/1.22 1.17/1.22 Problem 1: 1.17/1.22 1.17/1.22 Dependency Pairs Processor: 1.17/1.22 -> Pairs: 1.17/1.22 A__U21(tt,V2:S) -> A__U22(a__isList(V2:S)) 1.17/1.22 A__U21(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.22 A__U41(tt,V2:S) -> A__U42(a__isNeList(V2:S)) 1.17/1.22 A__U41(tt,V2:S) -> A__ISNELIST(V2:S) 1.17/1.22 A__U51(tt,V2:S) -> A__U52(a__isList(V2:S)) 1.17/1.22 A__U51(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.22 A__U71(tt,P:S) -> A__U72(a__isPal(P:S)) 1.17/1.22 A__U71(tt,P:S) -> A__ISPAL(P:S) 1.17/1.22 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.22 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.17/1.22 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.17/1.22 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.17/1.22 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.17/1.22 A____(nil,X:S) -> MARK(X:S) 1.17/1.22 A____(X:S,nil) -> MARK(X:S) 1.17/1.22 A__ISLIST(__(V1:S,V2:S)) -> A__U21(a__isList(V1:S),V2:S) 1.17/1.22 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.22 A__ISLIST(V:S) -> A__U11(a__isNeList(V:S)) 1.17/1.22 A__ISLIST(V:S) -> A__ISNELIST(V:S) 1.17/1.22 A__ISNELIST(__(V1:S,V2:S)) -> A__U41(a__isList(V1:S),V2:S) 1.17/1.22 A__ISNELIST(__(V1:S,V2:S)) -> A__U51(a__isNeList(V1:S),V2:S) 1.17/1.22 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.22 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 1.17/1.22 A__ISNELIST(V:S) -> A__U31(a__isQid(V:S)) 1.17/1.22 A__ISNELIST(V:S) -> A__ISQID(V:S) 1.17/1.22 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__U71(a__isQid(I:S),P:S) 1.17/1.22 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__ISQID(I:S) 1.17/1.22 A__ISNEPAL(V:S) -> A__U61(a__isQid(V:S)) 1.17/1.22 A__ISNEPAL(V:S) -> A__ISQID(V:S) 1.17/1.22 A__ISPAL(V:S) -> A__U81(a__isNePal(V:S)) 1.17/1.22 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 1.17/1.22 MARK(U11(X:S)) -> A__U11(mark(X:S)) 1.17/1.22 MARK(U11(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 1.17/1.22 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.22 MARK(U22(X:S)) -> A__U22(mark(X:S)) 1.17/1.22 MARK(U22(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U31(X:S)) -> A__U31(mark(X:S)) 1.17/1.22 MARK(U31(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U41(X1:S,X2:S)) -> A__U41(mark(X1:S),X2:S) 1.17/1.22 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.22 MARK(U42(X:S)) -> A__U42(mark(X:S)) 1.17/1.22 MARK(U42(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U51(X1:S,X2:S)) -> A__U51(mark(X1:S),X2:S) 1.17/1.22 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.22 MARK(U52(X:S)) -> A__U52(mark(X:S)) 1.17/1.22 MARK(U52(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U61(X:S)) -> A__U61(mark(X:S)) 1.17/1.22 MARK(U61(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U71(X1:S,X2:S)) -> A__U71(mark(X1:S),X2:S) 1.17/1.22 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.22 MARK(U72(X:S)) -> A__U72(mark(X:S)) 1.17/1.22 MARK(U72(X:S)) -> MARK(X:S) 1.17/1.22 MARK(U81(X:S)) -> A__U81(mark(X:S)) 1.17/1.22 MARK(U81(X:S)) -> MARK(X:S) 1.17/1.22 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.17/1.22 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.22 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.17/1.22 MARK(isList(X:S)) -> A__ISLIST(X:S) 1.17/1.22 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 1.17/1.22 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 1.17/1.22 MARK(isPal(X:S)) -> A__ISPAL(X:S) 1.17/1.22 MARK(isQid(X:S)) -> A__ISQID(X:S) 1.17/1.22 -> Rules: 1.17/1.22 a__U11(tt) -> tt 1.17/1.22 a__U11(X:S) -> U11(X:S) 1.17/1.22 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.22 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.22 a__U22(tt) -> tt 1.17/1.22 a__U22(X:S) -> U22(X:S) 1.17/1.22 a__U31(tt) -> tt 1.17/1.22 a__U31(X:S) -> U31(X:S) 1.17/1.22 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.22 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.22 a__U42(tt) -> tt 1.17/1.22 a__U42(X:S) -> U42(X:S) 1.17/1.22 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.22 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.22 a__U52(tt) -> tt 1.17/1.22 a__U52(X:S) -> U52(X:S) 1.17/1.22 a__U61(tt) -> tt 1.17/1.22 a__U61(X:S) -> U61(X:S) 1.17/1.22 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.22 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.22 a__U72(tt) -> tt 1.17/1.22 a__U72(X:S) -> U72(X:S) 1.17/1.22 a__U81(tt) -> tt 1.17/1.22 a__U81(X:S) -> U81(X:S) 1.17/1.22 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.22 a____(nil,X:S) -> mark(X:S) 1.17/1.22 a____(X:S,nil) -> mark(X:S) 1.17/1.22 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.22 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.22 a__isList(nil) -> tt 1.17/1.22 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.22 a__isList(X:S) -> isList(X:S) 1.17/1.22 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.22 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.22 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 1.17/1.23 Problem 1: 1.17/1.23 1.17/1.23 SCC Processor: 1.17/1.23 -> Pairs: 1.17/1.23 A__U21(tt,V2:S) -> A__U22(a__isList(V2:S)) 1.17/1.23 A__U21(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__U41(tt,V2:S) -> A__U42(a__isNeList(V2:S)) 1.17/1.23 A__U41(tt,V2:S) -> A__ISNELIST(V2:S) 1.17/1.23 A__U51(tt,V2:S) -> A__U52(a__isList(V2:S)) 1.17/1.23 A__U51(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__U71(tt,P:S) -> A__U72(a__isPal(P:S)) 1.17/1.23 A__U71(tt,P:S) -> A__ISPAL(P:S) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.17/1.23 A____(nil,X:S) -> MARK(X:S) 1.17/1.23 A____(X:S,nil) -> MARK(X:S) 1.17/1.23 A__ISLIST(__(V1:S,V2:S)) -> A__U21(a__isList(V1:S),V2:S) 1.17/1.23 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.23 A__ISLIST(V:S) -> A__U11(a__isNeList(V:S)) 1.17/1.23 A__ISLIST(V:S) -> A__ISNELIST(V:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__U41(a__isList(V1:S),V2:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 1.17/1.23 A__ISNELIST(V:S) -> A__U31(a__isQid(V:S)) 1.17/1.23 A__ISNELIST(V:S) -> A__ISQID(V:S) 1.17/1.23 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__U71(a__isQid(I:S),P:S) 1.17/1.23 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__ISQID(I:S) 1.17/1.23 A__ISNEPAL(V:S) -> A__U61(a__isQid(V:S)) 1.17/1.23 A__ISNEPAL(V:S) -> A__ISQID(V:S) 1.17/1.23 A__ISPAL(V:S) -> A__U81(a__isNePal(V:S)) 1.17/1.23 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 1.17/1.23 MARK(U11(X:S)) -> A__U11(mark(X:S)) 1.17/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U21(X1:S,X2:S)) -> A__U21(mark(X1:S),X2:S) 1.17/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U22(X:S)) -> A__U22(mark(X:S)) 1.17/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U31(X:S)) -> A__U31(mark(X:S)) 1.17/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U41(X1:S,X2:S)) -> A__U41(mark(X1:S),X2:S) 1.17/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U42(X:S)) -> A__U42(mark(X:S)) 1.17/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U51(X1:S,X2:S)) -> A__U51(mark(X1:S),X2:S) 1.17/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U52(X:S)) -> A__U52(mark(X:S)) 1.17/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U61(X:S)) -> A__U61(mark(X:S)) 1.17/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U71(X1:S,X2:S)) -> A__U71(mark(X1:S),X2:S) 1.17/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U72(X:S)) -> A__U72(mark(X:S)) 1.17/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U81(X:S)) -> A__U81(mark(X:S)) 1.17/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.17/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.17/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.17/1.23 MARK(isList(X:S)) -> A__ISLIST(X:S) 1.17/1.23 MARK(isNeList(X:S)) -> A__ISNELIST(X:S) 1.17/1.23 MARK(isNePal(X:S)) -> A__ISNEPAL(X:S) 1.17/1.23 MARK(isPal(X:S)) -> A__ISPAL(X:S) 1.17/1.23 MARK(isQid(X:S)) -> A__ISQID(X:S) 1.17/1.23 -> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 ->Strongly Connected Components: 1.17/1.23 ->->Cycle: 1.17/1.23 ->->-> Pairs: 1.17/1.23 A__U71(tt,P:S) -> A__ISPAL(P:S) 1.17/1.23 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__U71(a__isQid(I:S),P:S) 1.17/1.23 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 1.17/1.23 ->->-> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 ->->Cycle: 1.17/1.23 ->->-> Pairs: 1.17/1.23 A__U21(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__U41(tt,V2:S) -> A__ISNELIST(V2:S) 1.17/1.23 A__U51(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__ISLIST(__(V1:S,V2:S)) -> A__U21(a__isList(V1:S),V2:S) 1.17/1.23 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.23 A__ISLIST(V:S) -> A__ISNELIST(V:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__U41(a__isList(V1:S),V2:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 1.17/1.23 ->->-> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 ->->Cycle: 1.17/1.23 ->->-> Pairs: 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.17/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.17/1.23 A____(nil,X:S) -> MARK(X:S) 1.17/1.23 A____(X:S,nil) -> MARK(X:S) 1.17/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.17/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.17/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.17/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.17/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.17/1.23 ->->-> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 1.17/1.23 1.17/1.23 The problem is decomposed in 3 subproblems. 1.17/1.23 1.17/1.23 Problem 1.1: 1.17/1.23 1.17/1.23 Subterm Processor: 1.17/1.23 -> Pairs: 1.17/1.23 A__U71(tt,P:S) -> A__ISPAL(P:S) 1.17/1.23 A__ISNEPAL(__(I:S,__(P:S,I:S))) -> A__U71(a__isQid(I:S),P:S) 1.17/1.23 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 1.17/1.23 -> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 ->Projection: 1.17/1.23 pi(A__U71) = 2 1.17/1.23 pi(A__ISNEPAL) = 1 1.17/1.23 pi(A__ISPAL) = 1 1.17/1.23 1.17/1.23 Problem 1.1: 1.17/1.23 1.17/1.23 SCC Processor: 1.17/1.23 -> Pairs: 1.17/1.23 A__U71(tt,P:S) -> A__ISPAL(P:S) 1.17/1.23 A__ISPAL(V:S) -> A__ISNEPAL(V:S) 1.17/1.23 -> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 ->Strongly Connected Components: 1.17/1.23 There is no strongly connected component 1.17/1.23 1.17/1.23 The problem is finite. 1.17/1.23 1.17/1.23 Problem 1.2: 1.17/1.23 1.17/1.23 Subterm Processor: 1.17/1.23 -> Pairs: 1.17/1.23 A__U21(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__U41(tt,V2:S) -> A__ISNELIST(V2:S) 1.17/1.23 A__U51(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__ISLIST(__(V1:S,V2:S)) -> A__U21(a__isList(V1:S),V2:S) 1.17/1.23 A__ISLIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.23 A__ISLIST(V:S) -> A__ISNELIST(V:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__U41(a__isList(V1:S),V2:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__ISLIST(V1:S) 1.17/1.23 A__ISNELIST(__(V1:S,V2:S)) -> A__ISNELIST(V1:S) 1.17/1.23 -> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.17/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.17/1.23 a__U42(tt) -> tt 1.17/1.23 a__U42(X:S) -> U42(X:S) 1.17/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.17/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.17/1.23 a__U52(tt) -> tt 1.17/1.23 a__U52(X:S) -> U52(X:S) 1.17/1.23 a__U61(tt) -> tt 1.17/1.23 a__U61(X:S) -> U61(X:S) 1.17/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.17/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.17/1.23 a__U72(tt) -> tt 1.17/1.23 a__U72(X:S) -> U72(X:S) 1.17/1.23 a__U81(tt) -> tt 1.17/1.23 a__U81(X:S) -> U81(X:S) 1.17/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.17/1.23 a____(nil,X:S) -> mark(X:S) 1.17/1.23 a____(X:S,nil) -> mark(X:S) 1.17/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.17/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.17/1.23 a__isList(nil) -> tt 1.17/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.17/1.23 a__isList(X:S) -> isList(X:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.17/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.17/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.17/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.17/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.17/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.17/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.17/1.23 a__isPal(nil) -> tt 1.17/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.17/1.23 a__isPal(X:S) -> isPal(X:S) 1.17/1.23 a__isQid(a) -> tt 1.17/1.23 a__isQid(e) -> tt 1.17/1.23 a__isQid(i) -> tt 1.17/1.23 a__isQid(o) -> tt 1.17/1.23 a__isQid(u) -> tt 1.17/1.23 a__isQid(X:S) -> isQid(X:S) 1.17/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.17/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.17/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.17/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.17/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.17/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.17/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.17/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.17/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.17/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.17/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.17/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.17/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.17/1.23 mark(a) -> a 1.17/1.23 mark(e) -> e 1.17/1.23 mark(i) -> i 1.17/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.17/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.17/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.17/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.17/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.17/1.23 mark(nil) -> nil 1.17/1.23 mark(o) -> o 1.17/1.23 mark(tt) -> tt 1.17/1.23 mark(u) -> u 1.17/1.23 ->Projection: 1.17/1.23 pi(A__U21) = 2 1.17/1.23 pi(A__U41) = 2 1.17/1.23 pi(A__U51) = 2 1.17/1.23 pi(A__ISLIST) = 1 1.17/1.23 pi(A__ISNELIST) = 1 1.17/1.23 1.17/1.23 Problem 1.2: 1.17/1.23 1.17/1.23 SCC Processor: 1.17/1.23 -> Pairs: 1.17/1.23 A__U21(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__U41(tt,V2:S) -> A__ISNELIST(V2:S) 1.17/1.23 A__U51(tt,V2:S) -> A__ISLIST(V2:S) 1.17/1.23 A__ISLIST(V:S) -> A__ISNELIST(V:S) 1.17/1.23 -> Rules: 1.17/1.23 a__U11(tt) -> tt 1.17/1.23 a__U11(X:S) -> U11(X:S) 1.17/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.17/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.17/1.23 a__U22(tt) -> tt 1.17/1.23 a__U22(X:S) -> U22(X:S) 1.17/1.23 a__U31(tt) -> tt 1.17/1.23 a__U31(X:S) -> U31(X:S) 1.17/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Strongly Connected Components: 1.18/1.23 There is no strongly connected component 1.18/1.23 1.18/1.23 The problem is finite. 1.18/1.23 1.18/1.23 Problem 1.3: 1.18/1.23 1.18/1.23 Reduction Pairs Processor: 1.18/1.23 -> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 -> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 -> Usable rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Interpretation type: 1.18/1.23 Linear 1.18/1.23 ->Coefficients: 1.18/1.23 Natural Numbers 1.18/1.23 ->Dimension: 1.18/1.23 1 1.18/1.23 ->Bound: 1.18/1.23 2 1.18/1.23 ->Interpretation: 1.18/1.23 1.18/1.23 [a__U11](X) = 2.X 1.18/1.23 [a__U21](X1,X2) = 2.X1 1.18/1.23 [a__U22](X) = X 1.18/1.23 [a__U31](X) = 2.X 1.18/1.23 [a__U41](X1,X2) = 2.X1 1.18/1.23 [a__U42](X) = 2.X 1.18/1.23 [a__U51](X1,X2) = 2.X1 1.18/1.23 [a__U52](X) = 2.X 1.18/1.23 [a__U61](X) = 2.X + 1 1.18/1.23 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U72](X) = X 1.18/1.23 [a__U81](X) = 2.X 1.18/1.23 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.23 [a__isList](X) = 0 1.18/1.23 [a__isNeList](X) = 0 1.18/1.23 [a__isNePal](X) = X + 1 1.18/1.23 [a__isPal](X) = 2.X + 2 1.18/1.23 [a__isQid](X) = 0 1.18/1.23 [mark](X) = X 1.18/1.23 [U11](X) = 2.X 1.18/1.23 [U21](X1,X2) = 2.X1 1.18/1.23 [U22](X) = X 1.18/1.23 [U31](X) = 2.X 1.18/1.23 [U41](X1,X2) = 2.X1 1.18/1.23 [U42](X) = 2.X 1.18/1.23 [U51](X1,X2) = 2.X1 1.18/1.23 [U52](X) = 2.X 1.18/1.23 [U61](X) = 2.X + 1 1.18/1.23 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U72](X) = X 1.18/1.23 [U81](X) = 2.X 1.18/1.23 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.23 [a] = 1 1.18/1.23 [e] = 1 1.18/1.23 [fSNonEmpty] = 0 1.18/1.23 [i] = 1 1.18/1.23 [isList](X) = 0 1.18/1.23 [isNeList](X) = 0 1.18/1.23 [isNePal](X) = X + 1 1.18/1.23 [isPal](X) = 2.X + 2 1.18/1.23 [isQid](X) = 0 1.18/1.23 [nil] = 2 1.18/1.23 [o] = 1 1.18/1.23 [tt] = 0 1.18/1.23 [u] = 1 1.18/1.23 [A__U11](X) = 0 1.18/1.23 [A__U21](X1,X2) = 0 1.18/1.23 [A__U22](X) = 0 1.18/1.23 [A__U31](X) = 0 1.18/1.23 [A__U41](X1,X2) = 0 1.18/1.23 [A__U42](X) = 0 1.18/1.23 [A__U51](X1,X2) = 0 1.18/1.23 [A__U52](X) = 0 1.18/1.23 [A__U61](X) = 0 1.18/1.23 [A__U71](X1,X2) = 0 1.18/1.23 [A__U72](X) = 0 1.18/1.23 [A__U81](X) = 0 1.18/1.23 [A____](X1,X2) = 2.X1 + X2 1.18/1.23 [A__ISLIST](X) = 0 1.18/1.23 [A__ISNELIST](X) = 0 1.18/1.23 [A__ISNEPAL](X) = 0 1.18/1.23 [A__ISPAL](X) = 0 1.18/1.23 [A__ISQID](X) = 0 1.18/1.23 [MARK](X) = X + 2 1.18/1.23 1.18/1.23 Problem 1.3: 1.18/1.23 1.18/1.23 SCC Processor: 1.18/1.23 -> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 -> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Strongly Connected Components: 1.18/1.23 ->->Cycle: 1.18/1.23 ->->-> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 ->->-> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 1.18/1.23 Problem 1.3: 1.18/1.23 1.18/1.23 Reduction Pairs Processor: 1.18/1.23 -> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> A____(mark(Y:S),mark(Z:S)) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 -> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 -> Usable rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Interpretation type: 1.18/1.23 Linear 1.18/1.23 ->Coefficients: 1.18/1.23 Natural Numbers 1.18/1.23 ->Dimension: 1.18/1.23 1 1.18/1.23 ->Bound: 1.18/1.23 2 1.18/1.23 ->Interpretation: 1.18/1.23 1.18/1.23 [a__U11](X) = X 1.18/1.23 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U22](X) = X + 2 1.18/1.23 [a__U31](X) = 2.X 1.18/1.23 [a__U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U42](X) = X 1.18/1.23 [a__U51](X1,X2) = X1 + 2.X2 + 2 1.18/1.23 [a__U52](X) = X + 1 1.18/1.23 [a__U61](X) = X 1.18/1.23 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U72](X) = X + 1 1.18/1.23 [a__U81](X) = 2.X 1.18/1.23 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.23 [a__isList](X) = 2.X + 2 1.18/1.23 [a__isNeList](X) = 2.X + 2 1.18/1.23 [a__isNePal](X) = X + 1 1.18/1.23 [a__isPal](X) = 2.X + 2 1.18/1.23 [a__isQid](X) = X + 1 1.18/1.23 [mark](X) = X 1.18/1.23 [U11](X) = X 1.18/1.23 [U21](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U22](X) = X + 2 1.18/1.23 [U31](X) = 2.X 1.18/1.23 [U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U42](X) = X 1.18/1.23 [U51](X1,X2) = X1 + 2.X2 + 2 1.18/1.23 [U52](X) = X + 1 1.18/1.23 [U61](X) = X 1.18/1.23 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U72](X) = X + 1 1.18/1.23 [U81](X) = 2.X 1.18/1.23 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.23 [a] = 1 1.18/1.23 [e] = 1 1.18/1.23 [fSNonEmpty] = 0 1.18/1.23 [i] = 1 1.18/1.23 [isList](X) = 2.X + 2 1.18/1.23 [isNeList](X) = 2.X + 2 1.18/1.23 [isNePal](X) = X + 1 1.18/1.23 [isPal](X) = 2.X + 2 1.18/1.23 [isQid](X) = X + 1 1.18/1.23 [nil] = 2 1.18/1.23 [o] = 1 1.18/1.23 [tt] = 2 1.18/1.23 [u] = 1 1.18/1.23 [A__U11](X) = 0 1.18/1.23 [A__U21](X1,X2) = 0 1.18/1.23 [A__U22](X) = 0 1.18/1.23 [A__U31](X) = 0 1.18/1.23 [A__U41](X1,X2) = 0 1.18/1.23 [A__U42](X) = 0 1.18/1.23 [A__U51](X1,X2) = 0 1.18/1.23 [A__U52](X) = 0 1.18/1.23 [A__U61](X) = 0 1.18/1.23 [A__U71](X1,X2) = 0 1.18/1.23 [A__U72](X) = 0 1.18/1.23 [A__U81](X) = 0 1.18/1.23 [A____](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [A__ISLIST](X) = 0 1.18/1.23 [A__ISNELIST](X) = 0 1.18/1.23 [A__ISNEPAL](X) = 0 1.18/1.23 [A__ISPAL](X) = 0 1.18/1.23 [A__ISQID](X) = 0 1.18/1.23 [MARK](X) = 2.X 1.18/1.23 1.18/1.23 Problem 1.3: 1.18/1.23 1.18/1.23 SCC Processor: 1.18/1.23 -> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 -> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Strongly Connected Components: 1.18/1.23 ->->Cycle: 1.18/1.23 ->->-> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 ->->-> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 1.18/1.23 Problem 1.3: 1.18/1.23 1.18/1.23 Reduction Pairs Processor: 1.18/1.23 -> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(X:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 -> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 -> Usable rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Interpretation type: 1.18/1.23 Linear 1.18/1.23 ->Coefficients: 1.18/1.23 Natural Numbers 1.18/1.23 ->Dimension: 1.18/1.23 1 1.18/1.23 ->Bound: 1.18/1.23 2 1.18/1.23 ->Interpretation: 1.18/1.23 1.18/1.23 [a__U11](X) = X 1.18/1.23 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U22](X) = X + 1 1.18/1.23 [a__U31](X) = X 1.18/1.23 [a__U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U42](X) = X + 1 1.18/1.23 [a__U51](X1,X2) = X1 + 2.X2 + 2 1.18/1.23 [a__U52](X) = X + 2 1.18/1.23 [a__U61](X) = X 1.18/1.23 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [a__U72](X) = X + 2 1.18/1.23 [a__U81](X) = X 1.18/1.23 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.23 [a__isList](X) = 2.X + 2 1.18/1.23 [a__isNeList](X) = 2.X + 2 1.18/1.23 [a__isNePal](X) = 2.X + 2 1.18/1.23 [a__isPal](X) = 2.X + 2 1.18/1.23 [a__isQid](X) = 2.X + 2 1.18/1.23 [mark](X) = X 1.18/1.23 [U11](X) = X 1.18/1.23 [U21](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U22](X) = X + 1 1.18/1.23 [U31](X) = X 1.18/1.23 [U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U42](X) = X + 1 1.18/1.23 [U51](X1,X2) = X1 + 2.X2 + 2 1.18/1.23 [U52](X) = X + 2 1.18/1.23 [U61](X) = X 1.18/1.23 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [U72](X) = X + 2 1.18/1.23 [U81](X) = X 1.18/1.23 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.23 [a] = 2 1.18/1.23 [e] = 1 1.18/1.23 [fSNonEmpty] = 0 1.18/1.23 [i] = 2 1.18/1.23 [isList](X) = 2.X + 2 1.18/1.23 [isNeList](X) = 2.X + 2 1.18/1.23 [isNePal](X) = 2.X + 2 1.18/1.23 [isPal](X) = 2.X + 2 1.18/1.23 [isQid](X) = 2.X + 2 1.18/1.23 [nil] = 2 1.18/1.23 [o] = 1 1.18/1.23 [tt] = 2 1.18/1.23 [u] = 1 1.18/1.23 [A__U11](X) = 0 1.18/1.23 [A__U21](X1,X2) = 0 1.18/1.23 [A__U22](X) = 0 1.18/1.23 [A__U31](X) = 0 1.18/1.23 [A__U41](X1,X2) = 0 1.18/1.23 [A__U42](X) = 0 1.18/1.23 [A__U51](X1,X2) = 0 1.18/1.23 [A__U52](X) = 0 1.18/1.23 [A__U61](X) = 0 1.18/1.23 [A__U71](X1,X2) = 0 1.18/1.23 [A__U72](X) = 0 1.18/1.23 [A__U81](X) = 0 1.18/1.23 [A____](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.23 [A__ISLIST](X) = 0 1.18/1.23 [A__ISNELIST](X) = 0 1.18/1.23 [A__ISNEPAL](X) = 0 1.18/1.23 [A__ISPAL](X) = 0 1.18/1.23 [A__ISQID](X) = 0 1.18/1.23 [MARK](X) = 2.X + 2 1.18/1.23 1.18/1.23 Problem 1.3: 1.18/1.23 1.18/1.23 SCC Processor: 1.18/1.23 -> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 -> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.23 a____(nil,X:S) -> mark(X:S) 1.18/1.23 a____(X:S,nil) -> mark(X:S) 1.18/1.23 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.23 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.23 a__isList(nil) -> tt 1.18/1.23 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.23 a__isList(X:S) -> isList(X:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.23 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.23 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.23 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.23 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.23 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.23 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.23 a__isPal(nil) -> tt 1.18/1.23 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.23 a__isPal(X:S) -> isPal(X:S) 1.18/1.23 a__isQid(a) -> tt 1.18/1.23 a__isQid(e) -> tt 1.18/1.23 a__isQid(i) -> tt 1.18/1.23 a__isQid(o) -> tt 1.18/1.23 a__isQid(u) -> tt 1.18/1.23 a__isQid(X:S) -> isQid(X:S) 1.18/1.23 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.23 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.23 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.23 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.23 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.23 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.23 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.23 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.23 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.23 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.23 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.23 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.23 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.23 mark(a) -> a 1.18/1.23 mark(e) -> e 1.18/1.23 mark(i) -> i 1.18/1.23 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.23 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.23 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.23 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.23 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.23 mark(nil) -> nil 1.18/1.23 mark(o) -> o 1.18/1.23 mark(tt) -> tt 1.18/1.23 mark(u) -> u 1.18/1.23 ->Strongly Connected Components: 1.18/1.23 ->->Cycle: 1.18/1.23 ->->-> Pairs: 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.23 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.23 A____(nil,X:S) -> MARK(X:S) 1.18/1.23 A____(X:S,nil) -> MARK(X:S) 1.18/1.23 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.23 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.23 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.23 ->->-> Rules: 1.18/1.23 a__U11(tt) -> tt 1.18/1.23 a__U11(X:S) -> U11(X:S) 1.18/1.23 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.23 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.23 a__U22(tt) -> tt 1.18/1.23 a__U22(X:S) -> U22(X:S) 1.18/1.23 a__U31(tt) -> tt 1.18/1.23 a__U31(X:S) -> U31(X:S) 1.18/1.23 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.23 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.23 a__U42(tt) -> tt 1.18/1.23 a__U42(X:S) -> U42(X:S) 1.18/1.23 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.23 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.23 a__U52(tt) -> tt 1.18/1.23 a__U52(X:S) -> U52(X:S) 1.18/1.23 a__U61(tt) -> tt 1.18/1.23 a__U61(X:S) -> U61(X:S) 1.18/1.23 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.23 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.23 a__U72(tt) -> tt 1.18/1.23 a__U72(X:S) -> U72(X:S) 1.18/1.23 a__U81(tt) -> tt 1.18/1.23 a__U81(X:S) -> U81(X:S) 1.18/1.23 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 Reduction Pairs Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(__(X:S,Y:S),Z:S) -> MARK(Y:S) 1.18/1.24 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 -> Usable rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Interpretation type: 1.18/1.24 Linear 1.18/1.24 ->Coefficients: 1.18/1.24 Natural Numbers 1.18/1.24 ->Dimension: 1.18/1.24 1 1.18/1.24 ->Bound: 1.18/1.24 2 1.18/1.24 ->Interpretation: 1.18/1.24 1.18/1.24 [a__U11](X) = 2.X 1.18/1.24 [a__U21](X1,X2) = 2.X1 1.18/1.24 [a__U22](X) = 2.X 1.18/1.24 [a__U31](X) = 2.X 1.18/1.24 [a__U41](X1,X2) = 2.X1 1.18/1.24 [a__U42](X) = 2.X 1.18/1.24 [a__U51](X1,X2) = 2.X1 1.18/1.24 [a__U52](X) = 2.X 1.18/1.24 [a__U61](X) = 2.X 1.18/1.24 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U72](X) = X 1.18/1.24 [a__U81](X) = 2.X + 2 1.18/1.24 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a__isList](X) = 0 1.18/1.24 [a__isNeList](X) = 0 1.18/1.24 [a__isNePal](X) = X 1.18/1.24 [a__isPal](X) = 2.X + 2 1.18/1.24 [a__isQid](X) = 0 1.18/1.24 [mark](X) = X 1.18/1.24 [U11](X) = 2.X 1.18/1.24 [U21](X1,X2) = 2.X1 1.18/1.24 [U22](X) = 2.X 1.18/1.24 [U31](X) = 2.X 1.18/1.24 [U41](X1,X2) = 2.X1 1.18/1.24 [U42](X) = 2.X 1.18/1.24 [U51](X1,X2) = 2.X1 1.18/1.24 [U52](X) = 2.X 1.18/1.24 [U61](X) = 2.X 1.18/1.24 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U72](X) = X 1.18/1.24 [U81](X) = 2.X + 2 1.18/1.24 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a] = 1 1.18/1.24 [e] = 1 1.18/1.24 [fSNonEmpty] = 0 1.18/1.24 [i] = 0 1.18/1.24 [isList](X) = 0 1.18/1.24 [isNeList](X) = 0 1.18/1.24 [isNePal](X) = X 1.18/1.24 [isPal](X) = 2.X + 2 1.18/1.24 [isQid](X) = 0 1.18/1.24 [nil] = 0 1.18/1.24 [o] = 0 1.18/1.24 [tt] = 0 1.18/1.24 [u] = 2 1.18/1.24 [A__U11](X) = 0 1.18/1.24 [A__U21](X1,X2) = 0 1.18/1.24 [A__U22](X) = 0 1.18/1.24 [A__U31](X) = 0 1.18/1.24 [A__U41](X1,X2) = 0 1.18/1.24 [A__U42](X) = 0 1.18/1.24 [A__U51](X1,X2) = 0 1.18/1.24 [A__U52](X) = 0 1.18/1.24 [A__U61](X) = 0 1.18/1.24 [A__U71](X1,X2) = 0 1.18/1.24 [A__U72](X) = 0 1.18/1.24 [A__U81](X) = 0 1.18/1.24 [A____](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [A__ISLIST](X) = 0 1.18/1.24 [A__ISNELIST](X) = 0 1.18/1.24 [A__ISNEPAL](X) = 0 1.18/1.24 [A__ISPAL](X) = 0 1.18/1.24 [A__ISQID](X) = 0 1.18/1.24 [MARK](X) = 2.X + 1 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 SCC Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Strongly Connected Components: 1.18/1.24 ->->Cycle: 1.18/1.24 ->->-> Pairs: 1.18/1.24 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 ->->-> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 Reduction Pairs Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(__(X:S,Y:S),Z:S) -> MARK(Z:S) 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 -> Usable rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Interpretation type: 1.18/1.24 Linear 1.18/1.24 ->Coefficients: 1.18/1.24 Natural Numbers 1.18/1.24 ->Dimension: 1.18/1.24 1 1.18/1.24 ->Bound: 1.18/1.24 2 1.18/1.24 ->Interpretation: 1.18/1.24 1.18/1.24 [a__U11](X) = X 1.18/1.24 [a__U21](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U22](X) = X + 2 1.18/1.24 [a__U31](X) = X 1.18/1.24 [a__U41](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [a__U42](X) = X + 2 1.18/1.24 [a__U51](X1,X2) = X1 + 2.X2 + 2 1.18/1.24 [a__U52](X) = X + 2 1.18/1.24 [a__U61](X) = 2.X + 1 1.18/1.24 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U72](X) = X + 2 1.18/1.24 [a__U81](X) = X 1.18/1.24 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a__isList](X) = 2.X 1.18/1.24 [a__isNeList](X) = 2.X 1.18/1.24 [a__isNePal](X) = 2.X + 2 1.18/1.24 [a__isPal](X) = 2.X + 2 1.18/1.24 [a__isQid](X) = X 1.18/1.24 [mark](X) = X 1.18/1.24 [U11](X) = X 1.18/1.24 [U21](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U22](X) = X + 2 1.18/1.24 [U31](X) = X 1.18/1.24 [U41](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [U42](X) = X + 2 1.18/1.24 [U51](X1,X2) = X1 + 2.X2 + 2 1.18/1.24 [U52](X) = X + 2 1.18/1.24 [U61](X) = 2.X + 1 1.18/1.24 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U72](X) = X + 2 1.18/1.24 [U81](X) = X 1.18/1.24 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a] = 2 1.18/1.24 [e] = 2 1.18/1.24 [fSNonEmpty] = 0 1.18/1.24 [i] = 2 1.18/1.24 [isList](X) = 2.X 1.18/1.24 [isNeList](X) = 2.X 1.18/1.24 [isNePal](X) = 2.X + 2 1.18/1.24 [isPal](X) = 2.X + 2 1.18/1.24 [isQid](X) = X 1.18/1.24 [nil] = 2 1.18/1.24 [o] = 2 1.18/1.24 [tt] = 2 1.18/1.24 [u] = 2 1.18/1.24 [A__U11](X) = 0 1.18/1.24 [A__U21](X1,X2) = 0 1.18/1.24 [A__U22](X) = 0 1.18/1.24 [A__U31](X) = 0 1.18/1.24 [A__U41](X1,X2) = 0 1.18/1.24 [A__U42](X) = 0 1.18/1.24 [A__U51](X1,X2) = 0 1.18/1.24 [A__U52](X) = 0 1.18/1.24 [A__U61](X) = 0 1.18/1.24 [A__U71](X1,X2) = 0 1.18/1.24 [A__U72](X) = 0 1.18/1.24 [A__U81](X) = 0 1.18/1.24 [A____](X1,X2) = 2.X1 + 2.X2 1.18/1.24 [A__ISLIST](X) = 0 1.18/1.24 [A__ISNELIST](X) = 0 1.18/1.24 [A__ISNEPAL](X) = 0 1.18/1.24 [A__ISPAL](X) = 0 1.18/1.24 [A__ISQID](X) = 0 1.18/1.24 [MARK](X) = 2.X + 2 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 SCC Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Strongly Connected Components: 1.18/1.24 ->->Cycle: 1.18/1.24 ->->-> Pairs: 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 ->->-> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 Reduction Pairs Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(nil,X:S) -> MARK(X:S) 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 -> Usable rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Interpretation type: 1.18/1.24 Linear 1.18/1.24 ->Coefficients: 1.18/1.24 Natural Numbers 1.18/1.24 ->Dimension: 1.18/1.24 1 1.18/1.24 ->Bound: 1.18/1.24 2 1.18/1.24 ->Interpretation: 1.18/1.24 1.18/1.24 [a__U11](X) = X 1.18/1.24 [a__U21](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [a__U22](X) = X + 2 1.18/1.24 [a__U31](X) = X 1.18/1.24 [a__U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U42](X) = X + 2 1.18/1.24 [a__U51](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U52](X) = X + 1 1.18/1.24 [a__U61](X) = X 1.18/1.24 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U72](X) = X + 2 1.18/1.24 [a__U81](X) = X 1.18/1.24 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a__isList](X) = 2.X + 2 1.18/1.24 [a__isNeList](X) = 2.X + 2 1.18/1.24 [a__isNePal](X) = 2.X + 2 1.18/1.24 [a__isPal](X) = 2.X + 2 1.18/1.24 [a__isQid](X) = 2.X + 2 1.18/1.24 [mark](X) = X 1.18/1.24 [U11](X) = X 1.18/1.24 [U21](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [U22](X) = X + 2 1.18/1.24 [U31](X) = X 1.18/1.24 [U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U42](X) = X + 2 1.18/1.24 [U51](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U52](X) = X + 1 1.18/1.24 [U61](X) = X 1.18/1.24 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U72](X) = X + 2 1.18/1.24 [U81](X) = X 1.18/1.24 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a] = 1 1.18/1.24 [e] = 2 1.18/1.24 [fSNonEmpty] = 0 1.18/1.24 [i] = 2 1.18/1.24 [isList](X) = 2.X + 2 1.18/1.24 [isNeList](X) = 2.X + 2 1.18/1.24 [isNePal](X) = 2.X + 2 1.18/1.24 [isPal](X) = 2.X + 2 1.18/1.24 [isQid](X) = 2.X + 2 1.18/1.24 [nil] = 2 1.18/1.24 [o] = 1 1.18/1.24 [tt] = 2 1.18/1.24 [u] = 1 1.18/1.24 [A__U11](X) = 0 1.18/1.24 [A__U21](X1,X2) = 0 1.18/1.24 [A__U22](X) = 0 1.18/1.24 [A__U31](X) = 0 1.18/1.24 [A__U41](X1,X2) = 0 1.18/1.24 [A__U42](X) = 0 1.18/1.24 [A__U51](X1,X2) = 0 1.18/1.24 [A__U52](X) = 0 1.18/1.24 [A__U61](X) = 0 1.18/1.24 [A__U71](X1,X2) = 0 1.18/1.24 [A__U72](X) = 0 1.18/1.24 [A__U81](X) = 0 1.18/1.24 [A____](X1,X2) = 2.X1 + 2.X2 1.18/1.24 [A__ISLIST](X) = 0 1.18/1.24 [A__ISNELIST](X) = 0 1.18/1.24 [A__ISNEPAL](X) = 0 1.18/1.24 [A__ISPAL](X) = 0 1.18/1.24 [A__ISQID](X) = 0 1.18/1.24 [MARK](X) = 2.X + 2 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 SCC Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Strongly Connected Components: 1.18/1.24 ->->Cycle: 1.18/1.24 ->->-> Pairs: 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 ->->-> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 Reduction Pairs Processor: 1.18/1.24 -> Pairs: 1.18/1.24 A____(X:S,nil) -> MARK(X:S) 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 -> Usable rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Interpretation type: 1.18/1.24 Linear 1.18/1.24 ->Coefficients: 1.18/1.24 Natural Numbers 1.18/1.24 ->Dimension: 1.18/1.24 1 1.18/1.24 ->Bound: 1.18/1.24 2 1.18/1.24 ->Interpretation: 1.18/1.24 1.18/1.24 [a__U11](X) = X 1.18/1.24 [a__U21](X1,X2) = X1 + 2.X2 + 1 1.18/1.24 [a__U22](X) = X 1.18/1.24 [a__U31](X) = X 1.18/1.24 [a__U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U42](X) = X + 2 1.18/1.24 [a__U51](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [a__U52](X) = X + 2 1.18/1.24 [a__U61](X) = X 1.18/1.24 [a__U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [a__U72](X) = X + 2 1.18/1.24 [a__U81](X) = X 1.18/1.24 [a____](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a__isList](X) = 2.X + 2 1.18/1.24 [a__isNeList](X) = 2.X + 2 1.18/1.24 [a__isNePal](X) = 2.X + 2 1.18/1.24 [a__isPal](X) = 2.X + 2 1.18/1.24 [a__isQid](X) = 2 1.18/1.24 [mark](X) = X 1.18/1.24 [U11](X) = X 1.18/1.24 [U21](X1,X2) = X1 + 2.X2 + 1 1.18/1.24 [U22](X) = X 1.18/1.24 [U31](X) = X 1.18/1.24 [U41](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U42](X) = X + 2 1.18/1.24 [U51](X1,X2) = 2.X1 + 2.X2 + 1 1.18/1.24 [U52](X) = X + 2 1.18/1.24 [U61](X) = X 1.18/1.24 [U71](X1,X2) = 2.X1 + 2.X2 + 2 1.18/1.24 [U72](X) = X + 2 1.18/1.24 [U81](X) = X 1.18/1.24 [__](X1,X2) = 2.X1 + X2 + 2 1.18/1.24 [a] = 0 1.18/1.24 [e] = 2 1.18/1.24 [fSNonEmpty] = 0 1.18/1.24 [i] = 2 1.18/1.24 [isList](X) = 2.X + 2 1.18/1.24 [isNeList](X) = 2.X + 2 1.18/1.24 [isNePal](X) = 2.X + 2 1.18/1.24 [isPal](X) = 2.X + 2 1.18/1.24 [isQid](X) = 2 1.18/1.24 [nil] = 2 1.18/1.24 [o] = 1 1.18/1.24 [tt] = 2 1.18/1.24 [u] = 1 1.18/1.24 [A__U11](X) = 0 1.18/1.24 [A__U21](X1,X2) = 0 1.18/1.24 [A__U22](X) = 0 1.18/1.24 [A__U31](X) = 0 1.18/1.24 [A__U41](X1,X2) = 0 1.18/1.24 [A__U42](X) = 0 1.18/1.24 [A__U51](X1,X2) = 0 1.18/1.24 [A__U52](X) = 0 1.18/1.24 [A__U61](X) = 0 1.18/1.24 [A__U71](X1,X2) = 0 1.18/1.24 [A__U72](X) = 0 1.18/1.24 [A__U81](X) = 0 1.18/1.24 [A____](X1,X2) = 2.X1 + X2 1.18/1.24 [A__ISLIST](X) = 0 1.18/1.24 [A__ISNELIST](X) = 0 1.18/1.24 [A__ISNEPAL](X) = 0 1.18/1.24 [A__ISPAL](X) = 0 1.18/1.24 [A__ISQID](X) = 0 1.18/1.24 [MARK](X) = 2.X 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 SCC Processor: 1.18/1.24 -> Pairs: 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> A____(mark(X1:S),mark(X2:S)) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Strongly Connected Components: 1.18/1.24 ->->Cycle: 1.18/1.24 ->->-> Pairs: 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 ->->-> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 Subterm Processor: 1.18/1.24 -> Pairs: 1.18/1.24 MARK(U11(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U21(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U22(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U31(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U41(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U42(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U51(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U52(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U61(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U71(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(U72(X:S)) -> MARK(X:S) 1.18/1.24 MARK(U81(X:S)) -> MARK(X:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X1:S) 1.18/1.24 MARK(__(X1:S,X2:S)) -> MARK(X2:S) 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Projection: 1.18/1.24 pi(MARK) = 1 1.18/1.24 1.18/1.24 Problem 1.3: 1.18/1.24 1.18/1.24 SCC Processor: 1.18/1.24 -> Pairs: 1.18/1.24 Empty 1.18/1.24 -> Rules: 1.18/1.24 a__U11(tt) -> tt 1.18/1.24 a__U11(X:S) -> U11(X:S) 1.18/1.24 a__U21(tt,V2:S) -> a__U22(a__isList(V2:S)) 1.18/1.24 a__U21(X1:S,X2:S) -> U21(X1:S,X2:S) 1.18/1.24 a__U22(tt) -> tt 1.18/1.24 a__U22(X:S) -> U22(X:S) 1.18/1.24 a__U31(tt) -> tt 1.18/1.24 a__U31(X:S) -> U31(X:S) 1.18/1.24 a__U41(tt,V2:S) -> a__U42(a__isNeList(V2:S)) 1.18/1.24 a__U41(X1:S,X2:S) -> U41(X1:S,X2:S) 1.18/1.24 a__U42(tt) -> tt 1.18/1.24 a__U42(X:S) -> U42(X:S) 1.18/1.24 a__U51(tt,V2:S) -> a__U52(a__isList(V2:S)) 1.18/1.24 a__U51(X1:S,X2:S) -> U51(X1:S,X2:S) 1.18/1.24 a__U52(tt) -> tt 1.18/1.24 a__U52(X:S) -> U52(X:S) 1.18/1.24 a__U61(tt) -> tt 1.18/1.24 a__U61(X:S) -> U61(X:S) 1.18/1.24 a__U71(tt,P:S) -> a__U72(a__isPal(P:S)) 1.18/1.24 a__U71(X1:S,X2:S) -> U71(X1:S,X2:S) 1.18/1.24 a__U72(tt) -> tt 1.18/1.24 a__U72(X:S) -> U72(X:S) 1.18/1.24 a__U81(tt) -> tt 1.18/1.24 a__U81(X:S) -> U81(X:S) 1.18/1.24 a____(__(X:S,Y:S),Z:S) -> a____(mark(X:S),a____(mark(Y:S),mark(Z:S))) 1.18/1.24 a____(nil,X:S) -> mark(X:S) 1.18/1.24 a____(X:S,nil) -> mark(X:S) 1.18/1.24 a____(X1:S,X2:S) -> __(X1:S,X2:S) 1.18/1.24 a__isList(__(V1:S,V2:S)) -> a__U21(a__isList(V1:S),V2:S) 1.18/1.24 a__isList(nil) -> tt 1.18/1.24 a__isList(V:S) -> a__U11(a__isNeList(V:S)) 1.18/1.24 a__isList(X:S) -> isList(X:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U41(a__isList(V1:S),V2:S) 1.18/1.24 a__isNeList(__(V1:S,V2:S)) -> a__U51(a__isNeList(V1:S),V2:S) 1.18/1.24 a__isNeList(V:S) -> a__U31(a__isQid(V:S)) 1.18/1.24 a__isNeList(X:S) -> isNeList(X:S) 1.18/1.24 a__isNePal(__(I:S,__(P:S,I:S))) -> a__U71(a__isQid(I:S),P:S) 1.18/1.24 a__isNePal(V:S) -> a__U61(a__isQid(V:S)) 1.18/1.24 a__isNePal(X:S) -> isNePal(X:S) 1.18/1.24 a__isPal(nil) -> tt 1.18/1.24 a__isPal(V:S) -> a__U81(a__isNePal(V:S)) 1.18/1.24 a__isPal(X:S) -> isPal(X:S) 1.18/1.24 a__isQid(a) -> tt 1.18/1.24 a__isQid(e) -> tt 1.18/1.24 a__isQid(i) -> tt 1.18/1.24 a__isQid(o) -> tt 1.18/1.24 a__isQid(u) -> tt 1.18/1.24 a__isQid(X:S) -> isQid(X:S) 1.18/1.24 mark(U11(X:S)) -> a__U11(mark(X:S)) 1.18/1.24 mark(U21(X1:S,X2:S)) -> a__U21(mark(X1:S),X2:S) 1.18/1.24 mark(U22(X:S)) -> a__U22(mark(X:S)) 1.18/1.24 mark(U31(X:S)) -> a__U31(mark(X:S)) 1.18/1.24 mark(U41(X1:S,X2:S)) -> a__U41(mark(X1:S),X2:S) 1.18/1.24 mark(U42(X:S)) -> a__U42(mark(X:S)) 1.18/1.24 mark(U51(X1:S,X2:S)) -> a__U51(mark(X1:S),X2:S) 1.18/1.24 mark(U52(X:S)) -> a__U52(mark(X:S)) 1.18/1.24 mark(U61(X:S)) -> a__U61(mark(X:S)) 1.18/1.24 mark(U71(X1:S,X2:S)) -> a__U71(mark(X1:S),X2:S) 1.18/1.24 mark(U72(X:S)) -> a__U72(mark(X:S)) 1.18/1.24 mark(U81(X:S)) -> a__U81(mark(X:S)) 1.18/1.24 mark(__(X1:S,X2:S)) -> a____(mark(X1:S),mark(X2:S)) 1.18/1.24 mark(a) -> a 1.18/1.24 mark(e) -> e 1.18/1.24 mark(i) -> i 1.18/1.24 mark(isList(X:S)) -> a__isList(X:S) 1.18/1.24 mark(isNeList(X:S)) -> a__isNeList(X:S) 1.18/1.24 mark(isNePal(X:S)) -> a__isNePal(X:S) 1.18/1.24 mark(isPal(X:S)) -> a__isPal(X:S) 1.18/1.24 mark(isQid(X:S)) -> a__isQid(X:S) 1.18/1.24 mark(nil) -> nil 1.18/1.24 mark(o) -> o 1.18/1.24 mark(tt) -> tt 1.18/1.24 mark(u) -> u 1.18/1.24 ->Strongly Connected Components: 1.18/1.24 There is no strongly connected component 1.18/1.24 1.18/1.24 The problem is finite. 1.18/1.24 EOF